Commit Graph
5870 Commits
Author SHA1 Message Date
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
https://github.com/jpcsp/jpcsp/commit/f9a116f78a939f27440e5edd5fd0c70cddc78537
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
Unknown W. Brackets 2653e50200 softgpu: Avoid RB swizzle when using a postshader.
So that it can post-process correctly.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets d4f4e87e66 Vulkan: Correct postshader sampler binding.
This was causing a lost device.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets 3aa8287b74 softgpu: Enable postshader support. 2020-05-13 18:10:09 -07:00
Unknown W. Brackets 0e5b17eb9c GLES: Fix reuse of vertex data buffer.
Direct3D 11 and OpenGL had some issues with this being reused for both
renders.  Caused OpenGL to appear flipped.
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 d17c5b30e1 D3D9: Enable postprocessing of post shaders. 2020-05-13 18:07:25 -07:00
Unknown W. Brackets 0b26eaaa7a GPU: Move a bit more to new display approach. 2020-05-13 18:07:25 -07:00
Unknown W. Brackets 57bd88fc33 softgpu: Allow display rotation. 2020-05-13 18:07:25 -07:00
Unknown W. Brackets a03e368566 GPU: Move cardboard/etc. to PresentationCommon.
Now this works on softgpu as well.

Some hacks for backend differences...
2020-05-13 18:07:25 -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
Unknown W. Brackets 1b9440611a softgpu: Fix texture overlap.
Mainly happened when we had wide textures and split them up between GPUs.
2020-05-13 17:53:00 -07:00