ReinUsesLisp
ba89444667
shader: Support out of bound local memory reads and immediate writes
Support ignoring immediate out of bound writes. Writing dynamically out
of bounds is not yet supported (e.g. R0+0x4).
Reading out of bounds yields zero. This is supported checking for the
size from the IR; if the input is immediate, the optimization passes
will drop it.
5 years ago
ameerj
3927809a63
shader: Fix disabled attribute default values
5 years ago
ameerj
e6d3a301f2
glsl: Simplify FCMP emission
5 years ago
ameerj
4f3e869dd0
glsl: Update TessellationControl gl_in
Adheres to GL_ARB_separate_shader_objects requirements
5 years ago
ameerj
ffe72f8d37
shader: Implement ISETP.X
5 years ago
ReinUsesLisp
2321666580
shader: Avoid usage of C++20 ranges to build in clang
5 years ago
ameerj
a23f05c215
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
5 years ago
lat9nq
b557314001
shader_recompiler, video_core: Resolve clang errors
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
5 years ago
ReinUsesLisp
cdb3837085
shader: Manually convert from array<u32> to bitset instead of using bit_cast
5 years ago
ameerj
f2f16e3a1d
glsl: Fix tracking of info.uses_shadow_lod
5 years ago
ameerj
508e41777b
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
ameerj
d54c4880d1
dual_vertex_pass: Clang format
5 years ago
ReinUsesLisp
ff35ef8ec1
emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
Fix regression on Fire Emblem: Three Houses when using native fp16.
5 years ago
lat9nq
c969f6e678
shader: GCC fmt 8.0.0 fixes
5 years ago
ameerj
79e317ad7d
shader: Account for 33-bit IADD3 scenario
5 years ago
ReinUsesLisp
611797a7c6
shader: Only apply shift on register mode for IADD3
5 years ago
ReinUsesLisp
b48b4b0600
shader: Fix disabled and unwritten attributes and varyings
5 years ago
ameerj
d77dc5919c
glsl: Fix shared and local memory declarations
account for the fact that program.*memory_size is in units of bytes.
5 years ago
ameerj
33d21ac2db
opengl: Implement LOP.CC
Used by MH:Rise
5 years ago
ReinUsesLisp
7dc8577529
spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
5 years ago
ameerj
c446ada33e
glsl: Declare local memory in main
5 years ago
ameerj
0810714e46
glsl: Add passthrough geometry shader support
5 years ago
ReinUsesLisp
41b2a991c4
shader: Use std::bit_cast instead of Common::BitCast for passthrough
5 years ago
ReinUsesLisp
362888dcb0
glasm: Add passthrough geometry shader support
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
6db3ba6542
shader: Only verify shader when graphics debugging is enabled
5 years ago
ReinUsesLisp
c0705f79b8
shader: Unify shader stage types
5 years ago
lat9nq
0f092f17af
lower_int64_to_int32: Add missing include
5 years ago
ReinUsesLisp
0a75c400e3
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
e3df2285ca
shader: Add int64 to int32 lowering pass
5 years ago
ReinUsesLisp
ba211323ab
shader: Teach global memory base tracker to follow vectors
5 years ago
ReinUsesLisp
f54fa4a1f5
shader: Add constant propagation to integer vectors
5 years ago
ameerj
99e8164b43
glsl: Better IAdd Overflow CC fix
This ensures the original operand values are not overwritten when being used in the overflow detection.
5 years ago
ReinUsesLisp
f158fe9359
shader: Remove IAbs64
5 years ago
ameerj
516c17d4d3
glsl: Fix IADD CC
5 years ago
ameerj
58a052072c
shader_recompiler: Fix IADD3 input partitioning
5 years ago
ReinUsesLisp
04c1dca457
shader: Move loop safety tests to code emission
5 years ago
ameerj
abade15f5e
glsl: Remove frag color initialization
5 years ago
ameerj
1d99187d4c
glasm: Implement SetAttribute ViewportMask
5 years ago
ameerj
b79424c3bf
emit_glsl_special: Skip initialization of frag_color0
Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest.
5 years ago
ReinUsesLisp
d633ec4ecc
shader: Calibrate loop safety threshold
5 years ago
Morph
6e8400f165
glsl: Add missing ; in EmitSetSampleMask
Fixes shader compilation in Okami HD
5 years ago
ameerj
7d20cd7656
glsl: Fix output varying initialization when transform feedback is used
5 years ago
ameerj
633c54a202
texture_pass: Fix is_read image qualification
Atomic operations are considered to have both read and write access. This was not being accounted for.
5 years ago
ReinUsesLisp
9c387a270b
shader: Align constant buffer sizes to 16 bytes
WAR for AMD reading zeroes on uniform buffers of size 2.
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
ameerj
45c91da369
glsl: Fix cbuf component indexing bug falback
5 years ago
ReinUsesLisp
16d28031e7
shader: Simplify MergeDualVertexPrograms
5 years ago
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
5 years ago