ReinUsesLisp
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.
5 years ago
ReinUsesLisp
d10cf55353
shader: Implement indexed textures
5 years ago
ameerj
7a9dc78398
shader: Refactor atomic_operations_global_memory
5 years ago
ameerj
427951d6fe
shader: add missing include guard in half_floating_point_helper.h
5 years ago
ReinUsesLisp
c8f9772d65
shader: Fix gcc warnings
5 years ago
ReinUsesLisp
75dee55486
shader: Inline common Value getters
5 years ago
ReinUsesLisp
23182fa59c
shader: Intrusively store in a block if it's sealed or not
5 years ago
ReinUsesLisp
eed6da55b8
cmake: Link to common in shader_recompiler
5 years ago
ReinUsesLisp
cc0fcd1b8d
shader: Improve goto removal algorithm complexity
Find sibling node containing a nephew searching from the nephew itself
instead of the uncle.
5 years ago
ReinUsesLisp
f66851e376
shader: Use memset to reset instruction arguments
5 years ago
ReinUsesLisp
c84bbd9e44
shader: Inline common Value functions into the header
5 years ago
ReinUsesLisp
050e81500c
shader: Move microinstruction header to the value header
5 years ago
ReinUsesLisp
e4d1122082
shader: Move siblings check to a separate function and comment them out
5 years ago
ReinUsesLisp
4209828646
shader: Intrusively store register values in block for SSA pass
5 years ago
ReinUsesLisp
6944cabb89
shader: Inline common Opcode and Inst functions
5 years ago
ReinUsesLisp
4bbe530337
shader: Inline common IR::Block methods
5 years ago
ReinUsesLisp
24cc298660
shader: Use a small_vector for phi blocks
5 years ago
ReinUsesLisp
79c2e43fcd
shader: Calculate number of arguments in an opcode at compile time
5 years ago
ReinUsesLisp
dd860b684c
shader: Implement D3D samplers
5 years ago
ReinUsesLisp
a8d46a5eae
shader: Add constant propagation for arithmetic right shifts
5 years ago
ReinUsesLisp
469f8bb857
shader: Simplify code for local memory
5 years ago
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.
5 years ago
ReinUsesLisp
6325601947
spirv: Fix ViewportMask
5 years ago
ameerj
5b8afed871
spirv: Replace Constant/ConstantComposite with Const helper
5 years ago
FernandoS27
2999028976
shader: Address feedback
5 years ago
FernandoS27
881b33da3b
shader: Implement F2F (Imm)
5 years ago
FernandoS27
21a878237b
shader: Implement IADD3.CC/.X
5 years ago
FernandoS27
f69d0b91ff
shader: Address feedback
5 years ago
FernandoS27
080857b60e
shader: Add coarse derivatives
5 years ago
FernandoS27
04c459fc8d
shader: Implement fine derivates constant propagation
5 years ago
FernandoS27
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
5 years ago
ReinUsesLisp
50f8007172
shader: Fix Phi node types
5 years ago
ReinUsesLisp
0a0818c025
shader: Fix memory barriers
5 years ago
ReinUsesLisp
c9e4609d87
spirv: Fix implicit lod type
5 years ago
ReinUsesLisp
7cfa403683
spirv: Use explicit lods outside of fragment shaders
5 years ago
ReinUsesLisp
dbbd4b5496
spirv: Use ConstOffset instead of Offset when possible
5 years ago
ameerj
be431f5ed0
shader: Implement BFE and BFI CC
Fix two bugs in BFI.
5 years ago
ReinUsesLisp
80940b1706
shader: Implement SampleMask
5 years ago
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
5 years ago
ReinUsesLisp
f3473c5143
spirv: Bitcast non-F32 output attributes to their type before store
5 years ago
ReinUsesLisp
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
5 years ago
ReinUsesLisp
4657cf78fd
spirv: Bitcast non-F32 attributes to F32
5 years ago
ReinUsesLisp
b0f1255c8c
shader: Implement PrimitiveId
5 years ago
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
5 years ago
ReinUsesLisp
34519d3fc6
shader: Mark atomic instructions as writes
5 years ago
lat9nq
7ae3ea6bee
vk_pipeline_cache: Silence GCC warnings
Silences `-Werror=missing-field-initializers` due to missing
initializers.
5 years ago
ReinUsesLisp
416e1b7441
spirv: Implement image buffers
5 years ago
ReinUsesLisp
d8ec99dada
spirv: Implement Layer stores
5 years ago
FernandoS27
ab3831f6cb
spirv: Fix alpha test
5 years ago
ameerj
6f4a1c8dcf
spirv: Fix non-atomic 64-bit store
5 years ago