summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* spirv: Do not enable ShaderLayerGravatar ReinUsesLisp2021-07-221-3/+0
| | | | This is enabled by an extension instead of the capability.
* spirv: Enable DemoteToHelperInvocationEXT only when supportedGravatar ReinUsesLisp2021-07-221-1/+1
|
* spirv: Use OriginLowerLeft when requestedGravatar ReinUsesLisp2021-07-221-1/+5
|
* spirv: Only add image operands mask when neededGravatar ReinUsesLisp2021-07-221-5/+9
|
* spirv: Workaround image unsigned offset bugGravatar ReinUsesLisp2021-07-222-9/+26
| | | | | Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned texture offsets.
* spirv: Add int8 and int16 capabilities only when supportedGravatar ReinUsesLisp2021-07-221-2/+2
|
* spirv: Add integer clamping workaroundsGravatar ReinUsesLisp2021-07-221-4/+34
| | | | Workaround more bugs on Nvidia's OpenGL SPIR-V compiler.
* spirv: Implement int8 and int16 conversion fallbacksGravatar ReinUsesLisp2021-07-221-19/+80
|
* spirv: Support OpenGL uniform buffers and change bindingsGravatar ReinUsesLisp2021-07-226-58/+168
|
* spirv: Desambiguate descriptor namesGravatar ReinUsesLisp2021-07-221-9/+37
| | | | | Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are used for name matching.
* shader: Add OpenGL shader profile optionsGravatar ReinUsesLisp2021-07-221-0/+11
|
* shader: Remove shader utilGravatar ReinUsesLisp2021-07-224-176/+0
|
* shader: Address feedbackGravatar FernandoS272021-07-225-44/+42
|
* shader: Implement VertexA stageGravatar FernandoS272021-07-2212-3/+180
|
* shader: Implement delegation of Exit to dispatcher on CFGGravatar FernandoS272021-07-222-3/+47
|
* vk_graphics_pipeline: Fix texture buffer descriptorsGravatar ReinUsesLisp2021-07-221-7/+8
|
* shader: Fix IADD3.CCGravatar ameerj2021-07-221-12/+5
|
* vk_scheduler: Allow command submission on worker threadGravatar ReinUsesLisp2021-07-228-182/+200
| | | | | | | | | | | | 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.
* vk_compute_pass: Fix -Wshadow warningGravatar ReinUsesLisp2021-07-221-3/+3
|
* shader: Move pipeline cache logic to separate filesGravatar ReinUsesLisp2021-07-2212-824/+1095
| | | | | | | | | 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.
* vulkan: Defer descriptor set work to the Vulkan threadGravatar ReinUsesLisp2021-07-228-79/+69
| | | | | | | 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.
* vulkan: Rework descriptor allocation algorithmGravatar ReinUsesLisp2021-07-2215-197/+314
| | | | | | 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.
* vk_graphics_pipeline: Generate specialized pipeline config functions and ↵Gravatar ReinUsesLisp2021-07-222-31/+230
| | | | improve code
* shader: Accelerate pipeline transitions and use dirty flags for shadersGravatar ReinUsesLisp2021-07-229-64/+114
|
* shader: Fix BFE s32 undefined checkGravatar ameerj2021-07-221-1/+1
| | | | Our unit tests were hitting this exception.
* vk_compute_pipeline: Fix index comparison oversight on compute texture buffersGravatar ReinUsesLisp2021-07-221-1/+1
|
* shader: Fix error checking in bitfieldExtract and implement bitfieldInsert ↵Gravatar ReinUsesLisp2021-07-221-5/+14
| | | | folding
* vulkan_device: Require shaderClipDistance and shaderCullDistance featuresGravatar ReinUsesLisp2021-07-221-2/+4
|
* vk_graphics_pipeline: Guard against non-tessellation pipelines using patchesGravatar ReinUsesLisp2021-07-221-2/+8
|
* shader: Fix storage type when reading patches on tess controlGravatar ReinUsesLisp2021-07-221-1/+2
|
* shader: Fix VMNMX selector BGravatar ReinUsesLisp2021-07-221-1/+2
|
* shader: Fix bugs and build issues on GCCGravatar Rodrigo Locatti2021-07-223-4/+4
|
* shader: Fix render targets with null attachmentsGravatar ReinUsesLisp2021-07-222-26/+34
|
* shader: Increase the maximum number of storage buffersGravatar ReinUsesLisp2021-07-221-1/+1
| | | | | Compute shaders spill uniform buffers on storage buffers, increasing the expected number.
* shader: Remove identity removal pass for better build timesGravatar ReinUsesLisp2021-07-221-1/+0
|
* shader: Add more strict validation the passGravatar ReinUsesLisp2021-07-221-0/+42
|
* shader: Fix forward referencing identity instructions when inserting phiGravatar ReinUsesLisp2021-07-221-11/+13
|
* shader: Remove invalidated blocks in dead code elimination passGravatar ReinUsesLisp2021-07-221-3/+6
|
* shader: Add missing UndoUse case for GetSparseFromOpGravatar ReinUsesLisp2021-07-221-0/+4
|
* shader: Require dual source blendingGravatar ReinUsesLisp2021-07-221-1/+2
|
* shader: Simplify code in opcodes.h to fix IntellisenseGravatar ReinUsesLisp2021-07-221-8/+6
| | | | | | | | 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.
* shader: Implement indexed texturesGravatar ReinUsesLisp2021-07-2210-157/+284
|
* shader: Refactor atomic_operations_global_memoryGravatar ameerj2021-07-221-44/+36
|
* shader: add missing include guard in half_floating_point_helper.hGravatar ameerj2021-07-221-0/+2
|
* shader: Fix gcc warningsGravatar ReinUsesLisp2021-07-222-2/+2
|
* shader: Inline common Value gettersGravatar ReinUsesLisp2021-07-222-109/+102
|
* shader: Intrusively store in a block if it's sealed or notGravatar ReinUsesLisp2021-07-222-3/+11
|
* cmake: Link to common in shader_recompilerGravatar ReinUsesLisp2021-07-221-1/+1
|
* shader: Improve goto removal algorithm complexityGravatar ReinUsesLisp2021-07-221-49/+28
| | | | | Find sibling node containing a nephew searching from the nephew itself instead of the uncle.
* shader: Use memset to reset instruction argumentsGravatar ReinUsesLisp2021-07-222-4/+7
|