ReinUsesLisp and ameerj
1c9307969c
glasm: Make GLASM aware of types
2021-07-22 21:51:30 -04:00
ameerj
934d300246
glasm: Use CMP.S for Select32
...
also fixes ADD and SUB to use U modifier
2021-07-22 21:51:30 -04:00
ameerj
68cc445b8e
glasm: Implement more logical ops
2021-07-22 21:51:30 -04:00
ameerj
941c6dc740
glasm: Implement BFI, BFE
...
Along with implementations of common instructions along the way
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
3e841f6441
glasm: Use BitField instead of C bitfields
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
2b04b4d27f
glasm: Remove unused argument in identity instructions on GLASM
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
6fd190d1ae
glasm: Implement basic GLASM instructions
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
c1ba685d9c
glasm: Changes to GLASM register allocator and emit context
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
b10cf64c48
glasm: Add GLASM backend infrastructure
2021-07-22 21:51:30 -04:00
ameerj
09dc23f971
shader: ISET.X implementation
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
b725db8709
shader: Fixup SPIR-V emit header namespaces
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
bed090807a
Move SPIR-V emission functions to their own header
2021-07-22 21:51:30 -04:00
FernandoS27 and ameerj
ee61ec2c39
shader: Optimize NVN Fallthrough
2021-07-22 21:51:30 -04:00
FernandoS27 and ameerj
153a77efee
shader: Stub SR_AFFINITY
2021-07-22 21:51:30 -04:00
ameerj
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
d621e96d0d
shader: Initial OpenGL implementation
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
850b08a16c
spirv: Be aware of NAN unaware drivers
2021-07-22 21:51:30 -04:00
ReinUsesLisp and ameerj
fde47152d9
spirv: Add SSBO read fallbacks when no aliasing is available
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
fd913bceaf
spirv: Add OpKill fallback to demote
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
d2a0f9d7ad
spirv: Do not enable ShaderLayer
...
This is enabled by an extension instead of the capability.
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
2b434b74af
spirv: Enable DemoteToHelperInvocationEXT only when supported
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
cfd873275d
spirv: Use OriginLowerLeft when requested
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
bafe9e35a9
spirv: Only add image operands mask when needed
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
d2e811db2e
spirv: Workaround image unsigned offset bug
...
Workaround bug on Nvidia's OpenGL SPIR-V compiler when using unsigned
texture offsets.
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
4ead714910
spirv: Add int8 and int16 capabilities only when supported
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
33bebc3412
spirv: Add integer clamping workarounds
...
Workaround more bugs on Nvidia's OpenGL SPIR-V compiler.
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
7b03b97118
spirv: Implement int8 and int16 conversion fallbacks
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
48a17298d7
spirv: Support OpenGL uniform buffers and change bindings
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
d5d6778ba5
spirv: Desambiguate descriptor names
...
Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are
used for name matching.
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
a46d91b1ef
shader: Add OpenGL shader profile options
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
028f0033bd
shader: Remove shader util
2021-07-22 21:51:29 -04:00
FernandoS27 and ameerj
c49d56c931
shader: Address feedback
2021-07-22 21:51:29 -04:00
FernandoS27 and ameerj
b541f5e5e3
shader: Implement VertexA stage
2021-07-22 21:51:29 -04:00
FernandoS27 and ameerj
da936d6ad8
shader: Implement delegation of Exit to dispatcher on CFG
2021-07-22 21:51:29 -04:00
ameerj
fb14820c86
shader: Fix IADD3.CC
2021-07-22 21:51:29 -04:00
ameerj
20e86fd615
shader: Fix BFE s32 undefined check
...
Our unit tests were hitting this exception.
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
50eb03382e
shader: Fix error checking in bitfieldExtract and implement bitfieldInsert folding
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
57464e3b72
shader: Fix storage type when reading patches on tess control
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
d2b54c6e42
shader: Fix VMNMX selector B
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
155be4a8d3
shader: Increase the maximum number of storage buffers
...
Compute shaders spill uniform buffers on storage buffers, increasing the
expected number.
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
0c7230a606
shader: Add more strict validation the pass
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
25949b864c
shader: Fix forward referencing identity instructions when inserting phi
2021-07-22 21:51:29 -04:00
ReinUsesLisp and ameerj
92a01984e6
shader: Remove invalidated blocks in dead code elimination pass
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