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>
9 months ago
Gamer64
a002730d68
[VK] Rework SPIRV Shader Optimization ( #238 )
The actual SPIRV Shader Optimization option doesn't seem to do anything as long as it isn't vinculed, so let's rework it to make it work
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Co-authored-by: echosys <echosys@noreply.localhost>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/238
10 months ago
crueter
94c66f98bf
[frontend, web] refactor: web service frontend rewrite ( #221 )
- Automatic verification based on regex
- Token generation button
- Removed unneeded links
- public lobby creation [android]
Signed-off-by: crueter <swurl@swurl.xyz>
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me>
Co-authored-by: Aleksandr Popovich <alekpopo@proton.me>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/221
Co-authored-by: crueter <swurl@swurl.xyz>
Co-committed-by: crueter <swurl@swurl.xyz>
10 months ago
JPikachu
11b152ab58
[spirv] Avoid NaN when a conversion to f16 is emitted ( #215 )
Fixes black squares in Fire Emblem: Three Houses.
And fixes vertex explosions in The Legend of Zelda: Breath of the Wild shrine areas.
These were caused by NaN values from overflowed conversions to float16.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/215
Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-committed-by: JPikachu <jpikachu.eden@gmail.com>
10 months ago
swurl
918d6d3514
proper placement of clip distance init
Signed-off-by: swurl <swurl@swurl.xyz>
1 year ago
JPikachu
c64f1994c7
Fix complination issues by making clip_distance_written static
1 year ago
JPikachu
fc1a3b6310
shader compiler: Ensure all clip distances are initialized when used
Thank you to Ryujinx (riperiperi specifically) for the pointer towards clip distances
Huge thanks to crueter for finding where the code works and Camille for giving pointers along the way.
1 year ago
EmulationEnjoyer
fcec7995af
feat(shader): implement geometry shader invocation info
- Update EmitInvocationInfo in SPIRV backend to handle geometry shader stage
ref: 1266fad681 (diff-4cbf73a98ed4ad649a4a6f38b569bc31fcf68cf7)
1 year ago
MrPurple666
44dc152a2b
Add InputTopologyVertices from torzu adapted to eden
1 year ago
crueter
9cef9f5dce
Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
1 year ago
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>
2 years ago
Liam
749f0564ae
shader_recompiler: throw on missing geometry streams in geometry shaders
2 years ago
Liam
8c5083b014
shader_recompiler: fix non-const offset for arrayed image types
2 years ago
Liam
0466d1dedb
Revert "shader_recompiler: use only ConstOffset for OpImageFetch"
This reverts commit d69e462d13 .
2 years ago
Liam
d69e462d13
shader_recompiler: use only ConstOffset for OpImageFetch
2 years ago
Viktor Szépe
8f8a15827f
Fix more typos
2 years ago
Liam
9070fbdc09
shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loop
2 years ago
Liam
b51ba38c29
shader_recompiler: fix Offset operand usage for non-OpImage*Gather
2 years ago
Liam
221f2edfb9
shader_recompiler: use default value for clip distances array
2 years ago
Liam
e7b5befdad
shader_recompiler: respect clip distance limits in indexed store
2 years ago
Ameer J
deb6899663
spirv_emit_context: Fix BaseInstance for OGL spirv
2 years ago
Liam
a952270b5c
shader_recompiler: use float image operations on load/store when required
2 years ago
Ameer J
822348997d
emit_glsl_image: Use inlined texelFetch offsets
2 years ago
Liam
3c14f747f9
shader_recompiler: use minimal clip distance array
2 years ago
Liam
6611ba122b
shader_recompiler: ignore clip distances beyond driver support level
2 years ago
Ameer J
38449c071d
GLSL: Prefer known used cbuf sizes
2 years ago
Liam
a41e57d968
renderer_vulkan: ignore viewport stores on non-supporting drivers
2 years ago
Ameer J
abd400e04f
shader_recompiler: Fix spelling of "derivate" ( #12067 )
2 years ago
Ameer J
b49639e786
shader_recompiler: Align SSBO offsets in GlobalMemory functions
2 years ago
Ameer J
ef8f689761
emit_glsl_warp: Fix shfl_in_bounds conditional
3 years ago
Kelebek1
90d99fbd00
Manually robust on Maxwell and earlier
3 years ago
Liam
445d504f94
ci: fix new codespell errors
3 years ago
Liam
47ea64c9a5
emit_spirv: fix incorrect use of descriptor index in image atomics
3 years ago
liamwhite
9530b96e5f
shader_recompiler: skip sampler for buffer textures ( #11435 )
3 years ago
Liam
152beedc51
shader_recompiler: always declare image format for image buffers
3 years ago
Liam
024fb4fae9
shader_recompiler: fix emulation of 3D textureGrad
3 years ago
Fernando Sahmkow
01858648d1
Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation
3 years ago
ameerj
a2b344ab9d
emit_glasm: Fix lmem size computation
3 years ago
Kelebek1
c7430e51e3
Remove memory allocations in some hot paths
3 years ago
bunnei
3571f28cde
video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise.
3 years ago
Billy Laws
cfbe4b09eb
Avoid using VectorExtractDynamic for subgroup mask on Adreno GPUs
This crashes their shader compiler for some reason.
3 years ago
Billy Laws
2beb3051c1
Implement scaled vertex buffer format emulation
These formats are unsupported by mobile GPUs so they need to be emulated in shaders instead.
3 years ago
Kelebek1
2e478a66cf
Fix Tears of the Kingdom flickering clouds and depths.
3 years ago
Kelebek1
dc9546fe26
Define SampleMask as an array
3 years ago
Wollnashorn
d53aa13a33
shader_recompiler: Use vector arithmetic rather than component-wise in ImageGatherSubpixelOffset
Should be more efficient and better readable
3 years ago
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 ).
3 years ago
Liam
5be8a74b0c
general: fix spelling mistakes
3 years ago
arades79
60a68839ee
remove static from pointer sized or smaller types for aesthetics, change constexpr static to static constexpr for consistency
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
arades79
adcef452e0
add static lifetime to constexpr values to force compile time evaluation where possible
Signed-off-by: arades79 <scravers@protonmail.com>
3 years ago
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
3 years ago