121 Commits

Author SHA1 Message Date
Dario
ad679ef892 Add automatic GraphicsAPI option. 2025-03-23 20:54:31 -03:00
Darío
52ff7f5188
Avoid using native samplers on reinterpreted tiles. (#144) 2025-03-23 15:46:25 -03:00
Darío
0725cd261a
Depth clear optimization. (#139)
* Depth clear optimization.

* Fix sign compare compilation error

* Removed attribution at Wiseguy's request.

* Another attribution removed.

---------

Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com>
2025-03-23 15:20:20 -03:00
David Chavez
be1a5d7175
fix(metal): Fixes two instances of bad releases (#143)
* fix(metal): Fixes two instances of bad releases

* Don’t retain unecessarily
2025-03-23 14:23:42 -03:00
Darío
58384ba527
Fix native samplers not being usable on tile copies. (#140) 2025-03-23 12:08:31 -03:00
Darío
30ce08d33c
Do not use native samplers for tile copies. (#138) 2025-03-22 19:00:05 -03:00
Darío
523f7f845c
Fix upper range of texture descriptor set. (#137) 2025-03-22 16:06:18 -03:00
Darío
1d958b534c
Avoid using get dimensions. (#136)
* Avoid using get dimensions.

* Simplify textureIndex code.
2025-03-22 15:33:03 -03:00
Darío
688c822e8d
Work around present wait issue on NVIDIA, Vulkan, Windows and multi-monitor setup. (#135)
* Work around present wait issue on NVIDIA, Vulkan, Windows and multi-monitor setup.

* Use created graphics API instead.
2025-03-22 15:17:10 -03:00
Darío
09de8e15a0
Extend RDNA3 workaround. (#134) 2025-03-22 14:37:36 -03:00
Darío
20eece02ab
Match mipmap lod bias in native sampler to shader. (#126)
* Match mipmap lod bias in native sampler to shader.

* Adjust mip bias.
2025-03-22 14:04:13 -03:00
Darío
a636d78098
Enable re-spirv again by making different shader generation for specialized shaders. (#133)
* Enable re-spirv again by making different shader generation for specialized shaders.

* Remove unused lines.
2025-03-22 02:55:24 -03:00
Darío
b736bf6638
Use native samplers on SD textures. (#127)
* Use native samplers on SD textures.

* Fix TMEM textures going down the path of native samplers.
2025-03-20 08:59:28 -03:00
Dario
fad52727a8 Fix typo in render interface example. 2025-03-19 19:52:39 -03:00
David Chavez
ca146dbd31
fix(metal): mark resolvable textures as shader write (#125) 2025-03-15 16:52:20 +01:00
David Chavez
968aa0a8a8
fix(metal): mark arg buffer as modified (#124)
Co-authored-by: David Chavez <davi@dcvz.io>
2025-03-15 15:12:47 +01:00
David Chavez
8efb6cc816 Fix int in spirv_cross_msl.cpp 2025-03-14 13:17:47 +01:00
David Chavez
61aa08f517
Add Metal Support (#9)
Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
Co-authored-by: tanmaysachan <tnmysachan@gmail.com>
Co-authored-by: Dario <dariosamo@gmail.com>
2025-03-11 06:15:21 +01:00
Wiseguy
3d80ce9d06
Disable function type cast mismatch warning on clang (for imgui) (#115) 2025-03-05 22:06:37 -05:00
Dario
1db8c347ca Undef always from X11 headers. 2025-01-27 22:07:53 -03:00
Dario
3b2743b522 Revert re-spirv commit. 2025-01-23 21:17:03 -03:00
Dario
e5cf258750 Fix handling of CI16 and CI32 formats. 2025-01-23 21:04:48 -03:00
Dario
6ec34891e1 Fix SDL Window Vulkan handling. 2025-01-23 21:04:36 -03:00
Dario
1d42bbe248 Update re-spirv. 2025-01-23 21:04:26 -03:00
Darío
0ca92eeb6c
Disable Gamepad Polling in ImGui. (#100)
* Disable Gamepad Polling in ImGui.

* Take out SDL2 gamepad support from ImGui's backend, implement recursive mutex for inspector.
2024-12-28 20:25:24 -03:00
Dario
16f1708da2 Exclude SDL Window macro from being defined outside of Linux. 2024-12-24 00:05:37 -03:00
Darío
ffa69ad27c
Update hlslpp. (#98) 2024-12-23 23:26:45 -03:00
Darío
210c5f0cf9
Add option and behavior to create the Vulkan interface correctly. (#99) 2024-12-23 23:26:36 -03:00
Darío
7997da230e
SDL Vulkan support. (#96) 2024-12-23 20:03:47 -03:00
Darío
67422c3b64
Add S2DEX Replacements. (#92) 2024-11-17 22:52:08 -03:00
Dario
e266c4e04c Merge branch 'main' of https://github.com/rt64/rt64 2024-11-11 20:13:06 -03:00
Dario
049c81dc1e Database replacement version, F3DEX2 force matrix, big texture TMEM check. 2024-11-11 20:12:56 -03:00
Darío
c7e270cf15
Fix TLUT masking to the lower half of TMEM. (#91) 2024-11-05 21:40:11 -03:00
Wiseguy
180f663938
Ubershader Optimizations (#87)
* Optimized TMEM decoding by deduplicating loads

* Trim obsolete TMEM sampling function args and deduplicate some 4-bit format logic

* Deduplicate tlut loading and 32-bit sample loading in texture decoding

* Move clampWrapMirrorSample and sampleTextureLevel calls into loops to significantly improve ubershader size
2024-11-05 20:49:06 -03:00
Darío
1684267f2c
RHI Updates (#88)
* Add buffer count, vsync, alpha to coverage, sampler heaps.

* Alternate resolve path with rasterization supported.

* Fix Linux.

* NVIDIA Driver Workaround.
2024-11-05 20:48:49 -03:00
Darío
85df6cf053
Negative noise dither option. (#81) 2024-09-17 09:11:41 -03:00
Dario
d884392b71 Clear operations from present queue when framebuffer changes are released. 2024-09-15 12:05:57 -03:00
Dario
5749e90548 Deprecate and remove offline shader cache. 2024-08-19 19:49:05 -03:00
GhostlyDark
6853ac4c35
Update mupen64plus submodules (#76) 2024-08-14 15:23:45 -03:00
Darío
88c618c1f8
Add inspector with hooks for SDL2. (#75)
* Add inspector with hooks for SDL2.

* Fix build errors.

* Add the remaining SDL2 implementation that was required.
2024-08-10 19:41:29 -03:00
GhostlyDark
1812bc03c3
Expand GBI database - Part 2 (#66)
* Add F3DLX 1.2x, F3DTEX/A 1.23, F3DLX.NoN 1.2x

* Add F3DEX.Rej 2.xx, S2DEX 1.xx, ZSORTP 0.33

* Add S2DEX 2.06, S2DEX 2.08, L3DEX 2.05, L3DEX 2.08

* Add F3DLX 1.23.Rej, F3DLP Rej, F3DLX2 xbus Rej, L3DEX 1.xx

* Add F3D, L3D (Blast Corps)

* Add F3DLP 0.96.Rej, F3DFLX, F3DAM, S2D, S2DEX 2.xx

* Add F3D.NoN (2.0D) and F3DLX.NoN 1.00
2024-08-08 18:23:01 -03:00
Dario
6f7987b539 Remove unused method. 2024-08-08 00:10:22 -03:00
Darío
8e8588df56
Pipeline strategy (#72)
* Attempt to aid the driver when creating ubershader pipelines.

* Second attempt.

* Missing include.

* Change the index in the condition.
2024-08-08 00:06:14 -03:00
Darío
b91d6a7441
Use re-spirv instead of native specialization constants. Optimize the amount of ubershader pipelines that need to be created. (#69) 2024-08-07 21:38:50 -03:00
David Chavez
cb631739b0
chore(ci): Run workflow with clang on windows (#68)
* chore(ci): Run workflow with clang on windows

* fix compilation issue
2024-08-05 08:49:58 -03:00
Dario
825e5a8c78 Recursive workflow. 2024-08-04 15:36:28 -03:00
Tanmay
b32ff329f9
Fix swap chain tests to use the new semaphore API (#67) 2024-08-01 09:40:17 -03:00
Darío
734ae60512
Replace swap chain RHI to use semaphores instead. (#65)
* Rewrite swap chains to use semaphores.

* Delay resize until there's something to draw.

* Unused variable.
2024-07-31 12:29:33 -03:00
Dario
8d6b2621f7 Wait for texture streaming threads to finish before exiting. 2024-07-28 22:33:52 -03:00
Dario
09f7ac21d0 Handle empty scissors correctly. 2024-07-28 16:35:08 -03:00