aboutsummaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glasm
AgeCommit message (Collapse)Author
2021-07-22shader: Add loggingReinUsesLisp
2021-07-22shader: Add shader loop safety check settingslat9nq
Also add a setting for enable Nsight Aftermath.
2021-07-22glasm: Use ARB_derivative_control conditionallyReinUsesLisp
2021-07-22emit_glasm_context_get_set: Remove unused variablelat9nq
2021-07-22shader,glasm: Implement legacy texcoord loadsReinUsesLisp
2021-07-22glasm: Implement legacy varyingsReinUsesLisp
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-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-22glasm: Fix immediate texture coordinateReinUsesLisp
2021-07-22glasm: Reduce reg allocation leaks from an exception to a logReinUsesLisp
2021-07-22glasm: Use integer lod for TXQReinUsesLisp
2021-07-22glasm: Fix global memory fallbacksReinUsesLisp
2021-07-22Revert "glasm: Skip phi moves on undefined instructions"ReinUsesLisp
Causes regressions on Bowser's Fury.
2021-07-22glasm: Remove unintentional '\n' on Undef32ReinUsesLisp
2021-07-22glasm: Use storage buffers instead of global memory when possibleReinUsesLisp
2021-07-22glasm: Implement Y directionReinUsesLisp
2021-07-22glasm: Skip phi moves on undefined instructionsReinUsesLisp
2021-07-22glasm: Implement undef instructionsReinUsesLisp
2021-07-22glasm: Fix global memory callbacksReinUsesLisp
2021-07-22glasm: Release phi node registers after they are no longer neededReinUsesLisp
2021-07-22glasm: Fix INeg32 on negative immediatesReinUsesLisp
2021-07-22glasm: Remove unnecessary value typesReinUsesLisp
2021-07-22glasm: Throw when there are register leaksReinUsesLisp
2021-07-22glasm: Catch more register leaksReinUsesLisp
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.
2021-07-22glasm: Fix usage counting on phi nodesReinUsesLisp
2021-07-22glasm: Implement global memory fallbacksReinUsesLisp
2021-07-22glasm: Implement int64 add and subtractReinUsesLisp
2021-07-22emit_glasm_context_get_set: Remove unused variablelat9nq
2021-07-22glasm: Implement indirect attribute loadsReinUsesLisp
2021-07-22glasm: Implement image atomicsReinUsesLisp
2021-07-22glasm: Reorder unreachable image atomic instsReinUsesLisp
Reorder them to the bottom of the file for readability.
2021-07-22glasm: Implement gl_Layer storesReinUsesLisp
2021-07-22glasm: Implement SampleIdReinUsesLisp
2021-07-22glasm: Implement IsHelperInvocationReinUsesLisp
2021-07-22glasm: Fix EmitVertex's optimizationReinUsesLisp
2021-07-22gl_shader_cache,glasm: Conditionally use typeless image reads extensionReinUsesLisp
2021-07-22glasm: Implement forced early ZReinUsesLisp
2021-07-22glasm: Simplify patch readsReinUsesLisp
2021-07-22glasm: Fix output patch readsReinUsesLisp
With this, Luigi's Mansion's sand renders properly.
2021-07-22shader: Split profile and runtime information in separate structsReinUsesLisp
2021-07-22emit_glasm_context_get_and_set.cpp: Add missing semicolonsameerj
2021-07-22glasm: Fix patch attribute declarationsReinUsesLisp
2021-07-22glasm: Implement FSWZADDameerj
2021-07-22glasm: Implement PrimitiveId attribute readReinUsesLisp
2021-07-22glasm: Implement clip distance storesReinUsesLisp
2021-07-22glasm: Fix tessellation input attributesReinUsesLisp
2021-07-22glasm: Add missing semicolon on tesscoord readingReinUsesLisp
2021-07-22glasm: Fix tessellation headersReinUsesLisp
2021-07-22glasm: Add tessellation shader declarationsReinUsesLisp
2021-07-22glasm: Implement TessellationEvaluationPointReinUsesLisp