Commit Graph

207 Commits

Author SHA1 Message Date
lizzie 966e975ed9 fix with bigger batch sizes 2026-07-09 23:12:47 +00:00
lizzie 11e8e1de63 [cmake] Allow proper unity builds
Signed-off-by: lizzie <lizzie@eden-emu.dev>
2026-07-09 23:12:47 +00:00
lizzie cb40b310f5 [opengl] fix GL_NV_geometry_shader_passthrough compiler complaints (#3357)
this can be seen immediately on startup of switch sports where the passthru geometry shader will spectacularly fail to compile because the driver complains about re-declaration

this is just a simple and quickie fix for that

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3357
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-01-21 00:16:30 +01:00
lizzie 0e6ea2d9d6 [shader_recompiler] Add IAbs64 to prevent errors when using I2F with a 64-bit packed CBUF variant (#2918)
- Using I2F cbuf variant (packed 32x2 aka. U64)
- Code will call IAbs() if some conditions are met (signed + abs bit)
- Uh oh we don't have a variant for 64 bits!
- Fuck now we just made BAD ir code :(

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2918
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-03 20:20:19 +01:00
lizzie 191e4c75a1 [meta] fix license headers (#2547)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-21 21:58:59 +02:00
lizzie 9d2681ecc9 [cmake] enable clang-cl and WoA builds (#348)
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.

Compiling on clang is *dramatically* faster so this should be useful for CI.

Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-09 20:47:49 +02:00
lizzie 7962c81738 [spirv] new castings for int8/int16/etc (#86)
This commit introduces extended support for low-precision integer casting (int8, int16) in the SPIR-V shader generation pipeline, improving compatibility and performance across both Android and PC platforms.

Co-authored-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/86
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-07-23 01:02:10 +02:00
MrPurple666 44dc152a2b Add InputTopologyVertices from torzu adapted to eden 2025-04-19 17:56:48 -03:00
crueter 9cef9f5dce Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 01:11:22 +02:00
darktux 9f4ef30b55 Add SR_WScaleFactorXY/SR_WScaleFactorZ stubs for Prince of Persia (#5)
Pulled in and cleaned up from Sudachi

Reviewed-on: http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/darktux/torzu/pulls/5
Co-authored-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
Co-committed-by: darktux <darktux@y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion>
2025-04-04 03:40:48 +02:00
Viktor Szépe 8f8a15827f Fix more typos 2024-01-15 23:26:53 +00:00
Ameer J 822348997d emit_glsl_image: Use inlined texelFetch offsets 2023-12-20 19:24:11 -05:00
liamwhite 5b3522cbe8 Merge pull request #12196 from ameerj/glsl-cbuf-sizes
GLSL: Use known cbuf sizes when possible
2023-12-03 16:27:07 -05:00
Ameer J 38449c071d GLSL: Prefer known used cbuf sizes 2023-11-26 23:25:29 -05:00
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