summaryrefslogtreecommitdiff
path: root/src/shader_recompiler
AgeCommit message (Collapse)Author
2021-07-27shader: Mark ConvertF16F32 and ConvertF32F16 as fp16 instructionsReinUsesLisp
Fixes instances where fp16 types are not declared on SPIR-V but they are used. This shouldn't happen on master, as it's been uncovered by an additional optimization pass.
2021-07-27exception: Make constructors explicitLioncash
Ensures that exception construction is always explicit.
2021-07-27exception: Make what() member function nodiscardLioncash
2021-07-27exception: Narrow down specific headerLioncash
We can use the <exception> header instead of pulling in all of the exception-style classes.
2021-07-26Merge pull request #6724 from lioncash/nodisc-shaderRodrigo Locatti
shader_recompiler: Remove unnecessary [[nodiscard]] instances
2021-07-26Merge pull request #6726 from lioncash/hguardRodrigo Locatti
emit_spirv_instructions: Add missing header guard
2021-07-26Merge pull request #6727 from lioncash/topologyRodrigo Locatti
emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()
2021-07-26Merge pull request #6723 from lioncash/shaderRodrigo Locatti
object_pool: Add missing return in Chunk move assignment operator
2021-07-26emit_glasm: Fix LINESS_ADJACENCY typo in InputPrimitive()Lioncash
This should be LINES_ADJACENCY
2021-07-26emit_spirv_instructions: Add missing header guardLioncash
2021-07-26shader_recompiler: Remove unnecessary [[nodiscard]] instancesLioncash
[[nodiscard]] doesn't do anything on functions with a void return type and causes superfluous warnings.
2021-07-26control_flow: Fix duplicate switch case in OpcodeTokenLioncash
This previously duplicated the case of the PBK case above it.
2021-07-26object_pool: Add missing return in Chunk move assignment operatorLioncash
Prevents undefined behavior from occurring.
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: Fix disabled attribute default valuesameerj
2021-07-22glsl: Simplify FCMP emissionameerj
2021-07-22glsl: Update TessellationControl gl_inameerj
Adheres to GL_ARB_separate_shader_objects requirements
2021-07-22shader: Implement ISETP.Xameerj
2021-07-22shader: Avoid usage of C++20 ranges to build in clangReinUsesLisp
2021-07-22glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZEameerj
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-22glsl: Fix tracking of info.uses_shadow_lodameerj
2021-07-22shader: Ignore global memory ops on devices lacking int64 supportameerj
2021-07-22dual_vertex_pass: Clang formatameerj
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: Account for 33-bit IADD3 scenarioameerj
2021-07-22shader: Only apply shift on register mode for IADD3ReinUsesLisp
2021-07-22shader: Fix disabled and unwritten attributes and varyingsReinUsesLisp
2021-07-22glsl: Fix shared and local memory declarationsameerj
account for the fact that program.*memory_size is in units of bytes.
2021-07-22opengl: Implement LOP.CCameerj
Used by MH:Rise
2021-07-22spirv: Fix code emission when descriptor aliasing is unsupportedReinUsesLisp
Fixes OpenGL.
2021-07-22glsl: Declare local memory in mainameerj
2021-07-22glsl: Add passthrough geometry shader supportameerj
2021-07-22shader: Use std::bit_cast instead of Common::BitCast for passthroughReinUsesLisp
2021-07-22glasm: Add passthrough geometry shader supportReinUsesLisp
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: Unify shader stage typesReinUsesLisp
2021-07-22lower_int64_to_int32: Add missing includelat9nq
2021-07-22shader: Emulate 64-bit integers when not supportedReinUsesLisp
Useful for mobile and Intel Xe devices.
2021-07-22shader: Add int64 to int32 lowering passReinUsesLisp
2021-07-22shader: Teach global memory base tracker to follow vectorsReinUsesLisp
2021-07-22shader: Add constant propagation to integer vectorsReinUsesLisp
2021-07-22glsl: Better IAdd Overflow CC fixameerj
This ensures the original operand values are not overwritten when being used in the overflow detection.
2021-07-22shader: Remove IAbs64ReinUsesLisp
2021-07-22glsl: Fix IADD CCameerj
2021-07-22shader_recompiler: Fix IADD3 input partitioningameerj
2021-07-22shader: Move loop safety tests to code emissionReinUsesLisp