Billy Laws
ef9b177ecb
Include <bit> header when std::count{r,l}_zero is used
Needed for compilation with older libc++ releases
4 years ago
ameerj
0df188787a
shader_recompiler: Reduce unused includes
4 years ago
Liam
83b1c9de37
Address review comments
4 years ago
Liam
95b9f62686
shader_recompiler: Use functions for indirect const buffer accesses
4 years ago
v1993
970b362ca1
shader_recompiler: fix potential OOB access
Found by static analysis with PVS-Studio. Original check wasn't actually checking for OOB and would segfault in case of it.
4 years ago
vonchenplus
8ea541bc11
Remove spirv handle legacy related code
4 years ago
ameerj
efd428c747
shader_recompiler: Adjust emit_context includes
4 years ago
ameerj
c0705ede4d
shader_recompiler: Rename backend emit_context files
4 years ago
ameerj
d644a3780c
vulkan: Fix rescaling push constant usage
4 years ago
ReinUsesLisp
d04e2dac6c
shader: Properly scale image reads and add GL SPIR-V support
Thanks for everything!
4 years ago
ReinUsesLisp
e63fc7a4bb
spirv: Implement rescaling patching
4 years ago
Feng Chen
c047b66519
Simply legacy attribute implement
4 years ago
vonchenplus
64a9dffd3d
Support gl_FogFragCoord attribute
4 years ago
vonchenplus
1c917c6905
Support gl_BackSecondaryColor attribute
4 years ago
vonchenplus
9cd198ede9
Support gl_FrontSecondaryColor attribute
4 years ago
vonchenplus
b4301281d5
Support gl_BackColor attribute
4 years ago
Feng Chen
63aba30181
Detail adjustment
4 years ago
Feng Chen
38b28f1c4d
Detail adjustment
4 years ago
Feng Chen
3948edde71
Re-implement get unused location
4 years ago
Feng Chen
bd94ea2f5a
Move attribute related definitions to spirv anonymous namespace
4 years ago
Feng Chen
dc8967ebcd
Dynamic get unused location
4 years ago
Feng Chen
1aaa6a353b
Implement intput and output fixed fnc textures
4 years ago
Feng Chen
49c66fa4e9
Rename parameters
4 years ago
Feng Chen
b3e5a2f75d
Fix create GraphicsPipelines crash
4 years ago
Feng Chen
a1c9039eae
Add input/output location
4 years ago
Feng Chen
b86a4caa20
Add colorfront and txtcoord support
4 years ago
ameerj
508e41777b
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
lat9nq
c969f6e678
shader: GCC fmt 8.0.0 fixes
5 years ago
ReinUsesLisp
7dc8577529
spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
5 years ago
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.
5 years ago
ReinUsesLisp
10f91c42e2
spirv: Properly handle devices without int8 and int16
5 years ago
ReinUsesLisp
fe5fc478e7
spirv: Handle small storage buffer loads on devices with no support
5 years ago
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
d27dbec3e6
spirv: Fix output generics with components
5 years ago
ReinUsesLisp
9750e0410b
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
9452fe2dc6
shader: Split profile and runtime information in separate structs
5 years ago
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.
5 years ago
ReinUsesLisp
7273fcab95
glasm: Implement shuffle and vote instructions on GLASM
5 years ago
FernandoS27
007a11014c
shader: Optimize NVN Fallthrough
5 years ago
ameerj
455872a4af
shader: Implement Int32 SUATOM/SURED
5 years ago
ReinUsesLisp
4a76786740
spirv: Add int8 and int16 capabilities only when supported
5 years ago
ReinUsesLisp
884a937022
spirv: Support OpenGL uniform buffers and change bindings
5 years ago
ReinUsesLisp
2bdce72c92
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
052317e748
shader: Implement indexed textures
5 years ago
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.
5 years ago
ReinUsesLisp
eb7a932952
spirv: Fix ViewportMask
5 years ago
ameerj
688c89590c
spirv: Replace Constant/ConstantComposite with Const helper
5 years ago
ReinUsesLisp
ad1507b4a5
shader: Implement SampleMask
5 years ago
ReinUsesLisp
cc96469019
shader: Implement PIXLD.MY_INDEX
5 years ago
ReinUsesLisp
b6b541e36a
spirv: Implement ViewportMask with NV_viewport_array2
5 years ago