Commit Graph

69 Commits (374eeda1a35f6a1dc81cf22122c701be68e89c0f)

Author SHA1 Message Date
ReinUsesLisp 374eeda1a3 shader: Properly manage attributes not written from previous stages 4 years ago
ReinUsesLisp adc43297c5 spirv: Fix output generics with components 4 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.
4 years ago
ReinUsesLisp 9e7b6622c2 shader: Split profile and runtime information in separate structs 4 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.
4 years ago
ReinUsesLisp c4fd6b55bc glasm: Implement shuffle and vote instructions on GLASM 4 years ago
FernandoS27 ee61ec2c39 shader: Optimize NVN Fallthrough 4 years ago
ameerj 7ecc6de56a shader: Implement Int32 SUATOM/SURED 4 years ago
ReinUsesLisp 4ead714910 spirv: Add int8 and int16 capabilities only when supported 4 years ago
ReinUsesLisp 48a17298d7 spirv: Support OpenGL uniform buffers and change bindings 4 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.
4 years ago
ReinUsesLisp d10cf55353 shader: Implement indexed textures 4 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.
4 years ago
ReinUsesLisp 6325601947 spirv: Fix ViewportMask 4 years ago
ameerj 5b8afed871 spirv: Replace Constant/ConstantComposite with Const helper 4 years ago
ReinUsesLisp 80940b1706 shader: Implement SampleMask 4 years ago
ReinUsesLisp 95815a3883 shader: Implement PIXLD.MY_INDEX 4 years ago
ReinUsesLisp e3514bcd6b spirv: Implement ViewportMask with NV_viewport_array2 4 years ago
ReinUsesLisp b0f1255c8c shader: Implement PrimitiveId 4 years ago
ReinUsesLisp 183855e396 shader: Implement tessellation shaders, polygon mode and invocation id 4 years ago
ReinUsesLisp 416e1b7441 spirv: Implement image buffers 4 years ago
ReinUsesLisp d8ec99dada spirv: Implement Layer stores 4 years ago
ReinUsesLisp b126987c59 shader: Implement transform feedbacks and define file format 4 years ago
ReinUsesLisp fa75b9b062 spirv: Rework storage buffers and shader memory 4 years ago
ReinUsesLisp f263760c5a shader: Implement geometry shaders 4 years ago
ReinUsesLisp 5c61e860e4 shader: Implement SR_THREAD_KILL 4 years ago
ameerj 3db2b3effa shader: Implement ATOM/S and RED 4 years ago
ReinUsesLisp 7cb2ab3585 shader: Implement SULD and SUST 4 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>
4 years ago
ReinUsesLisp e9a91bc5cc shader: Interact texture buffers with buffer cache 4 years ago
ReinUsesLisp 1f3eb601ac shader: Implement texture buffers 4 years ago
FernandoS27 dcaf0e9150 shader: Address feedback 4 years ago
FernandoS27 73cb17f41b shader: Implement indexed Position and ClipDistances 4 years ago
FernandoS27 1d51803169 shader: Implement indexed attributes 4 years ago
FernandoS27 72daa2a039 shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware 4 years ago
ReinUsesLisp da6cf2632c shader: Add subgroup masks 4 years ago
ReinUsesLisp 3f594dd86b shader: Reimplement GetCbufU64 as GetCbufU32x2
It may generate better code on some compilers and it's easier to handle.
4 years ago
FernandoS27 baec84247f shader: Address Feedback 4 years ago
FernandoS27 595806fb1c shader: Fix shared memory on cool drivers 4 years ago
FernandoS27 d819ba4489 shader: Implement ViewportIndex 4 years ago
ReinUsesLisp f1dd743731 shader: Fix dependency on identity removal pass 4 years ago
ReinUsesLisp 09e1927b70 spirv: Remove unnecesary variable for clip distances 4 years ago
FernandoS27 0c4cf3b9eb shader: Implement ClipDistance 4 years ago
FernandoS27 613b48c4a2 shader,spirv: Implement ImageQueryLod. 4 years ago
ReinUsesLisp 7a1c14269e spirv: Add fixed pipeline point size 4 years ago
FernandoS27 9d7422d967 shader: Add PointCoord attribute 4 years ago
ameerj b7589fe115 shader: Add PointSize attribute 4 years ago
ameerj 6c51f49632 shader: Implement FSWZADD 4 years ago
ReinUsesLisp e860870dd2 shader: Implement LDS, STS, LDL, and STS and use SPIR-V 1.4 when available 4 years ago
ReinUsesLisp dbd882ddeb shader: Better interpolation and disabled attributes support 4 years ago