Henrik Rydgård
41e327a66b
Cleanup and testfixes
2022-08-03 13:34:59 +02:00
Henrik Rydgård
9963cd55f0
Rebind the framebuffer only if we're in the blit path.
2022-08-03 13:33:54 +02:00
Henrik Rydgård
d26e637bb8
Bufferless path for D3D11/Vulkan
...
Though we still bind the buffer for simplicity..
2022-08-03 13:33:53 +02:00
Henrik Rydgård
269bff9c0b
Get D3D shaders to build (though not working correctly)
2022-08-03 13:31:15 +02:00
Henrik Rydgård
787de81437
Switch to ShaderWriter. Works in OpenGL
2022-08-03 13:31:15 +02:00
Henrik Rydgård
9bead443c3
Unify stencil buffer upload using Draw. Only OpenGL tested yet (shaders need adaptation).
2022-08-03 13:31:13 +02:00
Henrik Rydgård
19931c003f
Clean up blit/copy feature detection. Don't need fast GPU flags for these.
2022-08-02 09:53:46 +02:00
Henrik Rydgård
5da7dd42b5
Fix Vulkan as well
2022-08-01 15:48:52 +02:00
Henrik Rydgård
b940c8a8b7
Fix for D3D11 and GL, but not Vulkan for some weird reason
2022-08-01 15:45:05 +02:00
Henrik Rydgård
fce792458b
Avoid upscaling textures used for color-to-depth.
...
(Not a perfect method, it could theoretically have been upscaled in a
normal render pass...)
2022-08-01 14:10:51 +02:00
Henrik Rydgård
f73995b5db
Disable texture filtering when drawing color into depth
2022-08-01 14:08:16 +02:00
Henrik Rydgård
7b7d16d2fb
D3D9 fix
2022-08-01 12:11:42 +02:00
Henrik Rydgård
73fc9fb520
OpenGL fix
2022-08-01 11:57:22 +02:00
Henrik Rydgård
90a44579bf
Implement color-to-depth for Vulkan, start implementing for D3D11
2022-08-01 11:30:36 +02:00
Henrik Rydgård
93321f2d5e
Add logging for some non-traditional uses of framebuffers.
2022-08-01 11:30:21 +02:00
Henrik Rydgård
e1956b47a0
Merge pull request #15727 from hrydgard/texture-3d
...
Implement the PSP's equal-size mips "3D texturing"
2022-08-01 08:35:43 +02:00
Henrik Rydgård
3331654396
Fix Macross glitches.
2022-08-01 00:19:47 +02:00
Henrik Rydgård
8260b4667d
Merge pull request #15700 from hrydgard/better-depth-tracking
...
Track depth buffers separately from framebuffers to track previous use for copies
2022-07-31 10:59:09 +02:00
Henrik Rydgård
71ae6e3ad2
Address feedback
2022-07-31 10:44:06 +02:00
Henrik Rydgård
7f0f119cfe
Check for color/Z clashes
2022-07-31 10:44:06 +02:00
Henrik Rydgård
b5f5aa1653
Track depth buffers separately from framebuffers to track previous use for copies
...
Fixes the depth testing problem reported in #11013
(WIP: Does not yet include the extra checking unknown suggested for
depth/color address clashes)
2022-07-31 10:44:06 +02:00
Henrik Rydgård
c158414858
Give the mip bias its own uniform flag.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
cc857e8217
Revert mistaken change in D3D9 fragment shader gen
2022-07-31 10:43:48 +02:00
Henrik Rydgård
46d6b43618
Support 3D textures in OpenGL ES, add feature check
2022-07-31 10:43:48 +02:00
Henrik Rydgård
129f3fe997
Testfix, cleanup
2022-07-31 10:43:48 +02:00
Henrik Rydgård
fecf9127a0
Implement 3D texturing in the OpenGL backend too. Assorted fixes.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
566385f762
Remove some dead code
2022-07-31 10:43:48 +02:00
Henrik Rydgård
f87b4cf232
Implement 3D textures for D3D9 as well
2022-07-31 10:43:48 +02:00
Henrik Rydgård
0262fbc70a
Implement 3D textures for D3D11
2022-07-31 10:43:48 +02:00
Henrik Rydgård
e455d6bcfe
Some safety checks to avoid bad combinations, probably not really needed in practice.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
176b460d76
Quick attempt at fixing the Macross glitch
2022-07-31 10:43:48 +02:00
Henrik Rydgård
d7aa3ee486
Fix the mip bias to take the texture depth and sampling offset into account.
2022-07-31 10:43:48 +02:00
Henrik Rydgård
2cb9e09ad3
Implement new discovery of a larger CLUT than we thought, plus non-shared CLUTs for 8-bit indices.
...
Not sure yet what limitations apply, regarding using it for even more
16-bit colors, etc...
2022-07-31 10:43:48 +02:00
Henrik Rydgård
f061eadc04
Initial implementation of 3D texturing through equal-size mips (see #6357 )
...
Vulkan-only currently, though all the other backends except ES 2.0
without GL_OES_texture_3d can support it with some work.
2022-07-31 10:43:47 +02:00
Unknown W. Brackets
795b1c04a9
GPU: Small scaling variable cleanup.
2022-07-30 18:18:51 -07:00
Henrik Rydgård
6a5a232777
Unify the GLES LoadTextureLevel with the D3D ones.
2022-07-30 19:07:21 +02:00
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
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
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
6220068fb1
Update PrepareBuildTexture
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
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
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
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