Commit Graph

7117 Commits

Author SHA1 Message Date
Henrik Rydgård
d55c4a3456 Convert the D3D11 DrawActiveTexture to thin3d 2022-08-03 14:12:55 +02:00
Henrik Rydgård
59b3df0643 Draw2D 2022-08-03 14:12:55 +02:00
Henrik Rydgård
3e1ccf1311 Need a separate cap bit for stencil blits to prevent misuse on D3D9 2022-08-03 13:40:21 +02:00
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
770cb49f94 GLES: FramebufferBlit: Don't blit if the target is the current framebuffer. 2022-08-02 14:57:20 +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
710c6b6ad1 Fix crash in shader upscaling. This variable shadowed the one that now lives in Common.
Fixes #15778
2022-08-02 08:33:50 +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
655cadc281 D3D11 fix 2022-08-01 11:54:42 +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
9437d5e3b0 Fix small breakage in Vulkan texture decoder 2022-08-01 11:29:25 +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
99b4e7c54c Vulkan: Don't try to auto-mipmap 3D textures in max quality filter mode 2022-08-01 00:16:57 +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
0caaa74be9 Possible flicker fix for Macross 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
Henrik Rydgård
29befd3b27
Merge pull request #15764 from unknownbrackets/gpu-minor
GPU: Small scaling variable cleanup
2022-07-31 06:31:16 +02:00
Unknown W. Brackets
1233d1d376 Reporting: Disable when debugger methods used.
This won't catch all means of hacking memory, but will catch some.
Trying to reduce noise in reporting from debugging.
2022-07-30 18:21:32 -07: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