Henrik Rydgård
bb6219e402
Merge pull request #12921 from unknownbrackets/postshader
...
Use less FBOs for chained post-processing shaders
2020-07-13 18:52:53 +02:00
Unknown W. Brackets
9ef521d945
GPU: Avoid immediate postshader FBO recreate.
...
Before, we created things at the wrong size, then recreated at the right.
Now we just start at the correct size once.
2020-06-12 12:35:35 -07:00
Henrik Rydgård
737688a22a
Annotate calls to RebindFramebuffer with their cause.
2020-06-02 09:51:38 +02:00
Henrik Rydgård
cba0d16583
Vulkan: After binding a new framebuffer, we always need to dirty the viewport/scissor state.
...
So that viewport and scissor commands get written to the new render pass.
Temporary solution until I can figure out how to abstract this away
in the RenderManager without losing perf.
2020-05-24 17:59:52 +02:00
Henrik Rydgård
4aec10d04f
Correct an issue where reformat didn't work if no renderpass was active due to the use of clear.
...
Also instantly convert to a clear when binding the framebuffer in cases
when we know it's the optimal thing. The QueueRunner would have later merged
anyway hopefully, but I like the simplicity of this.
2020-05-21 12:01:15 +02:00
Henrik Rydgård
fabe987c8f
Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step").
2020-05-21 11:24:05 +02:00
Unknown W. Brackets
966ac4458a
Vulkan: Fix leak and remove extra allocator.
...
The leak was because we restored immediately after initializing, and
therefore leaked several pipelines.
This allocator isn't used right now, so just using up memory.
2020-05-18 23:07:44 -07:00
Henrik Rydgård
1e6cd11d4e
Vulkan: Switch the framebuffer-rebind-to-clear on reformat to, well, a normal clear instead.
...
Who knows, might be related to #12927 (but in that case we also have more problems).
2020-05-18 22:01:56 +02:00
Unknown W. Brackets
32a7e7345e
GPU: Centralize framebuffer download.
...
And try not to use a potentially-null nvfb. Primarily this can happen on
Direct3D backends.
2020-05-17 10:59:33 -07:00
Unknown W. Brackets
22e46b51c2
GPU: Centralize DestroyAllFBOs().
...
This cleans up the postshader update code.
2020-05-13 18:15:04 -07:00
Unknown W. Brackets
2faab0e082
GPU: Use postshader for direct VRAM draws again.
...
Also centralize the pixel texture code while at it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
762b656ea2
GPU: Use a texture directly for MakePixelTexture.
...
This makes it easier to do things with it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
fa6544b737
GPU: Cleanup leftover postshader stuff.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
cb94487a16
GPU: Move post shader handling to new class.
...
Currently, Vulkan is not working properly and direct (RAM -> output) is
not hooked up. But in general, it works.
2020-05-13 18:10:06 -07:00
Unknown W. Brackets
d39b0bdca2
GPU: Split FramebufferCommon into two classes.
...
Only some things moved over so far.
FramebufferCommon does too much, we want to share it with softgpu without
all the buffer management stuff.
2020-05-13 18:07:22 -07:00
Henrik Rydgård
f9f568d266
Vulkan: Framebuffer manager: Use an allocator for "MakePixelTexture" images.
...
Fixes #12355 (or at a minimum, will improve it).
2020-05-06 22:24:10 +02:00
Henrik Rydgård
5508bfb596
Vulkan: Discard negative width/height framebuffer blits. Will likely help #12531 .
2020-04-26 12:44:11 +02:00
Henrik Rydgård
767b1e45b2
Fix the build - there's a Vec3 name collision, fixed it using a namespace.
2019-10-22 22:58:10 +02:00
Unknown W. Brackets
59062ca7bc
Vulkan: Clear caches when deleting shaders.
...
As noticed by iota97 in #12317 , we're not clearing these. If a pointer
gets reused by the Vulkan driver, we have to be careful not to reuse a
pipeline.
2019-09-14 11:23:12 -07:00
Henrik Rydgård
96a15cf525
Fix the indirect postprocessing path. Fixes #12133 (but see the issue for a secondary bug).
2019-08-04 18:01:36 +02:00
Henrik Rydgård
b5ad92b9ef
Avoid rotating the image when DrawActiveTexture is used for other things than drawing to the backbuffer.
2019-06-21 14:00:02 +02:00
Henrik Rydgård
e943724905
Vulkan: Apply the desired pretransform when drawing to the backbuffer.
...
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099 .
2019-06-21 09:38:51 +02:00
vnctdj
0ec0c6eb92
Remove the related #include
...
Following https://github.com/hrydgard/ppsspp/pull/12030
Oops, I forgot to check if it was still needed...
2019-05-12 16:38:37 +02:00
vnctdj
80807675f1
Delete 2 unused i18n category pointer declarations
2019-05-11 23:47:37 +02:00
Henrik Rydgård
c1427f5981
VulkanImage: Fix issue where we'd try to free dedicated allocations from the allocator_ instead of Vulkan directly.
...
Snuck in some minor cleanups.
2019-02-24 22:23:26 +01:00