| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-07-22 | vk_rasterizer: Flush work on clear and dispatches | ReinUsesLisp | |
| 2021-07-22 | vk_swapchain: Handle outdated swapchains | ReinUsesLisp | |
| Fixes pixelated presentation on Intel devices. | |||
| 2021-07-22 | vk_buffer_cache: Handle null texture buffers | ReinUsesLisp | |
| Fixes a crash on Age of Calamity cutscenes. | |||
| 2021-07-22 | vk_pipeline_cache: Set support_derivative_control to true | ReinUsesLisp | |
| 2021-07-22 | buffer_cache: Reduce uniform buffer size from shader usage | ReinUsesLisp | |
| Increases performance significantly on certain titles. | |||
| 2021-07-22 | fixed_pipeline_state: Use regular for loop instead of ranges for perf | ReinUsesLisp | |
| MSVC generates better code for it. | |||
| 2021-07-22 | vk_swapchain: Avoid recreating the swapchain on each frame | ReinUsesLisp | |
| Recreate only when requested (or sRGB is changed) instead of tracking the frontend's size. That size is still used as a hint. | |||
| 2021-07-22 | vulkan: Conditionally use shaderInt16 | ReinUsesLisp | |
| Add support for Polaris AMD devices. | |||
| 2021-07-22 | vulkan: Enable depth bounds and use it conditionally | ReinUsesLisp | |
| Intel devices pre-Xe don't support this. | |||
| 2021-07-22 | vk_buffer_cache: Add transform feedback usage to buffers | ReinUsesLisp | |
| 2021-07-22 | opengl: Declare fragment outputs even if they are not used | ReinUsesLisp | |
| Fixes Ori and the Blind Forest's menu on GLASM. For some reason (probably high level optimizations) it is not sanitized on SPIR-V for OpenGL. Vulkan is unaffected by this change. | |||
| 2021-07-22 | buffer_cache: Mark uniform buffers as dirty if any enable bit changes | ReinUsesLisp | |
| 2021-07-22 | shader: Handle host exceptions | ReinUsesLisp | |
| 2021-07-22 | video_core,shader: Clang-format fixes | ReinUsesLisp | |
| 2021-07-22 | video_core: Abstract transform feedback translation utility | ReinUsesLisp | |
| 2021-07-22 | shader: Split profile and runtime information in separate structs | ReinUsesLisp | |
| 2021-07-22 | vk_update_descriptor: Properly initialize payload on the update descriptor queue | ReinUsesLisp | |
| 2021-07-22 | vk_pipeline_cache: Enable int8 and int16 types on Vulkan | ReinUsesLisp | |
| 2021-07-22 | vk_scheduler: Use locks instead of SPSC a queue | ReinUsesLisp | |
| This tries to fix a data race where we'd wait forever for the GPU. | |||
| 2021-07-22 | vk_query_cache: Wait before reading queries | ReinUsesLisp | |
| 2021-07-22 | vk_master_semaphore: Use fetch_add to increase master semaphore tick | ReinUsesLisp | |
| 2021-07-22 | Move SPIR-V emission functions to their own header | ReinUsesLisp | |
| 2021-07-22 | shader: Initial OpenGL implementation | ReinUsesLisp | |
| 2021-07-22 | spirv: Support OpenGL uniform buffers and change bindings | ReinUsesLisp | |
| 2021-07-22 | shader: Address feedback | FernandoS27 | |
| 2021-07-22 | shader: Implement VertexA stage | FernandoS27 | |
| 2021-07-22 | vk_graphics_pipeline: Fix texture buffer descriptors | ReinUsesLisp | |
| 2021-07-22 | vk_scheduler: Allow command submission on worker thread | ReinUsesLisp | |
| This changes how Scheduler::Flush works. It queues the current command buffer to be sent to the GPU but does not do it immediately. The Vulkan worker thread takes care of that. Users will have to use Scheduler::Flush + Scheduler::WaitWorker to get the previous behavior. Scheduler::Finish is unchanged. To avoid waiting on work never queued, Scheduler::Wait sends the current command buffer if that's what the caller wants to wait. | |||
| 2021-07-22 | vk_compute_pass: Fix -Wshadow warning | ReinUsesLisp | |
| 2021-07-22 | shader: Move pipeline cache logic to separate files | ReinUsesLisp | |
| Move code to separate files to be able to reuse it from OpenGL. This greatly simplifies the pipeline cache logic on Vulkan. Transform feedback state is not yet abstracted and it's still intrusively stored inside vk_pipeline_cache. It will be moved when needed on OpenGL. | |||
| 2021-07-22 | vulkan: Defer descriptor set work to the Vulkan thread | ReinUsesLisp | |
| Move descriptor lookup and update code to a separate thread. Delaying this removes work from the main GPU thread and allows creating descriptor layouts on another thread. This reduces a bit the workload of the main thread when new pipelines are encountered. | |||
| 2021-07-22 | vulkan: Rework descriptor allocation algorithm | ReinUsesLisp | |
| Create multiple descriptor pools on demand. There are some degrees of freedom what is considered a compatible pool to avoid wasting large pools on small descriptors. | |||
| 2021-07-22 | vk_graphics_pipeline: Generate specialized pipeline config functions and ↵ | ReinUsesLisp | |
| improve code | |||
| 2021-07-22 | shader: Accelerate pipeline transitions and use dirty flags for shaders | ReinUsesLisp | |
| 2021-07-22 | vk_compute_pipeline: Fix index comparison oversight on compute texture buffers | ReinUsesLisp | |
| 2021-07-22 | vk_graphics_pipeline: Guard against non-tessellation pipelines using patches | ReinUsesLisp | |
| 2021-07-22 | shader: Fix bugs and build issues on GCC | Rodrigo Locatti | |
| 2021-07-22 | shader: Fix render targets with null attachments | ReinUsesLisp | |
| 2021-07-22 | shader: Implement indexed textures | ReinUsesLisp | |
| 2021-07-22 | shader: Move microinstruction header to the value header | ReinUsesLisp | |
| 2021-07-22 | shader: Implement D3D samplers | ReinUsesLisp | |
| 2021-07-22 | shader: Implement SR_Y_DIRECTION | FernandoS27 | |
| 2021-07-22 | spirv: Implement ViewportMask with NV_viewport_array2 | ReinUsesLisp | |
| 2021-07-22 | shader: Implement tessellation shaders, polygon mode and invocation id | ReinUsesLisp | |
| 2021-07-22 | vk_pipeline_cache: Silence GCC warnings | lat9nq | |
| Silences `-Werror=missing-field-initializers` due to missing initializers. | |||
| 2021-07-22 | spirv: Implement image buffers | ReinUsesLisp | |
| 2021-07-22 | spirv: Implement alpha test | ameerj | |
| 2021-07-22 | shader: Implement transform feedbacks and define file format | ReinUsesLisp | |
| 2021-07-22 | shader: Implement early Z tests | ReinUsesLisp | |
| 2021-07-22 | shader: Implement geometry shaders | ReinUsesLisp | |
