summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fix: typosGravatar Andrea Pappacoda2022-04-022-2/+2
|
* Merge pull request #8038 from liamwhite/exit-register-detectionGravatar Ameer J2022-03-211-0/+4
|\ | | | | shader_recompiler/EXIT: increment output register on failed enable test
| * shader_recompiler/EXIT: skip render targets with no outputsGravatar Liam2022-03-181-0/+3
| |
| * shader_recompiler/EXIT: increment output register on failed enable testGravatar Liam2022-03-171-0/+1
| |
* | shader_recompiler: Reduce unused includesGravatar ameerj2022-03-2027-39/+7
|/
* shader_recompiler: Implement LDC.IS address modeGravatar Liam2022-03-161-2/+12
|
* Shader decompiler: do constant propgation before texture pass.Gravatar Fernando Sahmkow2022-03-131-2/+2
|
* shader_recompiler/LOP3: Use brute force python results within switch/case.Gravatar Markus Wick2022-03-082-52/+620
| | | | | | | | | | | | | | | | | | | | | Thanks to @asLody for optimizing this function. This raised the focus that this function should be optimized more. The current table assumes that the host GPU is able to invert for free, so only AND,OR,XOR are accumulated in the performance metrik. Performance results: Instructions 0: 8 1: 30 2: 114 3: 80 4: 24 Latency 0: 8 1: 30 2: 194 3: 24
* video_minimum_maximum: Implement src operand selectorsGravatar ameerj2022-01-271-12/+6
| | | | Used by Pokemon Legends: Arceus
* shader_recompiler: Remove unnecessary [[nodiscard]]Gravatar Lioncash2022-01-251-2/+1
| | | | | Since ConvertLegacyToGeneric has a void return value, there's nothing that is actually returned by the function.
* Address format clangGravatar vonchenplus2021-12-181-36/+36
|
* Implement convert legacy to genericGravatar Feng Chen2021-11-192-0/+99
|
* rescaling_pass: Logic simplification and minor style cleanupGravatar ameerj2021-11-161-1/+0
|
* Shader: Don't rescale FragCoord if used by ShuffleGravatar Fernando Sahmkow2021-11-161-1/+3
|
* spirv: Implement rescaling patchingGravatar ReinUsesLisp2021-11-161-0/+3
|
* ShaderCache: Order Phi Arguments from farthest away to nearest.Gravatar Fernando Sahmkow2021-10-311-0/+2
|
* structured_control_flow: Skip reordering nested demote branches.Gravatar ameerj2021-08-301-0/+11
| | | | Nested demote branches add complexity with combining the condition if it has not been initialized yet. Skip them for the time being.
* structured_control_flow: Conditionally invoke demote reorder passGravatar ameerj2021-08-303-8/+13
| | | | This is only needed on select drivers when a fragment shader discards/demotes.
* structured_control_flow: Add DemoteCombinationPassGravatar ameerj2021-08-281-1/+107
| | | | | 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
* control_flow: Fix duplicate switch case in OpcodeTokenGravatar Lioncash2021-07-261-1/+1
| | | | This previously duplicated the case of the PBK case above it.
* shader: Support out of bound local memory reads and immediate writesGravatar ReinUsesLisp2021-07-221-4/+21
| | | | | | | | | 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.
* shader: Implement ISETP.XGravatar ameerj2021-07-224-44/+57
|
* shader: Avoid usage of C++20 ranges to build in clangGravatar ReinUsesLisp2021-07-223-18/+23
|
* shader_recompiler, video_core: Resolve clang errorsGravatar lat9nq2021-07-227-28/+21
| | | | | | | | | | Silences the following warnings-turned-errors: -Wsign-conversion -Wunused-private-field -Wbraced-scalar-init -Wunused-variable And some other errors
* shader: Manually convert from array<u32> to bitset instead of using bit_castGravatar ReinUsesLisp2021-07-221-2/+3
|
* shader: GCC fmt 8.0.0 fixesGravatar lat9nq2021-07-221-1/+1
|
* shader: Account for 33-bit IADD3 scenarioGravatar ameerj2021-07-221-2/+10
|
* shader: Only apply shift on register mode for IADD3Gravatar ReinUsesLisp2021-07-221-10/+14
|
* shader: Use std::bit_cast instead of Common::BitCast for passthroughGravatar ReinUsesLisp2021-07-221-2/+3
|
* shader: Rework varyings and implement passthrough geometry shadersGravatar ReinUsesLisp2021-07-221-8/+10
| | | | | | Put all varyings into a single std::bitset with helpers to access it. Implement passthrough geometry shaders using host's.
* shader: Only verify shader when graphics debugging is enabledGravatar ReinUsesLisp2021-07-221-2/+7
|
* shader: Emulate 64-bit integers when not supportedGravatar ReinUsesLisp2021-07-221-0/+3
| | | | Useful for mobile and Intel Xe devices.
* shader_recompiler: Fix IADD3 input partitioningGravatar ameerj2021-07-221-14/+13
|
* shader: Move loop safety tests to code emissionGravatar ReinUsesLisp2021-07-221-33/+4
|
* shader: Calibrate loop safety thresholdGravatar ReinUsesLisp2021-07-221-1/+1
|
* shader: Simplify MergeDualVertexProgramsGravatar ReinUsesLisp2021-07-221-6/+4
|
* shader: Properly manage attributes not written from previous stagesGravatar ReinUsesLisp2021-07-221-1/+3
|
* shader: Add support for native 16-bit floatsGravatar ReinUsesLisp2021-07-222-4/+7
|
* shader: Rename maxwell/program.h to translate_program.hGravatar ReinUsesLisp2021-07-222-7/+2
|
* shader: Fix loop safety to SSA passGravatar ReinUsesLisp2021-07-221-1/+3
|
* shader: Add loggingGravatar ReinUsesLisp2021-07-223-6/+6
|
* shader: Add shader loop safety check settingsGravatar lat9nq2021-07-221-4/+38
| | | | Also add a setting for enable Nsight Aftermath.
* shader: Comment why the array component is not read in TMMLGravatar ReinUsesLisp2021-07-221-0/+2
|
* tmml: Remove index component from coords vecGravatar ameerj2021-07-221-4/+3
| | | | The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
* shader: Fix VertexA Shaders.Gravatar FernandoS272021-07-221-5/+14
|
* shader: Add 2D and 3D variants to SUATOM and SUREDGravatar ReinUsesLisp2021-07-221-0/+4
| | | | Used by Claybook.
* shader: Avoid CPU side undefined behavior on I2FGravatar ReinUsesLisp2021-07-221-0/+2
|
* shader: Add support for "negative" and unaligned offsetsGravatar ReinUsesLisp2021-07-221-2/+2
| | | | | | | | | "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.
* shader: Implement ISCADD32IGravatar ReinUsesLisp2021-07-221-17/+31
|
* shader: Always initialize up reference in structure control flowGravatar ReinUsesLisp2021-07-221-31/+36
| | | | Fixes ubsan issue.