Commit Graph

91 Commits

Author SHA1 Message Date
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
GhostlyDark
c6e50be61a
Add various F3DEX microcodes (#62) 2024-07-28 16:20:04 -03:00
AltoXorg
8747507cf9
Add necessary headers and use %zu (#63) 2024-07-28 12:53:10 -03:00
Dario
04c7d45920 Change streaming queue to streaming stack to prioritize later draw calls. 2024-07-28 12:43:46 -03:00
Dario
fa373f0b8a Patch miniz instead to allow specifying the compression method. 2024-07-27 16:40:16 -03:00
Darío
b53d7f7611
Update TEXTURE-PACKS.md 2024-07-27 14:55:37 -03:00
Darío
3ca12a69fb
Update TEXTURE-PACKS.md 2024-07-27 14:54:47 -03:00
Dario
a05cc2c787 Supress another bogus D3D12 Sample Positions warning. 2024-07-27 14:13:01 -03:00
Dario
efbda3f0ee Fix edge case with reference counting. 2024-07-27 00:06:49 -03:00
Darío
ab7d96f609
Update TEXTURE-PACKS.md 2024-07-26 19:46:38 -03:00
Dario
82375dabaa Update ddspp to fix issue with odd-sized mipmaps. 2024-07-26 19:32:55 -03:00
Darío
0fd6d05b8a
HD Textures (#34)
* Add support for HD Texture replacements.
2024-07-25 22:30:39 -03:00
GhostlyDark
3b5d891e17
Expand GBI database (#60) 2024-07-24 16:25:32 -03:00
Dario
d864d7ab9b D3D12: Fix bogus warning for sample positions. 2024-07-21 19:04:22 -03:00
Dario
f10ad63044 Add clang ifdef for clang warning pragmas. 2024-07-21 18:20:36 -03:00
Wiseguy
7f14741da2
Use correct warning flags under clang-cl and fix new warnings (#61) 2024-07-21 18:03:04 -03:00
Dario
ad1c540d6e Add unaligned load support for vertex PD, fix edge case in sync requirement detection. 2024-07-21 17:18:35 -03:00
Dario
e55a7fba59 Merge branch 'main' of https://github.com/rt64/rt64 2024-07-15 19:25:25 -03:00
Dario
f17c6587bd Update submodules and add ddspp as a submodule. 2024-07-15 19:24:58 -03:00
Dario
e260b2b076 Add submodules. 2024-07-15 19:22:55 -03:00
Darío
56316549da
Use DXIL Linker to reduce compilation time of specializations significantly. (#55)
* Use DXIL Linker to reduce shader optimization time.

* Use string view on render params text.
2024-07-12 00:15:21 -03:00
Mr-Wiseguy
1c33a5ff42 Fixed windows clang warnings 2024-07-06 12:35:23 -04:00
Wiseguy
eb981eb47b
Add egbi command to bypass the segment table for K0 CPU addresses to allow extending rdram (#54)
* Add egbi command to bypass the segment table for K0 CPU addresses to allow extending rdram

* Fix capitalization of RDRAM for consistency
2024-07-05 22:13:53 -03:00
Reonu
5c1562d66a
Workaround Nvidia Linux hang on Wayland (#52) 2024-06-30 17:07:40 -03:00
Anghelo Carvajal
ed7511300c
Fix most warnings (#35)
* Turn on warnings

* -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function

* Fix -Wformat

```
warning: format specifies type 'unsigned long long' but the argument has type 'uint64_t' (aka 'unsigned long') [-Wformat]
```

* Fix -Wrange-loop-construct warning

```
warning: loop variable 'it' creates a copy from type 'std::pair<const std::basic_string<char>, RT64::PresetLights::Light> const' [-Wrange-loop-construct]
```

* -Wsign-compare

```
comparison of integers of different signs: 'int32_t' (aka 'int') and 'uint32_t' (aka 'unsigned int')
```

* -Wrange-loop-construct

```
warning: loop variable ‘it’ creates a copy from type ‘const std::pair<const std::__cxx11::basic_string<char>, RT64::PresetDrawCall>’
```

* rerun

* Fix -Wparentheses

```
warning: suggest parentheses around arithmetic in operand of ‘^’
```

* -Wsign-compare

```
warning: comparison of integer expressions of different signedness: ‘int32_t’ {aka ‘int’} and ‘unsigned int’
```

* Update hlslpp to fix a number of warnings

* Remove `#pragma once` in cpp file

```
warning: #pragma once in main file
```

* -Wswitch

```
warning: enumeration value ‘None’ not handled in switch
```

* -Wformat-security

```
warning: format not a string literal and no format arguments
```

* regen

* Move warnings to clang check

* Fix -Wdelete-non-abstract-non-virtual-dtor

```
warning: destructor called on non-final 'RT64::PresetMaterial' that has virtual functions but non-virtual destructor
```

* remove warnings file

* Fix one unused parameter

* Fix assert wrapping

* Add -Werror flag

* Change type of `dstIndex` to `uint32_t`

* More uses I missed

* Fix new warnings
2024-06-20 18:57:24 -03:00
Darío
7d8954e734
Be extra cautious and only free XRRCrtcInfo if it's not nullptr in case the implementation doesn't handle it. 2024-06-20 18:49:48 -03:00
Anghelo Carvajal
e52aa9eea1
Add missing XRRFreeCrtcInfo and XRRFreeScreenResources functions (#46) 2024-06-20 18:44:17 -03:00
Wiseguy
e106c18965
Show offline list count and current specialized shader count in debugger (#44) 2024-06-02 12:59:19 -04:00
Darío
1c9594d95b
RDNA3 Workaround. (#41) 2024-06-01 13:45:50 -04:00
Dario
e4af592195 Only prefer devices based on VRAM in D3D12. Fixes #18. 2024-05-28 20:01:29 -03:00
Dario
1adcbea31a Merge branch 'main' of https://github.com/rt64/rt64 2024-05-26 11:22:54 -03:00