9245b426e3
shader_recompiler: fix emulation of 3D textureGrad
2023-09-01 22:41:01 -04:00
c03f0b3c89
Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation
2023-08-18 22:17:02 -04:00
5da70f7197
Remove memory allocations in some hot paths
2023-06-22 08:05:10 +01:00
780240e697
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
600f325d87
general: fix spelling mistakes
2023-03-12 11:33:01 -04:00
04139cb3ed
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
08feba2b56
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
208e635f37
Merge pull request #9694 from ameerj/txq-mips
...
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-29 12:27:26 -05:00
40e7d78179
Merge pull request #9687 from ameerj/ogl-shader-ms
...
glasm, glsl: Implement multisampled Image Fetch
2023-01-28 16:32:11 -08:00
2c2e019a44
shader_recompiler: TXQ: Skip QueryLevels when possible
2023-01-28 16:25:18 -05:00
c0cedbae94
emit_glsl_image: Fix ImageFetch for MSAA textures
2023-01-28 14:39:27 -05:00
5710e90150
glsl: Add MS sampler types
2023-01-27 02:09:17 -05:00
93cc6e4d99
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
a0c697124c
Video_core: Address feedback
2023-01-04 14:39:42 -05:00
8d694701bc
MacroHLE: Add OpenGL Support
2023-01-01 16:43:58 -05:00
9c67334031
Merge pull request #9253 from vonchenplus/attr_layer
...
shader: Implement miss attribute layer
2022-11-18 22:04:18 -05:00
60e0d4a177
shader: Implement miss attribute layer
2022-11-17 22:45:14 +08:00
a4472b5526
video_core: Fix few issues in Tess stage
2022-11-07 15:42:42 +08:00
75596c07e0
video_core: Fix SNORM texture buffer emulating error ( #9001 )
2022-11-04 02:39:42 -04:00
38e4382f53
Merge pull request #8858 from vonchenplus/mipmap
...
video_core: Generate mipmap texture by drawing
2022-11-03 22:21:58 -07:00
3822e31323
CMakeLists: Disable C4100 and C4324
...
Disabling C4100 is similar to -Wno-unused-parameter
2022-10-22 15:02:04 -04:00
4a493cb10f
chore: fix some typos
...
Fix some typos reported by Lintian
2022-09-23 13:38:23 +02:00
9a95c7fa14
video_core: Generate mipmap texture by drawing
2022-09-20 11:55:43 +08:00
b2a6dde438
video_code: support rectangle texture
2022-08-25 12:45:58 +08:00
99ceb03a1c
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
7d5a38ea6c
shader_compiler: support const buffer indirect addressing in GLSL
2022-04-01 17:08:40 -04:00
574a2c4b77
shader_recompiler: Reduce unused includes
2022-03-20 02:25:08 -04:00
e394e1ecc4
emit_glsl_atomic: Implement 32x2 fallback atomic ops
2022-01-29 19:56:03 -05:00
ad58d7eae7
shaders: Add U64->U32x2 Atomic fallback functions
2022-01-29 19:55:53 -05:00
a943600019
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
524674aafc
glsl: Remove unreachable return
2022-01-04 20:23:39 -06:00
8c907c620d
glsl: Add boolean reference workaround
2021-12-29 19:03:50 -05:00
b84d429c2e
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
9f34be5a61
emit_glsl_integer: Use negation work around
2021-12-29 19:03:50 -05:00
14ac0c2923
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
640fc1418b
emit_glsl_floating_point: Fix FPNeg on newer Nvidia drivers
2021-12-24 20:03:54 -05:00
94652e122d
Remove glsl handle legacy related code
2021-12-18 14:03:40 +08:00
f32b2bcd20
shader_recompiler: Adjust emit_context includes
2021-12-05 18:11:19 -05:00
5286a7bc4c
shader_recompiler: Rename backend emit_context files
2021-12-05 16:33:44 -05:00
e66d5b88a6
shader: Properly scale image reads and add GL SPIR-V support
...
Thanks for everything!
2021-11-16 22:11:29 +01:00
cfeb161c7e
glsl/glasm: Pass and use scaling parameters in shaders
2021-11-16 22:11:29 +01:00
f086c82e1f
gl_graphics_pipeline: Add downscale factor to shader uniforms
2021-11-16 22:11:28 +01:00
c15332c44f
shader: Add IsTextureScaled opcode
2021-11-16 22:11:28 +01:00
95761cc6a7
shader: Add integer division opcodes
2021-11-16 22:11:28 +01:00
fb924ea85c
shader: Add resolution down factor opcode
2021-11-16 22:11:27 +01:00
194579bc4f
ShaderCache: Fix Phi Nodes Type on OGL.
2021-11-01 22:26:17 +01:00
e29f3b87f1
style: Remove extra space preceding the :: operator
2021-09-29 01:26:01 -04:00
d956fb3c7c
emit_glsl_warp: Fix shuffle ops for 64-thread warp sizes
2021-08-31 16:11:25 -04:00
5b45dfe971
emit_glsl_warp: Fix ballot related ops for 64-thread warp sizes
2021-08-31 16:11:25 -04:00
56c30dd9e0
glsl: Simplify FCMP emission
2021-07-22 21:51:40 -04:00