Commit Graph
9475 Commits
Author SHA1 Message Date
Henrik Rydgård c6d7423368 Prepare to convert the GLES functions too 2022-07-30 18:37:48 +02:00
Henrik Rydgård dea979433c Share LoadTextureLevel between the two D3D backends. 2022-07-30 17:00:34 +02:00
Henrik Rydgård 9ed96921e1 Cleanup 2022-07-30 16:51:29 +02:00
Henrik Rydgård b7940f9402 Part 2 of the above 2022-07-30 16:43:31 +02:00
Henrik Rydgård 61cf3e8ba0 D3D: Part 1 of breaking out the API stuff 2022-07-30 16:38:40 +02:00
Henrik Rydgård 063cd18254 Simplify CPU upscaling code
Use the existing expandTo32bit mode in the texture decoder instead of
the backend-specific switches and stuff.

Just gets rid of a bunch of redundant code and makes further changes
easier.
2022-07-30 15:06:25 +02:00
Henrik Rydgård b9b3310c21 Remove some indentation 2022-07-30 10:45:03 +02:00
Henrik Rydgård 9f1fdc6c02 Use PrepareBuildTexture from the Vulkan backend too 2022-07-30 10:45:03 +02:00
Henrik Rydgård d0d53091a8 Change from maxLevel to levelsToLoad, for better readability. Cleanup. 2022-07-30 10:45:02 +02:00
Henrik Rydgård 1e9d85cda1 Define texture loading plan semantics better, pre-port some from Vulkan 2022-07-30 10:44:28 +02:00
Henrik Rydgård eb6d364a2d Vulkan: One step closer to using PrepareBuildTexture 2022-07-30 10:44:28 +02:00
Henrik Rydgård 6220068fb1 Update PrepareBuildTexture 2022-07-30 10:44:28 +02:00
Henrik Rydgård 1513978019 Use PrepareBuildTexture from DX9 backend 2022-07-30 10:44:28 +02:00
Henrik Rydgård 043989ca8a Use PrepareBuildTexture from D3D11 backend 2022-07-30 10:44:27 +02:00
Henrik Rydgård 167b837ed3 Break out the preparation part of BuildTexture from GLES 2022-07-30 10:44:27 +02:00
Henrik Rydgård c031f3085b Additional cleanup 2022-07-30 10:44:26 +02:00
Henrik Rydgård ae6763766e Get the GLES BuildTexture slightly closer 2022-07-30 10:44:02 +02:00
Henrik Rydgård 679a861204 Make the BuildTexture of DX9 and D3D11 backends more similar 2022-07-30 10:44:01 +02:00
Henrik Rydgård da9f03e356 Remove indentation, useless code 2022-07-30 10:42:16 +02:00
Henrik Rydgård 5d03e22550 Remove the DX API access from LoadTextureLevel 2022-07-30 10:38:18 +02:00
Henrik Rydgård f728faffdc Remove fake-mipmap logic from LoadTextureLevel 2022-07-30 10:38:17 +02:00
Henrik Rydgård 8b398bbbb7 Minor code simplification 2022-07-30 10:32:50 +02:00
Henrik Rydgård 4165e146e6 Remove unused parameters to some conversion functions 2022-07-30 08:52:24 +02:00
Henrik Rydgård 6f484d0aee Remove unused useBGRA parameter 2022-07-30 08:52:24 +02:00
Henrik Rydgård c41b780c8c Remove the ReplacedTextureFormat enum 2022-07-30 08:52:24 +02:00
Henrik Rydgård ef4a6cf873 Remove support for 16-bit replacement texture formats 2022-07-30 08:52:24 +02:00
Henrik Rydgård 512382c4db Merge pull request #15723 from hrydgard/d3d9-state-cache-cleanup
D3D9 state cache cleanup
2022-07-30 08:51:17 +02:00
Lubos 60d8a102f9 OpenXR - Switching between 2D/VR fixed 2022-07-29 10:19:11 +02:00
Unknown W. Brackets acc248164f Replacement: Clear cache on disable.
When lazy loading, let's clear cached replacement data on disable.
This is purges memory immediately, and also allows force-reloading
textures by toggling the setting.
2022-07-27 20:27:56 -07:00
Lubos d29b9011db OpenXR - VR settings added, better UI detection 2022-07-27 19:47:11 +02:00
Henrik Rydgård a44bee6f85 Fix bug in blue-to-alpha - alpha blending could be on when it shouldn't be.
Fixes #15732. (Split/Second environment mapping problem in the menu).
2022-07-27 10:59:39 +02:00
Lubos 9b8a9d3b32 Merge branch 'feature_openxr_quest' into feature_openxr_6dof 2022-07-26 18:00:40 +02:00
Lubos 5c95fd244f OpenXR - Automatically switch between fullscreen/VR 2022-07-26 17:20:46 +02:00
Lubos 0c208d192b OpenXR - Basic look around implementation 2022-07-25 18:47:54 +02:00
Henrik Rydgård 16d4545967 Clarity improvement in dx state cache stencil func 2022-07-24 21:44:12 +02:00
Henrik Rydgård e758506bdb Remove unnecessary complexity from the D3D9 state cache 2022-07-24 21:26:40 +02:00
Henrik Rydgård c9a37ec6b9 Remove bool that was always true in state mapping. 2022-07-24 21:04:54 +02:00
Henrik Rydgård 3c88183d0d Merge pull request #15717 from hrydgard/render-target-y-offset
Allows "merging" render targets that overlap on the Y axis. Fixes Juiced 2
2022-07-24 18:48:21 +02:00
Henrik Rydgård 80f0f90af7 Revert the x-offset bpp fix temporarily. 2022-07-24 17:41:27 +02:00
Henrik Rydgård 89845eae7a Add GPU stat for number of depth copies per frame
Will be useful for evaluating #15700
2022-07-24 17:12:43 +02:00
Unknown W. Brackets b02fa4ec00 Merge pull request #15718 from hrydgard/getpointer-const-cleanup
Split GetPointer into GetPointer and GetPointerWrite
2022-07-24 07:51:39 -07:00
Henrik Rydgård d3d601dced Windows fixes 2022-07-24 13:58:20 +02:00
Henrik Rydgård f523341351 Remove unnecessary parameters from MakePixelsTexture 2022-07-24 13:54:09 +02:00
Henrik Rydgård 881cc23965 Delete some unused code. 2022-07-24 13:54:04 +02:00
Henrik Rydgård e6403d7157 Split GetPointer into two versions, to help with const correctness 2022-07-24 13:26:19 +02:00
Henrik Rydgård 04a85b1da0 Allows "merging" render targets that overlap on the Y access. Fixes #7295 (Juiced 2)
To be safe, gating this behind the related AllowLargeFBTextureOffsets,
which is also required for the effect to work.

Additionally, fixes the offset check for X offsets, which I guess is a
very small risk.
2022-07-24 11:58:07 +02:00
Henrik Rydgård 1fd80646cb Mali driver bug workaround for driver 32+.
See #15661

Hope this small bias won't break things.
2022-07-17 22:53:10 +02:00
Henrik Rydgård 15f5ed81a7 Add a simple compat flag to workaround the Clone Wars issue, #12949
Could probably also be fixed by changing the heuristic a bit, but since
we're in heuristic land anyway and close to a release, I feel this is
the safest option.

Also sneaks in a logspam reduction
2022-07-15 11:44:51 +02:00
Henrik Rydgård 0ff8c721e4 Improve comment, variable name 2022-07-12 00:17:26 +02:00
Henrik Rydgård e52e9094ca Vulkan fragment shaders: Don't opportunistically emit "layout (early_fragment_tests)"
The purpose of this is not really for optimization, it's to get a
specific behavior that we really don't care about. Drivers are pretty
good at getting this potential performance improvement automatically
if it's possible without changing the output.

git blame says I added it, heh.

Don't think it'll make much difference one way or another, though, but
trying to reduce complexity.
2022-07-12 00:14:22 +02:00