Commit Graph
9567 Commits
Author SHA1 Message Date
Henrik RydgårdandGitHub 7a6489ebb4 Merge pull request #12905 from unknownbrackets/postshader
Allow chained post-processing shaders
2020-05-17 16:09:05 +02:00
Henrik RydgårdandGitHub 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årdandGitHub 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
Henrik RydgårdandGitHub 009efa5c58 Merge pull request #12889 from sum2012/gpu-minor
Improved compatibility of sceGeListEnQueue: verify that stackDepth < 256
2020-05-13 23:25:56 +02:00
Unknown W. Brackets a2b99e23d2 GPU: Handle buffer overhead in postshader uniforms.
Framebuffers may be temporarily larger than the estimated width, because
we estimate different sizes for them and resizing is expensive.

This moves accounting for that to texelDelta instead of pixelDelta.
2020-05-13 08:39:50 -07:00
sum2012 c7e58a79e3 Improved compatibility of sceGeListEnQueue: verify that stackDepth < 256
thanks gid15
2020-05-12 21:30:25 +08:00