Commit graph

243 commits

Author SHA1 Message Date
ReinUsesLisp
c44139cda0 shader: Calculate number of arguments in an opcode at compile time 2021-07-22 21:51:28 -04:00
ReinUsesLisp
7066f9ef7b shader: Implement D3D samplers 2021-07-22 21:51:28 -04:00
ReinUsesLisp
5c187201ec shader: Add constant propagation for arithmetic right shifts 2021-07-22 21:51:28 -04:00
ReinUsesLisp
56aae7efcf shader: Simplify code for local memory 2021-07-22 21:51:28 -04:00
ReinUsesLisp
e54171c1a9 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
eb7a932952 spirv: Fix ViewportMask 2021-07-22 21:51:28 -04:00
ameerj
688c89590c spirv: Replace Constant/ConstantComposite with Const helper 2021-07-22 21:51:28 -04:00
FernandoS27
4a97dd4483 shader: Address feedback 2021-07-22 21:51:28 -04:00
FernandoS27
b85c9d8e84 shader: Implement F2F (Imm) 2021-07-22 21:51:28 -04:00
FernandoS27
fbb642f433 shader: Implement IADD3.CC/.X 2021-07-22 21:51:28 -04:00
FernandoS27
f1a3f449d6 shader: Address feedback 2021-07-22 21:51:28 -04:00
FernandoS27
2f01c7fb62 shader: Add coarse derivatives 2021-07-22 21:51:28 -04:00
FernandoS27
b1e325f317 shader: Implement fine derivates constant propagation 2021-07-22 21:51:28 -04:00
FernandoS27
6c60109967 shader: Implement SR_Y_DIRECTION 2021-07-22 21:51:28 -04:00
ReinUsesLisp
99e6cd3916 shader: Fix Phi node types 2021-07-22 21:51:28 -04:00
ReinUsesLisp
6d540c6f2e shader: Fix memory barriers 2021-07-22 21:51:28 -04:00
ReinUsesLisp
0623915e2e spirv: Fix implicit lod type 2021-07-22 21:51:28 -04:00
ReinUsesLisp
b597da7f2a spirv: Use explicit lods outside of fragment shaders 2021-07-22 21:51:28 -04:00
ReinUsesLisp
f771d1fc52 spirv: Use ConstOffset instead of Offset when possible 2021-07-22 21:51:28 -04:00
ameerj
bfdb38404c shader: Implement BFE and BFI CC
Fix two bugs in BFI.
2021-07-22 21:51:28 -04:00
ReinUsesLisp
ad1507b4a5 shader: Implement SampleMask 2021-07-22 21:51:28 -04:00
ReinUsesLisp
cc96469019 shader: Implement PIXLD.MY_INDEX 2021-07-22 21:51:28 -04:00
ReinUsesLisp
ca85ce444f spirv: Bitcast non-F32 output attributes to their type before store 2021-07-22 21:51:28 -04:00
ReinUsesLisp
b6b541e36a spirv: Implement ViewportMask with NV_viewport_array2 2021-07-22 21:51:28 -04:00
ReinUsesLisp
f65aa540d8 spirv: Bitcast non-F32 attributes to F32 2021-07-22 21:51:27 -04:00
ReinUsesLisp
10c96c7484 shader: Implement PrimitiveId 2021-07-22 21:51:27 -04:00
ReinUsesLisp
38908d0f7e shader: Implement tessellation shaders, polygon mode and invocation id 2021-07-22 21:51:27 -04:00
ReinUsesLisp
0f99fdc0eb shader: Mark atomic instructions as writes 2021-07-22 21:51:27 -04:00
ReinUsesLisp
03c16b085a spirv: Implement image buffers 2021-07-22 21:51:27 -04:00
ReinUsesLisp
bba876f192 spirv: Implement Layer stores 2021-07-22 21:51:27 -04:00
FernandoS27
f930bda4fb spirv: Fix alpha test 2021-07-22 21:51:27 -04:00
ameerj
9502835689 spirv: Fix non-atomic 64-bit store 2021-07-22 21:51:27 -04:00
ameerj
542dc35aac spirv: Implement alpha test 2021-07-22 21:51:27 -04:00
ReinUsesLisp
e59971ea1b shader: Implement transform feedbacks and define file format 2021-07-22 21:51:27 -04:00
ReinUsesLisp
4a6c299e3f shader: Implement early Z tests 2021-07-22 21:51:27 -04:00
ReinUsesLisp
9f5ab82de2 shader: Document and relax cache control on surface instructions 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c84c2ab88c spirv: Rework storage buffers and shader memory 2021-07-22 21:51:27 -04:00
ReinUsesLisp
a4f27e897c shader: Fix fixed pipeline point size on geometry shaders 2021-07-22 21:51:27 -04:00
ReinUsesLisp
deba5c7666 shader: Add constant propagation for *&^| binary operations 2021-07-22 21:51:27 -04:00
ReinUsesLisp
4b32692423 shader: Implement geometry shaders 2021-07-22 21:51:27 -04:00
ReinUsesLisp
40948b18ac shader: Implement OUT 2021-07-22 21:51:27 -04:00
lat9nq
f70707d435 internal_stage_buffer_entry_read: Remove pragma optimize off 2021-07-22 21:51:27 -04:00
ReinUsesLisp
8ebc7b90a0 shader: Stub SR_INVOCATION_INFO 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c6b81943a9 shader: Stub ISBERD 2021-07-22 21:51:27 -04:00
ReinUsesLisp
211fc6331d shader: Fix CC in I2I 2021-07-22 21:51:27 -04:00
ReinUsesLisp
1cae8e9a10 spirv: Define StorageImageWriteWithoutFormat capability when used 2021-07-22 21:51:27 -04:00
ReinUsesLisp
c7efa5ead4 shader: Simplify FLO and throw on CC 2021-07-22 21:51:27 -04:00
ReinUsesLisp
31835567f2 shader: Mark blocks with no end branch as unreachable 2021-07-22 21:51:27 -04:00
ReinUsesLisp
4678dc7246 shader: Implement LOP CC 2021-07-22 21:51:27 -04:00
ReinUsesLisp
879fb08101 shader: Implement SR_THREAD_KILL 2021-07-22 21:51:27 -04:00