ReinUsesLisp and ameerj
d2b54c6e42
shader: Fix VMNMX selector B
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
fe25f42403
shader: Remove identity removal pass for better build times
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
aece958c2b
shader: Add missing UndoUse case for GetSparseFromOp
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
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.
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
d10cf55353
shader: Implement indexed textures
2021-07-22 21:51:28 -04:00
ameerj
7a9dc78398
shader: Refactor atomic_operations_global_memory
2021-07-22 21:51:28 -04:00
ameerj
427951d6fe
shader: add missing include guard in half_floating_point_helper.h
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
c8f9772d65
shader: Fix gcc warnings
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
75dee55486
shader: Inline common Value getters
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
23182fa59c
shader: Intrusively store in a block if it's sealed or not
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
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 and ameerj
f66851e376
shader: Use memset to reset instruction arguments
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
c84bbd9e44
shader: Inline common Value functions into the header
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
050e81500c
shader: Move microinstruction header to the value header
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
e4d1122082
shader: Move siblings check to a separate function and comment them out
2021-07-22 21:51:28 -04:00
ReinUsesLisp and ameerj
4209828646
shader: Intrusively store register values in block for SSA pass
2021-07-22 21:51:28 -04:00
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
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
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
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
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
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
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
09165ae189
shader: Document and relax cache control on surface instructions
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
415c7e46ed
shader: Simplify FLO and throw on CC
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
dfd5341d71
shader: Mark blocks with no end branch as unreachable
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
2ed80f6b1e
shader: Implement LOP CC
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
5c61e860e4
shader: Implement SR_THREAD_KILL
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
c9337a4ae4
shader: Apply sign bit in FCMP (imm)
2021-07-22 21:51:27 -04:00
ameerj
3db2b3effa
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
9280cd649a
shader: Move LaneId to the warp emission file and fix AMD
2021-07-22 21:51:27 -04:00
ReinUsesLisp and ameerj
d404b871d5
shader: Mark ImageWrite with side effects
2021-07-22 21:51:27 -04:00