Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-07-22 | shader: Address feedback | FernandoS27 | |
2021-07-22 | shader: Implement VertexA stage | FernandoS27 | |
2021-07-22 | shader: Implement delegation of Exit to dispatcher on CFG | FernandoS27 | |
2021-07-22 | vk_graphics_pipeline: Fix texture buffer descriptors | ReinUsesLisp | |
2021-07-22 | shader: Fix IADD3.CC | ameerj | |
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 | shader: Fix BFE s32 undefined check | ameerj | |
Our unit tests were hitting this exception. | |||
2021-07-22 | vk_compute_pipeline: Fix index comparison oversight on compute texture buffers | ReinUsesLisp | |
2021-07-22 | shader: Fix error checking in bitfieldExtract and implement bitfieldInsert ↵ | ReinUsesLisp | |
folding | |||
2021-07-22 | vulkan_device: Require shaderClipDistance and shaderCullDistance features | ReinUsesLisp | |
2021-07-22 | vk_graphics_pipeline: Guard against non-tessellation pipelines using patches | ReinUsesLisp | |
2021-07-22 | shader: Fix storage type when reading patches on tess control | ReinUsesLisp | |
2021-07-22 | shader: Fix VMNMX selector B | 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: Increase the maximum number of storage buffers | ReinUsesLisp | |
Compute shaders spill uniform buffers on storage buffers, increasing the expected number. | |||
2021-07-22 | shader: Remove identity removal pass for better build times | ReinUsesLisp | |
2021-07-22 | shader: Add more strict validation the pass | ReinUsesLisp | |
2021-07-22 | shader: Fix forward referencing identity instructions when inserting phi | ReinUsesLisp | |
2021-07-22 | shader: Remove invalidated blocks in dead code elimination pass | ReinUsesLisp | |
2021-07-22 | shader: Add missing UndoUse case for GetSparseFromOp | ReinUsesLisp | |
2021-07-22 | shader: Require dual source blending | ReinUsesLisp | |
2021-07-22 | shader: Simplify code in opcodes.h to fix Intellisense | ReinUsesLisp | |
Avoid using std::array to fix Intellisense not properly compiling this code and disabling itself on all files that include it. While we are at it, change the code to use u8 instead of size_t for the number of instructions in an opcode. | |||
2021-07-22 | shader: Implement indexed textures | ReinUsesLisp | |
2021-07-22 | shader: Refactor atomic_operations_global_memory | ameerj | |
2021-07-22 | shader: add missing include guard in half_floating_point_helper.h | ameerj | |
2021-07-22 | shader: Fix gcc warnings | ReinUsesLisp | |
2021-07-22 | shader: Inline common Value getters | ReinUsesLisp | |
2021-07-22 | shader: Intrusively store in a block if it's sealed or not | ReinUsesLisp | |
2021-07-22 | cmake: Link to common in shader_recompiler | ReinUsesLisp | |
2021-07-22 | shader: Improve goto removal algorithm complexity | ReinUsesLisp | |
Find sibling node containing a nephew searching from the nephew itself instead of the uncle. | |||
2021-07-22 | shader: Use memset to reset instruction arguments | ReinUsesLisp | |
2021-07-22 | shader: Inline common Value functions into the header | ReinUsesLisp | |
2021-07-22 | shader: Move microinstruction header to the value header | ReinUsesLisp | |
2021-07-22 | shader: Move siblings check to a separate function and comment them out | ReinUsesLisp | |
2021-07-22 | shader: Intrusively store register values in block for SSA pass | ReinUsesLisp | |
2021-07-22 | shader: Inline common Opcode and Inst functions | ReinUsesLisp | |
2021-07-22 | shader: Inline common IR::Block methods | ReinUsesLisp | |
2021-07-22 | shader: Use a small_vector for phi blocks | ReinUsesLisp | |
2021-07-22 | shader: Calculate number of arguments in an opcode at compile time | ReinUsesLisp | |
2021-07-22 | shader: Implement D3D samplers | ReinUsesLisp | |
2021-07-22 | shader: Add constant propagation for arithmetic right shifts | ReinUsesLisp | |
2021-07-22 | shader: Simplify code for local memory | ReinUsesLisp | |
2021-07-22 | shader: Add NVN storage buffer fallbacks | ReinUsesLisp | |
When we can't track the SSBO origin of a global memory instruction, leave it as a global memory operation and assume these pointers are in the NVN storage buffer slots, then apply a linear search in the shader's runtime. |