050e81500c
shader: Move microinstruction header to the value header
2021-07-22 21:51:28 -04:00
e4d1122082
shader: Move siblings check to a separate function and comment them out
2021-07-22 21:51:28 -04:00
4209828646
shader: Intrusively store register values in block for SSA pass
2021-07-22 21:51:28 -04:00
6944cabb89
shader: Inline common Opcode and Inst functions
2021-07-22 21:51:28 -04:00
4bbe530337
shader: Inline common IR::Block methods
2021-07-22 21:51:28 -04:00
24cc298660
shader: Use a small_vector for phi blocks
2021-07-22 21:51:28 -04:00
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
2021-07-22 21:51:28 -04:00
dd860b684c
shader: Implement D3D samplers
2021-07-22 21:51:28 -04:00
a8d46a5eae
shader: Add constant propagation for arithmetic right shifts
2021-07-22 21:51:28 -04:00
469f8bb857
shader: Simplify code for local memory
2021-07-22 21:51:28 -04:00
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
6325601947
spirv: Fix ViewportMask
2021-07-22 21:51:28 -04:00
5b8afed871
spirv: Replace Constant/ConstantComposite with Const helper
2021-07-22 21:51:28 -04:00
2999028976
shader: Address feedback
2021-07-22 21:51:28 -04:00
881b33da3b
shader: Implement F2F (Imm)
2021-07-22 21:51:28 -04:00
21a878237b
shader: Implement IADD3.CC/.X
2021-07-22 21:51:28 -04:00
f69d0b91ff
shader: Address feedback
2021-07-22 21:51:28 -04:00
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
50f8007172
shader: Fix Phi node types
2021-07-22 21:51:28 -04:00
0a0818c025
shader: Fix memory barriers
2021-07-22 21:51:28 -04:00
c9e4609d87
spirv: Fix implicit lod type
2021-07-22 21:51:28 -04:00
7cfa403683
spirv: Use explicit lods outside of fragment shaders
2021-07-22 21:51:28 -04:00
dbbd4b5496
spirv: Use ConstOffset instead of Offset when possible
2021-07-22 21:51:28 -04:00
be431f5ed0
shader: Implement BFE and BFI CC
...
Fix two bugs in BFI.
2021-07-22 21:51:28 -04:00
80940b1706
shader: Implement SampleMask
2021-07-22 21:51:28 -04:00
95815a3883
shader: Implement PIXLD.MY_INDEX
2021-07-22 21:51:28 -04:00
f3473c5143
spirv: Bitcast non-F32 output attributes to their type before store
2021-07-22 21:51:28 -04:00
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
2021-07-22 21:51:28 -04:00
4657cf78fd
spirv: Bitcast non-F32 attributes to F32
2021-07-22 21:51:27 -04:00
b0f1255c8c
shader: Implement PrimitiveId
2021-07-22 21:51:27 -04:00
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
34519d3fc6
shader: Mark atomic instructions as writes
2021-07-22 21:51:27 -04:00
7ae3ea6bee
vk_pipeline_cache: Silence GCC warnings
...
Silences `-Werror=missing-field-initializers` due to missing
initializers.
2021-07-22 21:51:27 -04:00
416e1b7441
spirv: Implement image buffers
2021-07-22 21:51:27 -04:00
d8ec99dada
spirv: Implement Layer stores
2021-07-22 21:51:27 -04:00
ab3831f6cb
spirv: Fix alpha test
2021-07-22 21:51:27 -04:00
6f4a1c8dcf
spirv: Fix non-atomic 64-bit store
2021-07-22 21:51:27 -04:00
6c512f4bff
spirv: Implement alpha test
2021-07-22 21:51:27 -04:00
b126987c59
shader: Implement transform feedbacks and define file format
2021-07-22 21:51:27 -04:00
a83579b50a
shader: Implement early Z tests
2021-07-22 21:51:27 -04:00
09165ae189
shader: Document and relax cache control on surface instructions
2021-07-22 21:51:27 -04:00
fa75b9b062
spirv: Rework storage buffers and shader memory
2021-07-22 21:51:27 -04:00
c070991def
shader: Fix fixed pipeline point size on geometry shaders
2021-07-22 21:51:27 -04:00
2597cee85b
shader: Add constant propagation for *&^| binary operations
2021-07-22 21:51:27 -04:00
f263760c5a
shader: Implement geometry shaders
2021-07-22 21:51:27 -04:00
a6cef71cc0
shader: Implement OUT
2021-07-22 21:51:27 -04:00
dd3432d357
internal_stage_buffer_entry_read: Remove pragma optimize off
2021-07-22 21:51:27 -04:00
4b0172f6de
shader: Stub SR_INVOCATION_INFO
2021-07-22 21:51:27 -04:00