ReinUsesLisp
75dee55486
shader: Inline common Value getters
2021-07-22 21:51:28 -04:00
ReinUsesLisp
23182fa59c
shader: Intrusively store in a block if it's sealed or not
2021-07-22 21:51:28 -04:00
ReinUsesLisp
eed6da55b8
cmake: Link to common in shader_recompiler
2021-07-22 21:51:28 -04:00
ReinUsesLisp
cc0fcd1b8d
shader: Improve goto removal algorithm complexity
...
Find sibling node containing a nephew searching from the nephew itself
instead of the uncle.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
f66851e376
shader: Use memset to reset instruction arguments
2021-07-22 21:51:28 -04:00
ReinUsesLisp
c84bbd9e44
shader: Inline common Value functions into the header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
050e81500c
shader: Move microinstruction header to the value header
2021-07-22 21:51:28 -04:00
ReinUsesLisp
e4d1122082
shader: Move siblings check to a separate function and comment them out
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4209828646
shader: Intrusively store register values in block for SSA pass
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6944cabb89
shader: Inline common Opcode and Inst functions
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4bbe530337
shader: Inline common IR::Block methods
2021-07-22 21:51:28 -04:00
ReinUsesLisp
24cc298660
shader: Use a small_vector for phi blocks
2021-07-22 21:51:28 -04:00
ReinUsesLisp
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
2021-07-22 21:51:28 -04:00
ReinUsesLisp
dd860b684c
shader: Implement D3D samplers
2021-07-22 21:51:28 -04:00
ReinUsesLisp
a8d46a5eae
shader: Add constant propagation for arithmetic right shifts
2021-07-22 21:51:28 -04:00
ReinUsesLisp
469f8bb857
shader: Simplify code for local memory
2021-07-22 21:51:28 -04:00
ReinUsesLisp
7018e524f5
shader: Add NVN storage buffer fallbacks
...
When we can't track the SSBO origin of a global memory instruction,
leave it as a global memory operation and assume these pointers are in
the NVN storage buffer slots, then apply a linear search in the shader's
runtime.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
6325601947
spirv: Fix ViewportMask
2021-07-22 21:51:28 -04:00
ameerj
5b8afed871
spirv: Replace Constant/ConstantComposite with Const helper
2021-07-22 21:51:28 -04:00
FernandoS27
2999028976
shader: Address feedback
2021-07-22 21:51:28 -04:00
FernandoS27
881b33da3b
shader: Implement F2F (Imm)
2021-07-22 21:51:28 -04:00
FernandoS27
21a878237b
shader: Implement IADD3.CC/.X
2021-07-22 21:51:28 -04:00
FernandoS27
f69d0b91ff
shader: Address feedback
2021-07-22 21:51:28 -04:00
FernandoS27
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
FernandoS27
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
FernandoS27
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
ReinUsesLisp
50f8007172
shader: Fix Phi node types
2021-07-22 21:51:28 -04:00
ReinUsesLisp
0a0818c025
shader: Fix memory barriers
2021-07-22 21:51:28 -04:00
ReinUsesLisp
c9e4609d87
spirv: Fix implicit lod type
2021-07-22 21:51:28 -04:00
ReinUsesLisp
7cfa403683
spirv: Use explicit lods outside of fragment shaders
2021-07-22 21:51:28 -04:00
ReinUsesLisp
dbbd4b5496
spirv: Use ConstOffset instead of Offset when possible
2021-07-22 21:51:28 -04:00
ameerj
be431f5ed0
shader: Implement BFE and BFI CC
...
Fix two bugs in BFI.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
80940b1706
shader: Implement SampleMask
2021-07-22 21:51:28 -04:00
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
2021-07-22 21:51:28 -04:00
ReinUsesLisp
f3473c5143
spirv: Bitcast non-F32 output attributes to their type before store
2021-07-22 21:51:28 -04:00
ReinUsesLisp
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
2021-07-22 21:51:28 -04:00
ReinUsesLisp
4657cf78fd
spirv: Bitcast non-F32 attributes to F32
2021-07-22 21:51:27 -04:00
ReinUsesLisp
b0f1255c8c
shader: Implement PrimitiveId
2021-07-22 21:51:27 -04:00
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
ReinUsesLisp
34519d3fc6
shader: Mark atomic instructions as writes
2021-07-22 21:51:27 -04:00
ReinUsesLisp
416e1b7441
spirv: Implement image buffers
2021-07-22 21:51:27 -04:00
ReinUsesLisp
d8ec99dada
spirv: Implement Layer stores
2021-07-22 21:51:27 -04:00
FernandoS27
ab3831f6cb
spirv: Fix alpha test
2021-07-22 21:51:27 -04:00
ameerj
6f4a1c8dcf
spirv: Fix non-atomic 64-bit store
2021-07-22 21:51:27 -04:00
ameerj
6c512f4bff
spirv: Implement alpha test
2021-07-22 21:51:27 -04:00
ReinUsesLisp
b126987c59
shader: Implement transform feedbacks and define file format
2021-07-22 21:51:27 -04:00
ReinUsesLisp
a83579b50a
shader: Implement early Z tests
2021-07-22 21:51:27 -04:00
ReinUsesLisp
09165ae189
shader: Document and relax cache control on surface instructions
2021-07-22 21:51:27 -04:00
ReinUsesLisp
fa75b9b062
spirv: Rework storage buffers and shader memory
2021-07-22 21:51:27 -04:00
ReinUsesLisp
c070991def
shader: Fix fixed pipeline point size on geometry shaders
2021-07-22 21:51:27 -04:00