summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * Re-implement get unused locationGravatar Feng Chen2021-09-071-30/+30
| |
| * Move attribute related definitions to spirv anonymous namespaceGravatar Feng Chen2021-09-072-5/+26
| |
| * Dynamic get unused locationGravatar Feng Chen2021-09-061-27/+49
| |
| * Implement intput and output fixed fnc texturesGravatar Feng Chen2021-09-063-19/+23
| |
| * Rename parametersGravatar Feng Chen2021-09-033-9/+9
| |
| * Fix create GraphicsPipelines crashGravatar Feng Chen2021-09-031-5/+5
| |
| * Add input/output locationGravatar Feng Chen2021-09-021-5/+13
| |
| * Add colorfront and txtcoord supportGravatar Feng Chen2021-09-013-0/+44
| |
* | emit_spirv_context_get_set: Fix Get FrontFace return valueGravatar ameerj2021-08-261-2/+3
|/ | | | The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
* SPIR-V: Merge two ifs in EmitGetAttributeGravatar Valeri2021-08-191-6/+2
|
* emit_spirv_instructions: Add missing header guardGravatar Lioncash2021-07-261-0/+2
|
* shader: Fix disabled attribute default valuesGravatar ameerj2021-07-221-1/+1
|
* shader_recompiler, video_core: Resolve clang errorsGravatar lat9nq2021-07-221-5/+10
| | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
* shader: Ignore global memory ops on devices lacking int64 supportGravatar ameerj2021-07-222-7/+31
|
* emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaGravatar ReinUsesLisp2021-07-221-5/+8
| | | | Fix regression on Fire Emblem: Three Houses when using native fp16.
* shader: GCC fmt 8.0.0 fixesGravatar lat9nq2021-07-221-2/+3
|
* shader: Fix disabled and unwritten attributes and varyingsGravatar ReinUsesLisp2021-07-221-1/+5
|
* spirv: Fix code emission when descriptor aliasing is unsupportedGravatar ReinUsesLisp2021-07-221-1/+2
| | | | Fixes OpenGL.
* shader: Rework varyings and implement passthrough geometry shadersGravatar ReinUsesLisp2021-07-224-50/+70
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* shader: Remove IAbs64Gravatar ReinUsesLisp2021-07-222-5/+0
|
* shader: Move loop safety tests to code emissionGravatar ReinUsesLisp2021-07-223-11/+18
|
* spirv: Properly handle devices without int8 and int16Gravatar ReinUsesLisp2021-07-222-39/+67
|
* spirv: Handle small storage buffer loads on devices with no supportGravatar ReinUsesLisp2021-07-222-6/+6
|
* shader: Properly manage attributes not written from previous stagesGravatar ReinUsesLisp2021-07-222-1/+4
|
* shader: Split profile and runtime info headersGravatar ReinUsesLisp2021-07-221-0/+1
|
* spirv: Reduce log severity of mismatching denorm rulesGravatar ReinUsesLisp2021-07-221-2/+2
|
* shader: Add loggingGravatar ReinUsesLisp2021-07-224-11/+11
|
* shader: Add shader loop safety check settingsGravatar lat9nq2021-07-222-8/+18
| | | | Also add a setting for enable Nsight Aftermath.
* spirv/convert: Catch more signed operations oversightsGravatar ameerj2021-07-221-5/+5
| | | | The sign bit on integers of size < 32 was not properly preserved in casts
* spirv/convert: Catch more broken signed operations on Nvidia OpenGLGravatar ReinUsesLisp2021-07-221-0/+6
| | | | | BitCast U32 to S32 before converting to float on drivers with broken signed operations.
* shader: Add support for "negative" and unaligned offsetsGravatar ReinUsesLisp2021-07-221-6/+3
| | | | | | | | | "Negative" offsets don't exist. They are shown as such due to a bug in nvdisasm. Unaligned offsets have been proved to read the aligned offset. For example, when reading an U32, if the offset is 6, the offset read will be 4.
* spirv: Fix output generics with componentsGravatar ReinUsesLisp2021-07-221-1/+1
|
* opengl: Declare fragment outputs even if they are not usedGravatar ReinUsesLisp2021-07-221-1/+1
| | | | | | 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.
* spirv: Fix image and image buffer descriptor index usageGravatar ReinUsesLisp2021-07-221-5/+7
|
* shader: Split profile and runtime information in separate structsGravatar ReinUsesLisp2021-07-226-33/+42
|
* shader: Read branch conditions from an instructionGravatar ReinUsesLisp2021-07-222-2/+11
| | | | Fixes the identity removal pass.
* glasm: Implement TEX and TEXS instructionsGravatar ReinUsesLisp2021-07-222-6/+6
| | | | | Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
* shader_recompiler: GCC fixesGravatar lat9nq2021-07-221-16/+16
| | | | | Fixes members of unnamed union not being accessible, and one function without a declaration.
* emit_spirv: Jump to loop body with local variableGravatar ReinUsesLisp2021-07-221-1/+1
| | | | Silence unused variable warning
* emit_spirv: Add missing block in caseGravatar ReinUsesLisp2021-07-221-1/+2
|
* glasm: Initial implementation of phi nodes on GLASMGravatar ReinUsesLisp2021-07-222-2/+7
|
* glasm: Rework control flow introducing a syntax listGravatar ReinUsesLisp2021-07-225-49/+74
| | | | | This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
* glasm: Implement shuffle and vote instructions on GLASMGravatar ReinUsesLisp2021-07-222-2/+4
|
* shader: Fixup SPIR-V emit header namespacesGravatar ReinUsesLisp2021-07-221-2/+2
|
* Move SPIR-V emission functions to their own headerGravatar ReinUsesLisp2021-07-2222-572/+610
|
* shader: Optimize NVN FallthroughGravatar FernandoS272021-07-221-0/+3
|
* shader: Implement Int32 SUATOM/SUREDGravatar ameerj2021-07-225-0/+233
|
* spirv: Be aware of NAN unaware driversGravatar ReinUsesLisp2021-07-221-18/+40
|
* spirv: Add SSBO read fallbacks when no aliasing is availableGravatar ReinUsesLisp2021-07-221-37/+99
|
* spirv: Add OpKill fallback to demoteGravatar ReinUsesLisp2021-07-221-2/+6
|