Commit graph

1966 commits

Author SHA1 Message Date
Henrik Rydgård
62a834d15e Split up FindTransferFramebuffers 2022-08-25 00:12:31 +02:00
Henrik Rydgård
3ce59ced54
Merge pull request #15900 from hrydgard/stride-gap
Detect framebuffers that live in the "stride gap" of others, fix size
2022-08-24 20:03:35 +02:00
Henrik Rydgård
416d8b403b
Merge pull request #15768 from lvonasek/feature_openxr_6dof
OpenXR - 6DoF support
2022-08-24 18:49:41 +02:00
Henrik Rydgård
04740d069c Tighten the check a bit more 2022-08-24 18:35:42 +02:00
Henrik Rydgård
1feae894d3 Reorder some parameters. Detect buffers in stride gaps. 2022-08-24 18:31:10 +02:00
Henrik Rydgård
d0a3b9886f Remove unused function decl 2022-08-24 18:25:45 +02:00
Henrik Rydgård
853a2df064
Merge pull request #15892 from hrydgard/rework-reinterpret
Reimplement framebuffer reinterpret on the new color copy framework
2022-08-24 18:20:27 +02:00
Henrik Rydgård
67c911d13f Fix smoothed CLUT lookups. Shouldn't go beyond the mask's reach.
Should help #15896
2022-08-24 17:13:36 +02:00
Henrik Rydgård
048a556ada Add floating point version of reinterpret shaders 2022-08-24 14:40:37 +02:00
Henrik Rydgård
99404f0a15 Fix BlueToAlpha together with reinterpret. Add back fake reinterpret for now. 2022-08-24 14:40:37 +02:00
Henrik Rydgård
c6f20bda18 Reimplement texture format reinterpretation 2022-08-24 14:40:37 +02:00
Henrik Rydgård
b529d26f3a Fix smoothed depal on GLES. Don't enable filtering if not using. 2022-08-24 13:43:41 +02:00
Henrik Rydgård
586da08820
Merge pull request #15895 from unknownbrackets/gpu-minor
GPU: Correct Draw2D::DeviceRestore()
2022-08-24 11:50:42 +02:00
Henrik Rydgård
d459eac891 Fix checks for depth texture support, GLES syntax errors 2022-08-24 11:26:07 +02:00
Henrik Rydgård
bd674c47b6 OpenGL: Fix regular depal (shader depal still worked) that broke recently 2022-08-24 11:01:57 +02:00
Luboš Vonásek
c5cb45b1f7
Merge branch 'hrydgard:master' into feature_openxr_6dof 2022-08-24 06:55:31 +02:00
Henrik Rydgård
5d50d02227
Merge pull request #15894 from unknownbrackets/debugger
GE Debugger: Record only one flip if display framebuf not changed, step on vsync
2022-08-24 06:27:31 +02:00
Unknown W. Brackets
7ec62a32b4 GPU: More consistently clear ptrs on DeviceLost().
Rather get a null pointer crash than confusing buggy use-after-free
excitement.
2022-08-23 20:15:30 -07:00
Unknown W. Brackets
47b7305bf5 GPU: Correct Draw2D::DeviceRestore(). 2022-08-23 20:07:53 -07:00
Unknown W. Brackets
a901fa4315 GE Debugger: Add separate step based on vsync.
I think there were some games where this would step in the middle of a
frame, but not seeing it commonly now.  So make it the default, but allow
both methods in the menu.

Fixes #15893.
2022-08-23 19:48:34 -07:00
Unknown W. Brackets
c581a83896 GPU: Centralize SetDisplayFramebuffer(). 2022-08-23 19:29:06 -07:00
Henrik Rydgård
fc81b76b98 Vulkan: Very minor chnages after checking Best Practices with new validation layer 2022-08-23 23:55:53 +02:00
Henrik Rydgård
5084743bbb Use Draw2D for depal shaders (except the actual blit, for now) 2022-08-23 11:21:40 +02:00
Henrik Rydgård
60e129d88e Break out Draw2D in a class 2022-08-23 11:12:23 +02:00
Henrik Rydgård
83b7386f7d Switch reinterpret shaders over to the Draw2D framework. 2022-08-23 11:12:23 +02:00
Henrik Rydgård
65e4e249ec More Draw2D refactoring 2022-08-23 11:12:23 +02:00
Henrik Rydgård
d1336fe15f Small Draw2D refactor 2022-08-23 08:37:44 +02:00
Henrik Rydgård
5415da10bf Rename VirtualFramebuffer->format to fb_format to line up with fb_address and fb_stride (fundamental parameters) 2022-08-23 08:37:44 +02:00
Henrik Rydgård
a0722af107 Rename fmt->fb_format 2022-08-23 08:37:44 +02:00
Henrik Rydgård
8fdd00db8c
Merge pull request #15888 from hrydgard/copy-color-on-bind
Copy color from overlapping framebuffers on bind, under certain conditions
2022-08-23 08:37:33 +02:00
Henrik Rydgård
51686f4936 Copy color from overlapping framebuffers on bind, under certain conditions.
Leads to much faster performance in Juiced 2.

This will later be expanded to handle more things in a more elegant way,
like the framebuffer overlap in God of War for the shadows and
color reinterpretation in a generic way.

Fixes #15728
2022-08-22 16:06:55 +02:00
Henrik Rydgård
e3943f6d0d Implement smoothed depal for the "old" depal path as well. 2022-08-22 15:34:26 +02:00
Henrik Rydgård
2a6015c1e3 Better checks for smoothed depal 2022-08-22 15:25:28 +02:00
Henrik Rydgård
6558bde0f6 Remove SmoothedDepal compat setting, instead detect the ramp directly. 2022-08-22 15:24:41 +02:00
Henrik Rydgård
f5e6754ac0 Special case depal lookups for Test Drive's strange usage.
This implements the hack I suggested in #13355, where instead of first
reducing the color to RGB565 as the real game does, we just take each
channel at full precision and do the lookup according to the mask,
linearly filtering the palette.

This makes the game look a lot nicer and is also a small optimization,
but the hack is very specific so kinda ugly in a way.
2022-08-22 15:19:38 +02:00
Henrik Rydgård
b39b74e602 More renaming. Fix shader view for Vulkan 2022-08-22 12:30:51 +02:00
Henrik Rydgård
82a6c42e17 DepalettizeCommon -> TextureShaderCommon. Simplifications. 2022-08-22 12:21:20 +02:00
Henrik Rydgård
58a6fd3395 Convert TextureShaderApplier to a member function in DepalCache. 2022-08-22 11:45:52 +02:00
Henrik Rydgård
383adcb870 Simplify depal shader apply code a bit. 2022-08-22 11:31:27 +02:00
Henrik Rydgård
3c307c9857
Merge pull request #15884 from unknownbrackets/texreplace-io-async
Replacement: Read files only within time budget
2022-08-22 11:10:16 +02:00
Unknown W. Brackets
e473eb9f5e Replacement: Read files only within time budget.
When delayed texture load is enabled.  Intended to reduce IO delays on
Android.
2022-08-21 22:07:05 -07:00
Unknown W. Brackets
afc9a14b37 GPU: Share CLUTs if no extended CLUT.
Oops, this was backwards.  See #15878.
2022-08-21 16:46:51 -07:00
Henrik Rydgård
a11e7e167b More D3D9 work on depth textures. Something still missing. 2022-08-21 09:58:58 +02:00
Henrik Rydgård
8e7cf596b6 Address more feedback, cleanup scale parameter 2022-08-21 09:58:58 +02:00
Henrik Rydgård
80772dd18e Remove leftover resolutionScale depal config parameter 2022-08-21 09:58:58 +02:00
Henrik Rydgård
668de1f544 Compatibility check 2022-08-21 09:58:58 +02:00
Henrik Rydgård
9cc8cfaa08 Use a DX9-compatible method to pass texwidth and height. the effect doesn't work on DX9 yet though. 2022-08-21 09:58:58 +02:00
Henrik Rydgård
ca24f1b9aa Fixes for D3D11 2022-08-21 09:58:58 +02:00
Henrik Rydgård
e2707d3ab3 Remove debug code, cleanup 2022-08-21 09:58:58 +02:00
Henrik Rydgård
412d44dc92 Fix glitch when changing render resolution 2022-08-21 09:58:58 +02:00