ameerj
092771e9c8
emit_glsl_atomic: Implement 32x2 fallback atomic ops
2022-01-29 19:56:03 -05:00
ameerj
0c5e641757
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
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.
2022-01-17 21:50:51 +03:00
Narr the Reg
0646512a9c
glsl: Remove unreachable return
2022-01-04 20:23:39 -06:00
ameerj
c5c13369fa
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
ameerj
a57dc3509a
glsl_context_get_set: Add alternative cbuf type for broken drivers
...
some drivers have a bug bitwise converting floating point cbuf values to uint variables. This adds a workaround for these drivers to make all cbufs uint and convert to floating point as needed.
2021-12-29 19:03:50 -05:00
ameerj
0918d673a3
emit_glsl_integer: Use negation work around
2021-12-29 19:03:50 -05:00
ameerj
22a4d26479
shader: Add integer attribute get optimization pass
...
Works around an nvidia driver bug, where casting the integer attributes to float and back to an integer always returned 0.
2021-12-29 19:03:49 -05:00
ameerj
fbb33df96f
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
2021-12-24 20:03:54 -05:00
vonchenplus
ac51211ce4
Remove glsl handle legacy related code
2021-12-18 14:03:40 +08:00
ameerj
efd428c747
shader_recompiler: Adjust emit_context includes
2021-12-05 18:11:19 -05:00
ameerj
c0705ede4d
shader_recompiler: Rename backend emit_context files
2021-12-05 16:33:44 -05:00
ReinUsesLisp
d04e2dac6c
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
ReinUsesLisp
0d12e498ab
glsl/glasm: Pass and use scaling parameters in shaders
2021-11-16 22:11:29 +01:00
ameerj
b83c3e7182
gl_graphics_pipeline: Add downscale factor to shader uniforms
2021-11-16 22:11:28 +01:00
ReinUsesLisp
7f88938d72
shader: Add IsTextureScaled opcode
2021-11-16 22:11:28 +01:00
ReinUsesLisp
8cfa8cda16
shader: Add integer division opcodes
2021-11-16 22:11:28 +01:00
ReinUsesLisp
47d1d881cf
shader: Add resolution down factor opcode
2021-11-16 22:11:27 +01:00
Fernando Sahmkow
6f94c9a9fe
ShaderCache: Fix Phi Nodes Type on OGL.
2021-11-01 22:26:17 +01:00
Morph
203d8f7f60
style: Remove extra space preceding the :: operator
2021-09-29 01:26:01 -04:00
ameerj
668d936dd2
emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes
2021-08-31 16:11:25 -04:00
ameerj
9302524b8c
emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes
2021-08-31 16:11:25 -04:00
ameerj
e6d3a301f2
glsl: Simplify FCMP emission
2021-07-22 21:51:40 -04:00
ameerj
4f3e869dd0
glsl: Update TessellationControl gl_in
...
Adheres to GL_ARB_separate_shader_objects requirements
2021-07-22 21:51:40 -04:00
ReinUsesLisp
2321666580
shader: Avoid usage of C++20 ranges to build in clang
2021-07-22 21:51:40 -04:00
ameerj
a23f05c215
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
2021-07-22 21:51:40 -04:00
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
2021-07-22 21:51:40 -04:00
ameerj
508e41777b
shader: Ignore global memory ops on devices lacking int64 support
2021-07-22 21:51:40 -04:00
lat9nq
c969f6e678
shader: GCC fmt 8.0.0 fixes
2021-07-22 21:51:40 -04:00
ReinUsesLisp
b48b4b0600
shader: Fix disabled and unwritten attributes and varyings
2021-07-22 21:51:39 -04:00
ameerj
d77dc5919c
glsl: Fix shared and local memory declarations
...
account for the fact that program.*memory_size is in units of bytes.
2021-07-22 21:51:39 -04:00
ameerj
33d21ac2db
opengl: Implement LOP.CC
...
Used by MH:Rise
2021-07-22 21:51:39 -04:00
ameerj
c446ada33e
glsl: Declare local memory in main
2021-07-22 21:51:39 -04:00
ameerj
0810714e46
glsl: Add passthrough geometry shader support
2021-07-22 21:51:39 -04:00
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
ameerj
99e8164b43
glsl: Better IAdd Overflow CC fix
...
This ensures the original operand values are not overwritten when being used in the overflow detection.
2021-07-22 21:51:39 -04:00
ReinUsesLisp
f158fe9359
shader: Remove IAbs64
2021-07-22 21:51:39 -04:00
ameerj
516c17d4d3
glsl: Fix IADD CC
2021-07-22 21:51:39 -04:00
ReinUsesLisp
04c1dca457
shader: Move loop safety tests to code emission
2021-07-22 21:51:39 -04:00
ameerj
abade15f5e
glsl: Remove frag color initialization
2021-07-22 21:51:39 -04:00
ameerj
b79424c3bf
emit_glsl_special: Skip initialization of frag_color0
...
Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest.
2021-07-22 21:51:38 -04:00
Morph
6e8400f165
glsl: Add missing ; in EmitSetSampleMask
...
Fixes shader compilation in Okami HD
2021-07-22 21:51:38 -04:00
ameerj
7d20cd7656
glsl: Fix output varying initialization when transform feedback is used
2021-07-22 21:51:38 -04:00
ameerj
45c91da369
glsl: Fix cbuf component indexing bug falback
2021-07-22 21:51:38 -04:00
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
2021-07-22 21:51:38 -04:00
ReinUsesLisp
ebd1146ea7
glsl: Only declare fragment outputs on fragment shaders
2021-07-22 21:51:38 -04:00
ReinUsesLisp
9389e71b12
shader: Split profile and runtime info headers
2021-07-22 21:51:38 -04:00
ameerj
7a9b23ea70
glsl: Obey need_declared_frag_colors to declare and initialize all frag_color
...
Fixes Ori and the blind forest title screen
2021-07-22 21:51:38 -04:00
ameerj
1d2c13fd7b
glsl: Address rest of feedback
2021-07-22 21:51:38 -04:00
ameerj
52bd1d7788
glsl: Move gl_Position/generic attribute initialization to EmitProlgue
2021-07-22 21:51:38 -04:00