Commit Graph

32823 Commits

Author SHA1 Message Date
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
Unknown W. Brackets
1921338782
Merge pull request #15890 from hrydgard/minor-framebuffer-stuff
Minor framebuffer stuff (renaming, refactoring)
2022-08-23 00:02:51 -07: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
68134b6381
Merge pull request #15889 from unknownbrackets/d3d-proj
Correct D3D viewport offset sign in sw transform
2022-08-23 06:49:10 +02:00
Unknown W. Brackets
d1c7520932 D3D9: Correct viewport offset sign. 2022-08-22 21:30:10 -07:00
Unknown W. Brackets
86e754fb4a D3D11: Correct viewport offset sign handling. 2022-08-22 21:29:49 -07:00
Henrik Rydgård
15f51c306a
Merge pull request #15710 from hrydgard/test-drive-smooth-depal
Implement smooth depal lookups for Test Drive's strange usage.
2022-08-22 16:08:00 +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
0e780be539
Merge pull request #15886 from hrydgard/refactor-depal
Rename DepalShaderCache to TextureShaderCache
2022-08-22 13:30:55 +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
73c06bb776 Replacement: Be more consistent about base level. 2022-08-21 22:03:16 -07:00
Henrik Rydgård
39cb2f184c
Merge pull request #15881 from unknownbrackets/headless
Headless: Fix comparison for oversized buffers
2022-08-22 05:54:58 +02:00
Henrik Rydgård
0cb29db198
Merge pull request #15883 from unknownbrackets/linux-vulkan
Linux: Consider Vulkan if OpenGL init fails
2022-08-22 05:54:25 +02:00
Henrik Rydgård
64baff080a
Merge pull request #15882 from unknownbrackets/mip-clut
GPU: Share CLUTs if no extended CLUT
2022-08-22 05:53:34 +02:00
Unknown W. Brackets
c13f57e64f Vulkan: Cleanup minor logging. 2022-08-21 19:40:02 -07:00
Unknown W. Brackets
842bf86b1a Config: Default PSP model to SLIM on all platforms. 2022-08-21 19:05:51 -07:00
Unknown W. Brackets
4924b22b51 Linux: Consider Vulkan if OpenGL init fails. 2022-08-21 19:00:10 -07:00
Unknown W. Brackets
89a499b4d2 GLES: Correct preview of mip levels > 0.
Don't need to force level 0 anymore.  Software can show levels hardware
refuses to load.  This is consistent with other backends.
2022-08-21 16:47:46 -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
Unknown W. Brackets
05ad644c69 Headless: Set softgpu config flag.
This affects dump playback (whether it updates RAM with what's in the
frame dump), so it's confusing when it's not set matching the core.
2022-08-21 15:52:18 -07:00
Unknown W. Brackets
1b72311e7d Headless: Fix comparison for oversized buffers.
At least when not flipping.
2022-08-21 15:51:56 -07:00
Unknown W. Brackets
d11640a070
Merge pull request #15880 from unknownbrackets/ir-slowmem
Core: Show exception on misaligned jump
2022-08-21 15:07:32 -07:00
Unknown W. Brackets
8e7847f6d9 UI: Show return address for exec crashes. 2022-08-21 14:49:34 -07:00
Unknown W. Brackets
80e481bbdc Core: Show exception on misaligned jump. 2022-08-21 14:49:34 -07:00
Henrik Rydgård
b296bc7282
Merge pull request #15879 from unknownbrackets/ir-slowmem
irjit: Validate alignment in slow memory mode
2022-08-21 22:52:41 +02:00
Unknown W. Brackets
90517ace59 irjit: Validate alignment in slow memory mode. 2022-08-21 13:24:10 -07:00
Unknown W. Brackets
6715f41410 irjit: Add constructs for validing mem access.
Basically to allow slow/fast memory to work with IR, including for
alignment checks.
2022-08-21 13:01:23 -07:00
Henrik Rydgård
58adf3ee48
Merge pull request #15859 from hrydgard/depal-depth-565
Allow binding depth as 565 by going through depal
2022-08-21 19:54:02 +02:00
Henrik Rydgård
5f30c88e38
Merge pull request #15873 from unknownbrackets/softgpu-xfer-hazard
softgpu: Flush on transfer to pending tex read
2022-08-21 10:04:27 +02:00
Henrik Rydgård
5ad1301ee8
Merge pull request #15874 from unknownbrackets/softgpu-morph
softgpu: Correct morph weight updates
2022-08-21 10:03:47 +02: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