Henrik Rydgård
a0ac2dffc7
Defer depth copies until depth buffer is actually used.
...
Fixes
2022-08-20 08:29:33 +02:00
Henrik Rydgård
bd6f79e473
Fix the raster depth blit again, which I recently broke.
2022-08-17 16:52:49 +02:00
Henrik Rydgård
74f1c94ddb
Use sequence numbers instead of a tracking array for depth buffers
2022-08-17 10:34:07 +02:00
Henrik Rydgård
078fc881a7
Revise comments according to feedback
2022-08-17 10:15:02 +02:00
Henrik Rydgård
a8b1d1191e
Oops, remove wrong comments
2022-08-17 10:09:12 +02:00
Henrik Rydgård
19367dd890
Comment updates
2022-08-17 10:09:12 +02:00
Henrik Rydgård
5785cf40ad
Clean up and comment framebuffer struct better, add bind sequence numbers
2022-08-17 10:09:11 +02:00
Henrik Rydgård
35a1ca064a
Refactor 2D pipeline creation
2022-08-16 19:27:46 +02:00
Henrik Rydgård
570e0326e7
Rely on refcounting for stencil upload shader modules
2022-08-16 15:10:48 +02:00
Henrik Rydgård
1e57a358b8
thin3d: Properly AddRef and Release shader modules from the pipeline in backends that need it
2022-08-16 15:10:48 +02:00
Henrik Rydgård
ccdb1f7330
Move out the reinterpret stuff to ReinterpretFramebuffer.cpp. Draw2D refactor.
2022-08-16 11:11:59 +02:00
Henrik Rydgård
9f2447c0b4
Assorted minor cleanup
2022-08-16 10:55:44 +02:00
Henrik Rydgård
5f9718ef92
Merge pull request #15843 from unknownbrackets/gpu-minor
...
GPU: Skip fb create upload when clearing
2022-08-16 00:05:10 +02:00
Unknown W. Brackets
6060706fc8
GPU: Avoid using depth buffers for blending.
...
For now, until it's implemented.
2022-08-14 22:13:39 -07:00
Unknown W. Brackets
0b22c98404
GPU: Skip fb create upload when clearing.
...
This doesn't verify it's a full screen clear, but on a new framebuffer
that's very very common.
2022-08-14 13:19:52 -07:00
Henrik Rydgård
79ee532609
Fix feature checks
2022-08-09 20:05:44 +02:00
Henrik Rydgård
252550fbd2
Enable framebuffer depth blits through raster. Fixes games like Jeanne D'Arc on D3D9.
2022-08-09 20:00:32 +02:00
Henrik Rydgård
131098c4d4
Some enum renaming, move RasterChannel to GPU.h.
2022-08-09 19:58:48 +02:00
Henrik Rydgård
d61909ca91
More framebuffer blit fixes.
2022-08-07 12:02:06 +02:00
Henrik Rydgård
b91ad1d2d7
Remove optimization in BlitUsingRaster that shouldn't have been there (redundant, lacked feature check)
2022-08-07 10:55:44 +02:00
Unknown W. Brackets
c212bd0fec
GPU: Clarify new framebuf stencil upload.
...
Actually, this doesn't need alpha either.
2022-08-06 21:18:48 -07:00
Henrik Rydgård
4658962b09
Feature detection fix on old GL, more compiler warning fixing
2022-08-06 18:47:12 +02:00
Henrik Rydgård
5f230ee998
Fix some compiler warnings
2022-08-06 18:19:27 +02:00
Henrik Rydgård
e28b45481b
Delete more unused code
2022-08-03 22:47:31 +02:00
Henrik Rydgård
f84d2e9ba7
Fixes, state invalidation
2022-08-03 22:23:07 +02:00
Henrik Rydgård
f8e0c09463
Delete unused stuff in all backends
2022-08-03 22:22:52 +02:00
Henrik Rydgård
126ace770e
Remove the D3D9 and Vulkan BlitFramebuffer functions
2022-08-03 22:22:52 +02:00
Henrik Rydgård
9d23939e28
Replace D3D11's BlitFramebuffer with the common one
2022-08-03 22:22:51 +02:00
Henrik Rydgård
1ab9293cb3
Convert FramebufferBlit from the GL backend to use thin3d
2022-08-03 22:22:51 +02:00
Henrik Rydgård
0f9bf47429
Reimplement filtering in DrawActiveTexture
2022-08-03 14:12:55 +02:00
Henrik Rydgård
1d3075566f
Move to common (todo: merge with above)
2022-08-03 14:12:55 +02:00
Henrik Rydgård
59b3df0643
Draw2D
2022-08-03 14:12:55 +02:00
Henrik Rydgård
41e327a66b
Cleanup and testfixes
2022-08-03 13:34:59 +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
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
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
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
f523341351
Remove unnecessary parameters from MakePixelsTexture
2022-07-24 13:54:09 +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
63fdb99ca2
Shaun White Snowboarding: Use compat flag to eliminate a readback per frame
...
Should be a good performance improvement.
Just another case of a game copying a framebuffer to RAM, then texturing
directly from it.
2022-06-11 12:00:06 +02:00
Henrik Rydgård
5868cf0f1c
Convert the blueToAlpha bool to a usageFlag. KEEP instead of CLEAR for depth during reinterpret.
2022-04-30 18:17:29 +02:00
Henrik Rydgård
0c66087cc7
BlueToAlpha hack to avoid clearing the envmap in split/second :(
2022-04-30 18:17:17 +02:00