Commit graph

241 commits

Author SHA1 Message Date
CamilleLaVey
fa600b88b1 revert 91a662431c (#240)
All checks were successful
eden-build / source (push) Successful in 3m28s
eden-build / linux (push) Successful in 20m57s
eden-build / android (push) Successful in 24m39s
eden-build / windows (msvc) (push) Successful in 26m39s
revert [Texture_cache] Better memory handling for devices with lower memory allocations (#233)

Means games like Minecraft Dungeons, Sea of Stars, Luigi Mansion 2, Astroneer, Alan Wake, etc are now playable.
It also cleans up the recent abi.cpp and bindless texture commits a bit.
Everything is in #ifdef ANDROID - The biggest change is CACHING_PAGEBITS = 12.
Without that the way the buffercache grows and joins buffers can cause Android to run out of memory (as you end up with just one big buffer that needs to be copied every time it grows)
Also patches up ffmpeg issues.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/233
Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-committed-by: JPikachu <jpikachu.eden@gmail.com>

Had showed some regressions on devices with higher specifications, will be refined to return as a toggle in a later commit.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/240
2025-06-30 12:57:21 +00:00
JPikachu
91a662431c [Texture_cache] Better memory handling for devices with lower memory allocations (#233)
Means games like Minecraft Dungeons, Sea of Stars, Luigi Mansion 2, Astroneer, Alan Wake, etc are now playable.
It also cleans up the recent abi.cpp and bindless texture commits a bit.
Everything is in #ifdef ANDROID - The biggest change is CACHING_PAGEBITS = 12.
Without that the way the buffercache grows and joins buffers can cause Android to run out of memory (as you end up with just one big buffer that needs to be copied every time it grows)
Also patches up ffmpeg issues.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/233
Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-committed-by: JPikachu <jpikachu.eden@gmail.com>
2025-06-29 17:14:23 +00:00
xbzk
1240cd43d7 patch: mock return for textures not found by Track method (#150)
as discussed in #dev-chat, the goal is to feed untracked bindless textures requests with last valid bindless textures for now, so that most games keep running despite possible visual artifacts. as Track evolves, this mock shall be dropped eventually.

Co-authored-by: Allison Cunha <allisonbzk@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/150
Co-authored-by: xbzk <xbzk@noreply.localhost>
Co-committed-by: xbzk <xbzk@noreply.localhost>
2025-06-05 19:00:24 +00:00
EmulationEnjoyer
cb135ba86f shader/recompiler: Revert NVN storage buffer bias range
- Return to original NVN bias values which better cover the full range of storage buffer accesses:
- offset_begin: 0x110 -> 0x100
- offset_end: 0x610 -> 0x700

The wider range ensures we catch all valid storage buffer accesses
while maintaining the same alignment requirements.

ref: 2564e721df
2025-04-19 17:56:48 -03:00
Viktor Szépe
ce9152ad68 Fix "Propietary" typo elsewhere 2024-01-07 23:15:38 +00:00
Fernando S
35c2a7fa46 Merge pull request #12435 from liamwhite/type-check
shader_recompiler: ensure derivatives for textureGrad are f32
2023-12-22 17:41:13 +01:00
Liam
d74d5f8cfd shader_recompiler: ensure derivatives for textureGrad are f32 2023-12-21 19:06:33 -05:00
Liam
a952270b5c shader_recompiler: use float image operations on load/store when required 2023-12-21 14:34:46 -05:00
Liam
3c14f747f9 shader_recompiler: use minimal clip distance array 2023-12-18 22:25:14 -05:00
Ameer J
a9e011c9c2 Merge branch 'master' into ssbo-align 2023-11-26 21:08:53 -05:00
liamwhite
6cffa63d08 Merge pull request #12066 from ameerj/nvidia-nsanity
shader_recompiler: add byteswap pattern workaround for Nvidia
2023-11-19 09:49:45 -05:00
Ameer J
abd400e04f shader_recompiler: Fix spelling of "derivate" (#12067) 2023-11-18 13:39:47 +01:00
Ameer J
6b239acfc1 shader_recompiler: add byteswap pattern workaround for Nvidia 2023-11-17 22:29:12 -05:00
Ameer J
e538b932de shader_recompiler: Align SSBO offsets to meet host requirements
Co-Authored-By: Billy Laws <blaws05@gmail.com>
2023-10-31 20:10:54 -04:00
Fernando Sahmkow
01858648d1 Shader Recomnpiler: implement textuzreGrad 3D emulation constant propagation 2023-08-18 22:17:02 -04:00
Liam
b13ddf2a73 ssa_rewrite_pass: use proper maps 2023-07-23 11:38:01 -04:00
ameerj
28cecc6cd8 shaders: Track local memory usage 2023-06-25 18:59:33 -04:00
Matías Locatti
28e1429daf Merge pull request #10699 from liamwhite/conditional-barrier
shader_recompiler: remove barriers in conditional control flow when device lacks support
2023-06-12 16:50:59 -03:00
Liam
947a4f6141 shader_recompiler: translate f64 to f32 when unsupported on host 2023-06-10 12:38:49 -04:00
Liam
b646ac2908 shader_recompiler: remove barriers in conditional control flow when device lacks support 2023-06-10 12:30:39 -04:00
ameerj
0194f25eb9 buffer_cache: Add logic for non-NVN storage buffer tracking 2023-02-25 16:24:21 -05:00
liamwhite
694f67e2d5 Merge pull request #9588 from liamwhite/bylaws-reverts
Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
2023-02-19 13:11:57 -05:00
liamwhite
e472e66c2f Merge pull request #9699 from ameerj/texture-pass-desc
texture_pass: Fix texture descriptors comparisons
2023-01-29 12:27:41 -05:00
liamwhite
8224292145 Merge pull request #9698 from ameerj/texture-pass-handle
texture_pass: Refactor texture handle retrieval
2023-01-29 12:27:33 -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
ameerj
6e5f3d43f2 texture_pass: Fix texture descriptors comparisons 2023-01-28 21:23:52 -05:00
ameerj
be397f57ad texture_pass: Refactor texture handle retrieval 2023-01-28 21:11:38 -05:00
bunnei
da76935b7d Merge pull request #9682 from ameerj/shader-s32
shader_recompiler: Remove S32 IR type
2023-01-28 14:00:11 -08:00
ameerj
2d2558797c shader_recompiler: TXQ: Skip QueryLevels when possible 2023-01-28 16:25:18 -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
Liam
ac94832cb6 spirv: fix multisampled image fetch 2023-01-23 12:03:19 -05:00
Liam
5d93c3bb00 Revert "shader_recompiler: Align SSBO offsets to meet host requirements"
This reverts commit ae868e7ffb.
2023-01-07 15:50:58 -05:00
Billy Laws
535e297ebd Run clang-format 2023-01-05 22:18:10 +00:00
Billy Laws
ae868e7ffb shader_recompiler: Align SSBO offsets to meet host requirements
We can take advantage of SSBO addresses being passed in a constant bufer to account for the extra alignment requirements in the shader itself.
2023-01-05 22:13:07 +00:00
Fernando Sahmkow
1fdf24a081 Video_core: Address feedback 2023-01-04 14:39:42 -05:00
Fernando Sahmkow
872f2e7de6 ShaderCompiler: Inline driver specific constants. 2023-01-03 16:29:25 -05:00
Fernando Sahmkow
7842543573 MacroHLE: Add HLE replacement for base vertex and base instance. 2023-01-01 16:43:57 -05:00
Liam
e8966fd1f9 shader_recompiler: add gl_Layer translation GS for older hardware 2022-12-01 09:51:27 -05:00
liamwhite
c4d9b65e0c Merge pull request #9167 from vonchenplus/tess
video_core: Fix few issues in Tess stage
2022-11-11 08:03:40 -05:00
Morph
fc301cf777 ir/texture_pass: Use host_info instead of querying Settings::values (#9176) 2022-11-11 03:32:53 +01: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
Feng Chen
33514a0d94 Revert "shader_recompiler/dead_code_elimination: Add DeadBranchElimination pass" 2022-10-25 12:57:25 +08:00
Liam White
6df0663a57 General: Fix compilation for GCC 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
3c4e05745f Shader Decompiler: implement better tracking for Vulkan samplers. 2022-10-06 21:00:53 +02:00
Fernando Sahmkow
dc74837ac9 Shader Decompiler: Check for shift when deriving composite samplers. 2022-10-06 21:00:52 +02:00
Feng Chen
328ad69854 Merge branch 'master' into mipmap 2022-09-20 11:56:43 +08:00
FengChen
38e9c78843 video_core: Generate mipmap texture by drawing 2022-09-20 11:55:43 +08:00
Morph
649c49525d style: General style changes to match with the rest of the codebase 2022-08-31 08:51:47 -04:00