Commit graph

193 commits

Author SHA1 Message Date
Ameer J
a9e011c9c2 Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
Ameer J
abd400e04f shader_recompiler: Fix spelling of "derivate" (#12067) 2023-11-18 13:39:47 +01:00
Ameer J
b49639e786 shader_recompiler: Align SSBO offsets in GlobalMemory functions 2023-10-31 20:14:18 -04:00
Ameer J
ef8f689761 emit_glsl_warp: Fix shfl_in_bounds conditional 2023-10-22 00:45:23 -04:00
Liam
024fb4fae9 shader_recompiler: fix emulation of 3D textureGrad 2023-09-01 22:41:01 -04:00
Fernando Sahmkow
01858648d1 Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation 2023-08-18 22:17:02 -04:00
Kelebek1
c7430e51e3 Remove memory allocations in some hot paths 2023-06-22 08:05:10 +01:00
Wollnashorn
45fb154f0d shader_recompiler: Add subpixel offset for correct rounding at ImageGather
On AMD a subpixel offset of 1/512 of the texel size is applied to the texture coordinates at a ImageGather call to ensure the rounding at the texel centers is done the same way as in Maxwell or other Nvidia architectures.
See https://www.reedbeta.com/blog/texture-gathers-and-coordinate-precision/ for more details why this might be necessary.

This should fix shadow artifacts at object edges in Zelda: Breath of the Wild (#9957, #6956).
2023-04-08 16:12:30 +02:00
Liam
5be8a74b0c general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
ameerj
a6405c4890 glsl_emit_context: Remove redeclarations of gl_SampleID and gl_SampleMask
These built-ins seem to be available without needing to be declared for fragment shaders, similar i.e. to gl_FragDepth
2023-02-08 19:34:39 -05:00
ameerj
2a98e88a3a emit_glsl_image: Implement TXQ with MSAA textures
Also fixes for texture buffers, which do not have mips eithers.
2023-01-29 13:31:47 -05:00
liamwhite
a5bc2444d2 Merge pull request #9694 from ameerj/txq-mips
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-29 12:27:26 -05:00
bunnei
6fd5d0c3b5 Merge pull request #9687 from ameerj/ogl-shader-ms
glasm, glsl: Implement multisampled Image Fetch
2023-01-28 16:32:11 -08:00
ameerj
2d2558797c shader_recompiler: TXQ: Skip QueryLevels when possible 2023-01-28 16:25:18 -05:00
ameerj
f68ef5b15a emit_glsl_image: Fix ImageFetch for MSAA textures 2023-01-28 14:39:27 -05:00
ameerj
6967e3edb9 glsl: Add MS sampler types 2023-01-27 02:09:17 -05:00
ameerj
382717743a shader_recompiler: Remove S32 IR type
The frontend IR opcodes do not distinguish between signed and unsigned integer types.

Fixes broken shaders when IR validation/graphics debugging is enabled for shaders that used BitCastS32F32
2023-01-25 22:03:15 -05:00
Fernando Sahmkow
1fdf24a081 Video_core: Address feedback 2023-01-04 14:39:42 -05:00
Fernando Sahmkow
f7b16c30f1 MacroHLE: Add OpenGL Support 2023-01-01 16:43:58 -05:00
liamwhite
d96606b091 Merge pull request #9253 from vonchenplus/attr_layer
shader: Implement miss attribute layer
2022-11-18 22:04:18 -05:00
FengChen
12f2ab01bb shader: Implement miss attribute layer 2022-11-17 22:45:14 +08:00
FengChen
348c6e5b28 video_core: Fix few issues in Tess stage 2022-11-07 15:42:42 +08:00
Feng Chen
bcf6a7c0dd video_core: Fix SNORM texture buffer emulating error (#9001) 2022-11-04 02:39:42 -04:00
bunnei
7c3bee5601 Merge pull request #8858 from vonchenplus/mipmap
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
Morph
9a8db147b2 CMakeLists: Disable C4100 and C4324
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22 15:02:04 -04:00
Andrea Pappacoda
b1585fed5a chore: fix some typos
Fix some typos reported by Lintian
2022-09-23 13:38:23 +02:00
FengChen
38e9c78843 video_core: Generate mipmap texture by drawing 2022-09-20 11:55:43 +08:00
FengChen
98656c14a8 video_code: support rectangle texture 2022-08-25 12:45:58 +08:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Liam
146f1f5ac6 shader_compiler: support const buffer indirect addressing in GLSL 2022-04-01 17:08:40 -04:00
ameerj
0df188787a shader_recompiler: Reduce unused includes 2022-03-20 02:25:08 -04:00
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