Lioncash
06ca911621
shader_recompiler: Remove unnecessary [[nodiscard]] instances
[[nodiscard]] doesn't do anything on functions with a void return type
and causes superfluous warnings.
5 years ago
ReinUsesLisp
f6f0383b49
shader: Add TryInstRecursive utility to values
5 years ago
lat9nq
49946cf780
shader_recompiler, video_core: Resolve clang errors
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
5 years ago
ameerj
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
ReinUsesLisp
7dafa96ab5
shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
5 years ago
ReinUsesLisp
4397053d5c
shader: Remove IAbs64
5 years ago
ReinUsesLisp
808ef97a08
shader: Move loop safety tests to code emission
5 years ago
ReinUsesLisp
61cd7dd301
shader: Add logging
5 years ago
lat9nq
373f75d944
shader: Add shader loop safety check settings
Also add a setting for enable Nsight Aftermath.
5 years ago
ReinUsesLisp
8f3043c3cf
Revert "glasm: Skip phi moves on undefined instructions"
Causes regressions on Bowser's Fury.
5 years ago
ReinUsesLisp
586c785366
glasm: Skip phi moves on undefined instructions
5 years ago
ReinUsesLisp
a49532c8eb
video_core,shader: Clang-format fixes
5 years ago
ReinUsesLisp
9bb3e008c9
shader: Read branch conditions from an instruction
Fixes the identity removal pass.
5 years ago
ReinUsesLisp
ec6fc5fe78
glasm: Implement TEX and TEXS instructions
Remove lod clamp from texture instructions with lod, as this is not
needed (nor supported).
5 years ago
lat9nq
f7a2340205
shader_recompiler: GCC fixes
Fixes members of unnamed union not being accessible, and one function
without a declaration.
5 years ago
ReinUsesLisp
776ab3ea12
shader: Use a non-trivial dummy to construct ASL node union
5 years ago
ReinUsesLisp
bf5e48ffe4
glasm: Initial implementation of phi nodes on GLASM
5 years ago
ReinUsesLisp
d54d7de40e
glasm: Rework control flow introducing a syntax list
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
5 years ago
ReinUsesLisp
3b6a632237
shader: Add floating-point rounding to I2F
5 years ago
ReinUsesLisp
6fd190d1ae
glasm: Implement basic GLASM instructions
5 years ago
ReinUsesLisp
b10cf64c48
glasm: Add GLASM backend infrastructure
5 years ago
ameerj
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
5 years ago
ReinUsesLisp
d621e96d0d
shader: Initial OpenGL implementation
5 years ago
FernandoS27
b541f5e5e3
shader: Implement VertexA stage
5 years ago
ReinUsesLisp
aece958c2b
shader: Add missing UndoUse case for GetSparseFromOp
5 years ago
ReinUsesLisp
21e3382830
shader: Simplify code in opcodes.h to fix Intellisense
Avoid using std::array to fix Intellisense not properly compiling this
code and disabling itself on all files that include it.
While we are at it, change the code to use u8 instead of size_t for the
number of instructions in an opcode.
5 years ago
ReinUsesLisp
d10cf55353
shader: Implement indexed textures
5 years ago
ReinUsesLisp
c8f9772d65
shader: Fix gcc warnings
5 years ago
ReinUsesLisp
75dee55486
shader: Inline common Value getters
5 years ago
ReinUsesLisp
23182fa59c
shader: Intrusively store in a block if it's sealed or not
5 years ago
ReinUsesLisp
f66851e376
shader: Use memset to reset instruction arguments
5 years ago
ReinUsesLisp
c84bbd9e44
shader: Inline common Value functions into the header
5 years ago
ReinUsesLisp
050e81500c
shader: Move microinstruction header to the value header
5 years ago
ReinUsesLisp
4209828646
shader: Intrusively store register values in block for SSA pass
5 years ago
ReinUsesLisp
6944cabb89
shader: Inline common Opcode and Inst functions
5 years ago
ReinUsesLisp
4bbe530337
shader: Inline common IR::Block methods
5 years ago
ReinUsesLisp
24cc298660
shader: Use a small_vector for phi blocks
5 years ago
ReinUsesLisp
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
5 years ago
FernandoS27
080857b60e
shader: Add coarse derivatives
5 years ago
FernandoS27
04c459fc8d
shader: Implement fine derivates constant propagation
5 years ago
FernandoS27
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
5 years ago
ReinUsesLisp
50f8007172
shader: Fix Phi node types
5 years ago
ReinUsesLisp
0a0818c025
shader: Fix memory barriers
5 years ago
ReinUsesLisp
80940b1706
shader: Implement SampleMask
5 years ago
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
5 years ago
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
5 years ago
ReinUsesLisp
b126987c59
shader: Implement transform feedbacks and define file format
5 years ago
ReinUsesLisp
f263760c5a
shader: Implement geometry shaders
5 years ago
ReinUsesLisp
a6cef71cc0
shader: Implement OUT
5 years ago
ReinUsesLisp
5c61e860e4
shader: Implement SR_THREAD_KILL
5 years ago