ReinUsesLisp and ameerj
6944cabb89
shader: Inline common Opcode and Inst functions
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
4bbe530337
shader: Inline common IR::Block methods
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
24cc298660
shader: Use a small_vector for phi blocks
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
dd860b684c
shader: Implement D3D samplers
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
a8d46a5eae
shader: Add constant propagation for arithmetic right shifts
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
469f8bb857
shader: Simplify code for local memory
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
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 and ameerj
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 and ameerj
2999028976
shader: Address feedback
2021-07-22 21:51:28 -04:00
FernandoS27 and ameerj
881b33da3b
shader: Implement F2F (Imm)
2021-07-22 21:51:28 -04:00
FernandoS27 and ameerj
21a878237b
shader: Implement IADD3.CC/.X
2021-07-22 21:51:28 -04:00
FernandoS27 and ameerj
f69d0b91ff
shader: Address feedback
2021-07-22 21:51:28 -04:00
FernandoS27 and ameerj
080857b60e
shader: Add coarse derivatives
2021-07-22 21:51:28 -04:00
FernandoS27 and ameerj
04c459fc8d
shader: Implement fine derivates constant propagation
2021-07-22 21:51:28 -04:00
FernandoS27 and ameerj
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
50f8007172
shader: Fix Phi node types
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
0a0818c025
shader: Fix memory barriers
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
c9e4609d87
spirv: Fix implicit lod type
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
7cfa403683
spirv: Use explicit lods outside of fragment shaders
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
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 and ameerj
80940b1706
shader: Implement SampleMask
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
95815a3883
shader: Implement PIXLD.MY_INDEX
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
f3473c5143
spirv: Bitcast non-F32 output attributes to their type before store
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
4657cf78fd
spirv: Bitcast non-F32 attributes to F32
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
b0f1255c8c
shader: Implement PrimitiveId
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
34519d3fc6
shader: Mark atomic instructions as writes
2021-07-22 21:51:27 -04:00
lat9nq and ameerj
7ae3ea6bee
vk_pipeline_cache: Silence GCC warnings
...
Silences `-Werror=missing-field-initializers` due to missing
initializers.
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
416e1b7441
spirv: Implement image buffers
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
d8ec99dada
spirv: Implement Layer stores
2021-07-22 21:51:27 -04:00
FernandoS27 and ameerj
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 and ameerj
b126987c59
shader: Implement transform feedbacks and define file format
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
a83579b50a
shader: Implement early Z tests
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
09165ae189
shader: Document and relax cache control on surface instructions
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
fa75b9b062
spirv: Rework storage buffers and shader memory
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
c070991def
shader: Fix fixed pipeline point size on geometry shaders
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
2597cee85b
shader: Add constant propagation for *&^| binary operations
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
f263760c5a
shader: Implement geometry shaders
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
a6cef71cc0
shader: Implement OUT
2021-07-22 21:51:27 -04:00
lat9nq and ameerj
dd3432d357
internal_stage_buffer_entry_read: Remove pragma optimize off
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
4b0172f6de
shader: Stub SR_INVOCATION_INFO
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
f712084147
shader: Stub ISBERD
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
2516829e4c
shader: Fix CC in I2I
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
23b8714732
spirv: Define StorageImageWriteWithoutFormat capability when used
2021-07-22 21:51:27 -04:00