Feng Chen
1e2a89d306
Add input/output location
4 years ago
Feng Chen
73b11f390e
Add colorfront and txtcoord support
4 years ago
ameerj
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
lat9nq
2e5af95541
shader: GCC fmt 8.0.0 fixes
5 years ago
ReinUsesLisp
5b2b0634a1
spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
5 years ago
ReinUsesLisp
7dafa96ab5
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.
5 years ago
ReinUsesLisp
59fead3a47
spirv: Properly handle devices without int8 and int16
5 years ago
ReinUsesLisp
b5e78607ad
spirv: Handle small storage buffer loads on devices with no support
5 years ago
ReinUsesLisp
374eeda1a3
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
adc43297c5
spirv: Fix output generics with components
5 years ago
ReinUsesLisp
916ca74324
opengl: Declare fragment outputs even if they are not used
Fixes Ori and the Blind Forest's menu on GLASM. For some reason
(probably high level optimizations) it is not sanitized on SPIR-V for
OpenGL. Vulkan is unaffected by this change.
5 years ago
ReinUsesLisp
9e7b6622c2
shader: Split profile and runtime information in separate structs
5 years ago
ReinUsesLisp
d54d7de40e
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.
5 years ago
ReinUsesLisp
c4fd6b55bc
glasm: Implement shuffle and vote instructions on GLASM
5 years ago
FernandoS27
ee61ec2c39
shader: Optimize NVN Fallthrough
5 years ago
ameerj
7ecc6de56a
shader: Implement Int32 SUATOM/SURED
5 years ago
ReinUsesLisp
4ead714910
spirv: Add int8 and int16 capabilities only when supported
5 years ago
ReinUsesLisp
48a17298d7
spirv: Support OpenGL uniform buffers and change bindings
5 years ago
ReinUsesLisp
d5d6778ba5
spirv: Desambiguate descriptor names
Worksaround a bug on Nvidia's OpenGL SPIR-V compiler where names are
used for name matching.
5 years ago
ReinUsesLisp
d10cf55353
shader: Implement indexed textures
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
ReinUsesLisp
80940b1706
shader: Implement SampleMask
5 years ago
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
5 years ago
ReinUsesLisp
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
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
416e1b7441
spirv: Implement image buffers
5 years ago
ReinUsesLisp
d8ec99dada
spirv: Implement Layer stores
5 years ago
ReinUsesLisp
b126987c59
shader: Implement transform feedbacks and define file format
5 years ago
ReinUsesLisp
fa75b9b062
spirv: Rework storage buffers and shader memory
5 years ago
ReinUsesLisp
f263760c5a
shader: Implement geometry shaders
5 years ago
ReinUsesLisp
5c61e860e4
shader: Implement SR_THREAD_KILL
5 years ago
ameerj
3db2b3effa
shader: Implement ATOM/S and RED
5 years ago
ReinUsesLisp
7cb2ab3585
shader: Implement SULD and SUST
5 years ago
lat9nq
0bb85f6a75
shader_recompiler,video_core: Cleanup some GCC and Clang errors
Mostly fixing unused *, implicit conversion, braced scalar init,
fpermissive, and some others.
Some Clang errors likely remain in video_core, and std::ranges is still
a pertinent issue in shader_recompiler
shader_recompiler: cmake: Force bracket depth to 1024 on Clang
Increases the maximum fold expression depth
thread_worker: Include condition_variable
Don't use list initializers in control flow
Co-authored-by: ReinUsesLisp <reinuseslisp@airmail.cc>
5 years ago
ReinUsesLisp
e9a91bc5cc
shader: Interact texture buffers with buffer cache
5 years ago
ReinUsesLisp
1f3eb601ac
shader: Implement texture buffers
5 years ago
FernandoS27
dcaf0e9150
shader: Address feedback
5 years ago
FernandoS27
73cb17f41b
shader: Implement indexed Position and ClipDistances
5 years ago
FernandoS27
1d51803169
shader: Implement indexed attributes
5 years ago
FernandoS27
72daa2a039
shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware
5 years ago
ReinUsesLisp
da6cf2632c
shader: Add subgroup masks
5 years ago
ReinUsesLisp
3f594dd86b
shader: Reimplement GetCbufU64 as GetCbufU32x2
It may generate better code on some compilers and it's easier to handle.
5 years ago
FernandoS27
baec84247f
shader: Address Feedback
5 years ago
FernandoS27
595806fb1c
shader: Fix shared memory on cool drivers
5 years ago
FernandoS27
d819ba4489
shader: Implement ViewportIndex
5 years ago
ReinUsesLisp
f1dd743731
shader: Fix dependency on identity removal pass
5 years ago
ReinUsesLisp
09e1927b70
spirv: Remove unnecesary variable for clip distances
5 years ago