aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/spirv
AgeCommit message (Collapse)Author
2021-09-06Dynamic get unused locationFeng Chen
2021-09-06Implement intput and output fixed fnc texturesFeng Chen
2021-09-03Rename parametersFeng Chen
2021-09-03Fix create GraphicsPipelines crashFeng Chen
2021-09-02Add input/output locationFeng Chen
2021-08-31emit_spirv_warp: Fix shuffle ops for 64-thread warp sizesameerj
2021-08-31emit_spirv_warp: Fix ballot related ops for 64-thread warp sizesameerj
2021-09-01Add colorfront and txtcoord supportFeng Chen
2021-08-26emit_spirv_context_get_set: Fix Get FrontFace return valueameerj
The IR expects GetAttribute to return an F32 value. This case was returning a U32 instead.
2021-08-19SPIR-V: Merge two ifs in EmitGetAttributeValeri
2021-07-26emit_spirv_instructions: Add missing header guardLioncash
2021-07-22shader: Fix disabled attribute default valuesameerj
2021-07-22shader_recompiler, video_core: Resolve clang errorslat9nq
Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
2021-07-22shader: Ignore global memory ops on devices lacking int64 supportameerj
2021-07-22emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 NvidiaReinUsesLisp
Fix regression on Fire Emblem: Three Houses when using native fp16.
2021-07-22shader: GCC fmt 8.0.0 fixeslat9nq
2021-07-22shader: Fix disabled and unwritten attributes and varyingsReinUsesLisp
2021-07-22spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp
Fixes OpenGL.
2021-07-22shader: Rework varyings and implement passthrough geometry shadersReinUsesLisp
Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
2021-07-22shader: Remove IAbs64ReinUsesLisp
2021-07-22shader: Move loop safety tests to code emissionReinUsesLisp
2021-07-22spirv: Properly handle devices without int8 and int16ReinUsesLisp
2021-07-22spirv: Handle small storage buffer loads on devices with no supportReinUsesLisp
2021-07-22shader: Properly manage attributes not written from previous stagesReinUsesLisp
2021-07-22shader: Split profile and runtime info headersReinUsesLisp
2021-07-22spirv: Reduce log severity of mismatching denorm rulesReinUsesLisp
2021-07-22shader: Add loggingReinUsesLisp
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-22spirv/convert: Catch more signed operations oversightsameerj
The sign bit on integers of size < 32 was not properly preserved in casts
2021-07-22spirv/convert: Catch more broken signed operations on Nvidia OpenGLReinUsesLisp
BitCast U32 to S32 before converting to float on drivers with broken signed operations.
2021-07-22shader: Add support for "negative" and unaligned offsetsReinUsesLisp
"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.
2021-07-22spirv: Fix output generics with componentsReinUsesLisp
2021-07-22opengl: Declare fragment outputs even if they are not usedReinUsesLisp
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-22spirv: Fix image and image buffer descriptor index usageReinUsesLisp
2021-07-22shader: Split profile and runtime information in separate structsReinUsesLisp
2021-07-22shader: Read branch conditions from an instructionReinUsesLisp
Fixes the identity removal pass.
2021-07-22glasm: Implement TEX and TEXS instructionsReinUsesLisp
Remove lod clamp from texture instructions with lod, as this is not needed (nor supported).
2021-07-22shader_recompiler: GCC fixeslat9nq
Fixes members of unnamed union not being accessible, and one function without a declaration.
2021-07-22emit_spirv: Jump to loop body with local variableReinUsesLisp
Silence unused variable warning
2021-07-22emit_spirv: Add missing block in caseReinUsesLisp
2021-07-22glasm: Initial implementation of phi nodes on GLASMReinUsesLisp
2021-07-22glasm: Rework control flow introducing a syntax listReinUsesLisp
This commit regresses VertexA shaders, their transformation pass has to be adapted to the new control flow.
2021-07-22glasm: Implement shuffle and vote instructions on GLASMReinUsesLisp
2021-07-22shader: Fixup SPIR-V emit header namespacesReinUsesLisp
2021-07-22Move SPIR-V emission functions to their own headerReinUsesLisp
2021-07-22shader: Optimize NVN FallthroughFernandoS27
2021-07-22shader: Implement Int32 SUATOM/SUREDameerj
2021-07-22spirv: Be aware of NAN unaware driversReinUsesLisp
2021-07-22spirv: Add SSBO read fallbacks when no aliasing is availableReinUsesLisp
2021-07-22spirv: Add OpKill fallback to demoteReinUsesLisp