aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell
AgeCommit message (Collapse)Author
2021-11-16Shader: Don't rescale FragCoord if used by ShuffleFernando Sahmkow
2021-11-16spirv: Implement rescaling patchingReinUsesLisp
2021-10-31ShaderCache: Order Phi Arguments from farthest away to nearest.Fernando Sahmkow
2021-08-30structured_control_flow: Skip reordering nested demote branches.ameerj
Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
2021-08-30structured_control_flow: Conditionally invoke demote reorder passameerj
This is only needed on select drivers when a fragment shader discards/demotes.
2021-08-28structured_control_flow: Add DemoteCombinationPassameerj
Some drivers misread data when demotes are interleaved in the program. This moves demote branches to be checked at the end of the program. Fixes "wireframe" issue in Pokemon SwSh on some drivers
2021-07-26control_flow: Fix duplicate switch case in OpcodeTokenLioncash
This previously duplicated the case of the PBK case above it.
2021-07-22shader: Support out of bound local memory reads and immediate writesReinUsesLisp
Support ignoring immediate out of bound writes. Writing dynamically out of bounds is not yet supported (e.g. R0+0x4). Reading out of bounds yields zero. This is supported checking for the size from the IR; if the input is immediate, the optimization passes will drop it.
2021-07-22shader: Implement ISETP.Xameerj
2021-07-22shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp
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: Manually convert from array<u32> to bitset instead of using bit_castReinUsesLisp
2021-07-22shader: GCC fmt 8.0.0 fixeslat9nq
2021-07-22shader: Account for 33-bit IADD3 scenarioameerj
2021-07-22shader: Only apply shift on register mode for IADD3ReinUsesLisp
2021-07-22shader: Use std::bit_cast instead of Common::BitCast for passthroughReinUsesLisp
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: Only verify shader when graphics debugging is enabledReinUsesLisp
2021-07-22shader: Emulate 64-bit integers when not supportedReinUsesLisp
Useful for mobile and Intel Xe devices.
2021-07-22shader_recompiler: Fix IADD3 input partitioningameerj
2021-07-22shader: Move loop safety tests to code emissionReinUsesLisp
2021-07-22shader: Calibrate loop safety thresholdReinUsesLisp
2021-07-22shader: Simplify MergeDualVertexProgramsReinUsesLisp
2021-07-22shader: Properly manage attributes not written from previous stagesReinUsesLisp
2021-07-22shader: Add support for native 16-bit floatsReinUsesLisp
2021-07-22shader: Rename maxwell/program.h to translate_program.hReinUsesLisp
2021-07-22shader: Fix loop safety to SSA passReinUsesLisp
2021-07-22shader: Add loggingReinUsesLisp
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-22shader: Comment why the array component is not read in TMMLReinUsesLisp
2021-07-22tmml: Remove index component from coords vecameerj
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
2021-07-22shader: Fix VertexA Shaders.FernandoS27
2021-07-22shader: Add 2D and 3D variants to SUATOM and SUREDReinUsesLisp
Used by Claybook.
2021-07-22shader: Avoid CPU side undefined behavior on I2FReinUsesLisp
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-22shader: Implement ISCADD32IReinUsesLisp
2021-07-22shader: Always initialize up reference in structure control flowReinUsesLisp
Fixes ubsan issue.
2021-07-22shader: Fix ImageWrite indexingReinUsesLisp
2021-07-22shader: Fix TMML queriesReinUsesLisp
2021-07-22shader: Handle host exceptionsReinUsesLisp
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-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-22shader: Add floating-point rounding to I2FReinUsesLisp
2021-07-22shader: ISET.X implementationameerj
2021-07-22shader: Optimize NVN FallthroughFernandoS27
2021-07-22shader: Stub SR_AFFINITYFernandoS27
2021-07-22shader: Implement Int32 SUATOM/SUREDameerj