ReinUsesLisp
b1df436cef
shader: Rework varyings and implement passthrough geometry shaders
...
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
9389e71b12
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
ReinUsesLisp
9452fe2dc6
shader: Split profile and runtime information in separate structs
2021-07-22 21:51:33 -04:00
ReinUsesLisp
03f6d424ce
glasm: Rework control flow introducing a syntax list
...
This commit regresses VertexA shaders, their transformation pass has to
be adapted to the new control flow.
2021-07-22 21:51:31 -04:00
ReinUsesLisp
055db41f19
Move SPIR-V emission functions to their own header
2021-07-22 21:51:30 -04:00
ameerj
455872a4af
shader: Implement Int32 SUATOM/SURED
2021-07-22 21:51:30 -04:00
ReinUsesLisp
59668831b7
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
884a937022
spirv: Support OpenGL uniform buffers and change bindings
2021-07-22 21:51:29 -04:00
ReinUsesLisp
052317e748
shader: Implement indexed textures
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
ameerj
688c89590c
spirv: Replace Constant/ConstantComposite with Const helper
2021-07-22 21:51:28 -04:00
ReinUsesLisp
0623915e2e
spirv: Fix implicit lod type
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
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
b6b541e36a
spirv: Implement ViewportMask with NV_viewport_array2
2021-07-22 21:51:28 -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
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
ReinUsesLisp
e59971ea1b
shader: Implement transform feedbacks and define file format
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
879fb08101
shader: Implement SR_THREAD_KILL
2021-07-22 21:51:27 -04:00
ameerj
62c3bef607
shader: Implement ATOM/S and RED
2021-07-22 21:51:27 -04:00
ReinUsesLisp
5ab1ac4f29
shader: Implement SULD and SUST
2021-07-22 21:51:26 -04:00
ReinUsesLisp
3e6cb6362d
shader: Interact texture buffers with buffer cache
2021-07-22 21:51:26 -04:00
ReinUsesLisp
96da029a74
shader: Implement texture buffers
2021-07-22 21:51:26 -04:00
FernandoS27
1fe6a22cff
shader: Implement indexed attributes
2021-07-22 21:51:26 -04:00
ReinUsesLisp
ba2130d5a5
shader: Add subgroup masks
2021-07-22 21:51:26 -04:00
ReinUsesLisp
9db035faec
shader: Reimplement GetCbufU64 as GetCbufU32x2
...
It may generate better code on some compilers and it's easier to handle.
2021-07-22 21:51:26 -04:00
FernandoS27
741b21715a
shader: Address Feedback
2021-07-22 21:51:26 -04:00
FernandoS27
68bad0e922
shader: Implement ViewportIndex
2021-07-22 21:51:25 -04:00
ReinUsesLisp
4d60dd7eb5
spirv: Remove unnecesary variable for clip distances
2021-07-22 21:51:25 -04:00
FernandoS27
40ace25859
shader: Implement ClipDistance
2021-07-22 21:51:25 -04:00
FernandoS27
56c8c42cf8
shader,spirv: Implement ImageQueryLod.
2021-07-22 21:51:25 -04:00
FernandoS27
a8c2a85610
shader: Add PointCoord attribute
2021-07-22 21:51:25 -04:00
ameerj
357a47d944
shader: Add PointSize attribute
2021-07-22 21:51:25 -04:00
ameerj
d5d6d4ce74
shader: Implement FSWZADD
2021-07-22 21:51:25 -04:00
ReinUsesLisp
6044946495
shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available
2021-07-22 21:51:25 -04:00
ReinUsesLisp
63ea42e0d5
shader: Implement front face
2021-07-22 21:51:24 -04:00
ReinUsesLisp
e4ba306750
shader: Implement TXQ and fix FragDepth
2021-07-22 21:51:24 -04:00
ReinUsesLisp
4cd2c1588b
shader: Refactor PTP and other minor changes
2021-07-22 21:51:24 -04:00
FernandoS27
f573d3642e
shader: Implement TLD4.PTP
2021-07-22 21:51:24 -04:00
ReinUsesLisp
24bc872af3
shader: Implement NDC [-1, 1], attribute types and default varying initialization
2021-07-22 21:51:24 -04:00
ameerj
0705eff8f6
shader: Implement VOTE
2021-07-22 21:51:24 -04:00
ReinUsesLisp
5cd8970e73
spirv: Implement VertexId and InstanceId, refactor code
2021-07-22 21:51:23 -04:00
ReinUsesLisp
33090a74dd
shader: Add partial rasterizer integration
2021-07-22 21:51:23 -04:00
ReinUsesLisp
83c7592d3d
shader: Partial implementation of LDC
2021-07-22 21:51:23 -04:00
ReinUsesLisp
a956d3cdb3
shader: Initial support for textures and TEX
2021-07-22 21:51:23 -04:00
ReinUsesLisp
16a5b4f494
spirv: Fixes and Intel specific workarounds
2021-07-22 21:51:22 -04:00