summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* shader: Add loggingGravatar ReinUsesLisp2021-07-225-10/+12
|
* shader: Add shader loop safety check settingsGravatar lat9nq2021-07-222-0/+10
| | | | Also add a setting for enable Nsight Aftermath.
* glasm: Use ARB_derivative_control conditionallyGravatar ReinUsesLisp2021-07-222-7/+29
|
* emit_glasm_context_get_set: Remove unused variableGravatar lat9nq2021-07-221-1/+0
|
* shader,glasm: Implement legacy texcoord loadsGravatar ReinUsesLisp2021-07-221-2/+10
|
* glasm: Implement legacy varyingsGravatar ReinUsesLisp2021-07-221-17/+56
|
* shader: Add support for "negative" and unaligned offsetsGravatar ReinUsesLisp2021-07-221-0/+8
| | | | | | | | | "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.
* opengl: Declare fragment outputs even if they are not usedGravatar ReinUsesLisp2021-07-222-9/+4
| | | | | | 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.
* glasm: Fix immediate texture coordinateGravatar ReinUsesLisp2021-07-221-0/+1
|
* glasm: Reduce reg allocation leaks from an exception to a logGravatar ReinUsesLisp2021-07-221-1/+1
|
* glasm: Use integer lod for TXQGravatar ReinUsesLisp2021-07-222-2/+2
|
* glasm: Fix global memory fallbacksGravatar ReinUsesLisp2021-07-221-9/+10
|
* Revert "glasm: Skip phi moves on undefined instructions"Gravatar ReinUsesLisp2021-07-221-3/+1
| | | | Causes regressions on Bowser's Fury.
* glasm: Remove unintentional '\n' on Undef32Gravatar ReinUsesLisp2021-07-221-1/+1
|
* glasm: Use storage buffers instead of global memory when possibleGravatar ReinUsesLisp2021-07-224-369/+380
|
* glasm: Implement Y directionGravatar ReinUsesLisp2021-07-224-3/+9
|
* glasm: Skip phi moves on undefined instructionsGravatar ReinUsesLisp2021-07-221-1/+3
|
* glasm: Implement undef instructionsGravatar ReinUsesLisp2021-07-222-15/+15
|
* glasm: Fix global memory callbacksGravatar ReinUsesLisp2021-07-221-5/+6
|
* glasm: Release phi node registers after they are no longer neededGravatar ReinUsesLisp2021-07-222-38/+54
|
* glasm: Fix INeg32 on negative immediatesGravatar ReinUsesLisp2021-07-221-1/+5
|
* glasm: Remove unnecessary value typesGravatar ReinUsesLisp2021-07-223-47/+6
|
* glasm: Throw when there are register leaksGravatar ReinUsesLisp2021-07-222-0/+7
|
* glasm: Catch more register leaksGravatar ReinUsesLisp2021-07-228-41/+114
| | | | | | | | | | | | | Add support for null registers. These are used when an instruction has no usages. This comes handy when an instruction is only used for its CC value, with the caveat of having to invalidate all pseudo-instructions before defining the instruction itself in the register allocator. This commits changes this. Workaround a bug on Nvidia's condition codes conditional execution using branches.
* glasm: Fix usage counting on phi nodesGravatar ReinUsesLisp2021-07-223-8/+22
|
* glasm: Implement global memory fallbacksGravatar ReinUsesLisp2021-07-222-50/+89
|
* glasm: Implement int64 add and subtractGravatar ReinUsesLisp2021-07-222-8/+6
|
* emit_glasm_context_get_set: Remove unused variableGravatar lat9nq2021-07-221-1/+0
|
* glasm: Implement indirect attribute loadsGravatar ReinUsesLisp2021-07-224-6/+65
|
* glasm: Implement image atomicsGravatar ReinUsesLisp2021-07-222-165/+153
|
* glasm: Reorder unreachable image atomic instsGravatar ReinUsesLisp2021-07-221-66/+66
| | | | Reorder them to the bottom of the file for readability.
* glasm: Implement gl_Layer storesGravatar ReinUsesLisp2021-07-221-0/+7
|
* glasm: Implement SampleIdGravatar ReinUsesLisp2021-07-222-3/+3
|
* glasm: Implement IsHelperInvocationGravatar ReinUsesLisp2021-07-222-3/+3
|
* glasm: Fix EmitVertex's optimizationGravatar ReinUsesLisp2021-07-221-1/+1
|
* gl_shader_cache,glasm: Conditionally use typeless image reads extensionGravatar ReinUsesLisp2021-07-221-2/+4
|
* glasm: Implement forced early ZGravatar ReinUsesLisp2021-07-221-2/+6
|
* glasm: Simplify patch readsGravatar ReinUsesLisp2021-07-221-5/+2
|
* glasm: Fix output patch readsGravatar ReinUsesLisp2021-07-222-13/+22
| | | | With this, Luigi's Mansion's sand renders properly.
* shader: Split profile and runtime information in separate structsGravatar ReinUsesLisp2021-07-224-33/+38
|
* emit_glasm_context_get_and_set.cpp: Add missing semicolonsGravatar ameerj2021-07-221-2/+2
|
* glasm: Fix patch attribute declarationsGravatar ReinUsesLisp2021-07-221-1/+1
|
* glasm: Implement FSWZADDGravatar ameerj2021-07-223-4/+28
|
* glasm: Implement PrimitiveId attribute readGravatar ReinUsesLisp2021-07-221-0/+3
|
* glasm: Implement clip distance storesGravatar ReinUsesLisp2021-07-222-0/+15
|
* glasm: Fix tessellation input attributesGravatar ReinUsesLisp2021-07-221-2/+5
|
* glasm: Add missing semicolon on tesscoord readingGravatar ReinUsesLisp2021-07-221-1/+1
|
* glasm: Fix tessellation headersGravatar ReinUsesLisp2021-07-221-2/+2
|
* glasm: Add tessellation shader declarationsGravatar ReinUsesLisp2021-07-221-0/+35
|
* glasm: Implement TessellationEvaluationPointGravatar ReinUsesLisp2021-07-221-0/+4
|