Commit Graph

5882 Commits

Author SHA1 Message Date
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
7d10a0c609 Remove a redundant framebuffer bind in CopyDisplayToOutput 2020-05-21 11:54:08 +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
Henrik Rydgård
52a3c2248d Move the check from #12908 into the firmware version check.
The original change took care of #11660, let's hope it stay fixed. This fixes
Toca (#12936).
2020-05-20 11:47:55 +02:00
Unknown W. Brackets
86bbb447d3 Vulkan: Avoid stencilAction != depthAction.
This is the only place we do it, and apparently there can be bugs on some
drivers when you do that.  Let's not.
2020-05-19 22:14:47 -07:00
Unknown W. Brackets
8d900bb432 Vulkan: Check driver version for Adreno 5xx bug.
It's now fixed at least as of this version (possibly earlier.)
2020-05-19 22:13:15 -07:00
Unknown W. Brackets
2e05d22eb7 Vulkan: Move Harvest Moon fix to Draw::Bugs.
Also, make it so you can skip using ini settings.
2020-05-19 22:12:30 -07:00
Henrik Rydgård
3a5e07ad4f Vulkan: Stencil initialization: Use the adreno path for Mali as well.
Appears to fix the Star Ocean issue and maybe more reported in #12890.

Strange though...
2020-05-19 23:29:33 +02:00
Henrik Rydgård
f1b9943947
Merge pull request #12930 from unknownbrackets/gpu-stencil
GPU: Avoid unnecessary clear on stencil upload
2020-05-19 09:05:58 +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
Unknown W. Brackets
2a5b465c44 D3D9: Avoid clearing color on stencil upload.
This makes it match Direct3D 9.  We ideally want to clear alpha, but
certainly not RGB.
2020-05-18 21:36:14 -07:00
Unknown W. Brackets
4ef4325fdb GPU: Avoid unnecessary clear on stencil upload.
In this common case, we've typically just bound the buffer to upload a
texture to it.  No need to start a new render pass.

This dodges #12927 but doesn't really fix the underlying issue.
2020-05-18 21:36:06 -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
a36239473d GLES: Add dependency tracking for render passes.
Let's try to invalidate when it's possible.  We move the invalidate to the
end of the render when detected.
2020-05-17 11:06:39 -07: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
Henrik Rydgård
7a6489ebb4
Merge pull request #12905 from unknownbrackets/postshader
Allow chained post-processing shaders
2020-05-17 16:09:05 +02:00
Henrik Rydgård
8491a674e2
Merge pull request #12914 from unknownbrackets/arm64jit
Switch: Be more consistent about writable code pointers
2020-05-17 12:17:00 +02:00
Unknown W. Brackets
7910b4029a arm64jit: Track writable and non-writable pointers.
Switch uses different memory regions.  We can handle this, might as well
cleanup some const abuse.
2020-05-17 00:15:12 -07:00
Unknown W. Brackets
5a5af3871f GPU: Fix an overflow loading old save states. 2020-05-16 23:49:45 -07:00
Unknown W. Brackets
d88099e701 GLES: Specify buffer type just to be safe.
Probably doesn't matter, but maybe some drivers take it as a hint?
2020-05-16 23:48:56 -07:00
Unknown W. Brackets
cb739fc0b9 GPU: Allow each shader in chain to have settings.
It'll be up to the author to make the setting names make sense, though.
They'll show from first shader to last.
2020-05-16 12:33:35 -07:00
Unknown W. Brackets
ff68a0d50f UI: Translate shader setting names.
Also, only save settings in ini that have names.
2020-05-16 12:33:35 -07:00
Unknown W. Brackets
1e0c5db3a9 GPU: Keep last output size in chained postshaders. 2020-05-16 12:33:35 -07:00
Unknown W. Brackets
978aa89768 GPU: Prevent infinite loops in postshader chains. 2020-05-16 12:33:35 -07:00
Unknown W. Brackets
8a626dffc5 GPU: Force nearest only for the upscaling filter.
So, if we upscale and then apply an effect, we won't use nearest on that
effect.
2020-05-16 12:33:35 -07:00
Unknown W. Brackets
d9195c68b3 GPU: Move calculating render res to presentation.
Since it best understands what the first postshader wants.
2020-05-16 12:33:35 -07:00
Unknown W. Brackets
477e988a68 GPU: Allow postshaders to have parents. 2020-05-16 12:33:35 -07:00
Unknown W. Brackets
b79ecc159f GPU: Update postshader uniforms for each. 2020-05-16 12:04:36 -07:00
Unknown W. Brackets
2d8ea9576a GPU: Process all postshader pipelines. 2020-05-16 12:04:36 -07:00
Unknown W. Brackets
5612f9b0af GPU: Cleanup a comment, we use shorts now. 2020-05-16 12:04:36 -07:00
Unknown W. Brackets
31ffbbf44f GPU: Move things around to be per postshader. 2020-05-16 12:04:36 -07:00
Henrik Rydgård
67ab51bb90
Merge pull request #12901 from iota97/postshader-setting
Post shader setting uniform
2020-05-16 21:01:23 +02:00
sum2012
fbc2bf116d oop 2020-05-16 21:42:27 +08:00
sum2012
54ffe9b235 Fix "Improved compatibility of sceGeListEnQueue: verify that stackDepth < 256"
Fix #11660
based from
f9a116f78a
the varable name is differcult from jpcsp,so that I translate wrong.
2020-05-16 21:34:55 +08:00
Henrik Rydgård
a63706925f Very minor optimization in PresentationCommon (don't upload the indices every frame). 2020-05-16 14:56:38 +02:00
iota97
b07874cd00 Fix per game setting and pack setting in vec4 2020-05-16 09:27:53 +02:00
iota97
a666635fa2 Post shader setting uniform 2020-05-15 18:08:52 +02:00
Henrik Rydgård
4bf92a66c5 Thin3D: use 16-bit indices. Fixes #12898. 2020-05-15 18:07:07 +02:00
Unknown W. Brackets
192198ef3b GPU: Oops, don't skip copy if stride different.
Should've tested that change better, but wanted the mip level fix...
2020-05-14 18:45:06 -07:00
Henrik Rydgård
864d138cd9 Fix DarkStalkers after the just-merged refactoring. 2020-05-14 23:28:37 +02:00
Unknown W. Brackets
8b4821bc05 Draw: Small optimization to callback.
This allows the callback to say "I didn't copy, please copy for me."  This
helps when additional conversions will be applied during the copy, or a
copy can be skipped.

Also, fixed a couple cases of the wrong mip level being used.
2020-05-13 20:30:24 -07:00
Unknown W. Brackets
7024a2877d GPU: Take A off RGB565 conversion funcs. 2020-05-13 18:17:58 -07:00
Unknown W. Brackets
203da7d6e1 GPU: Use texclamp for postshader/present draw. 2020-05-13 18:15:04 -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
03e3a935da GPU: Cleanup presentation flipping a bit. 2020-05-13 18:11:25 -07:00
Unknown W. Brackets
884a64b932 GPU: Cleanup skip buffer texture draws.
These will be used when a game does multiple transfers from RAM to the
screen, rather than one big one.  Wasn't clearing some state, though.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
6b251dac4c GPU: Simplify direct render when skipping buffers.
This may have been uploading twice before, so there may be a small
performance improvement in some games now.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
a41fbb9225 softgpu: Fix postshader on 5551.
This also fixes rendering on Windows 7 Direct3D 11.
2020-05-13 18:10:09 -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