Commit Graph

27339 Commits

Author SHA1 Message Date
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
Henrik Rydgård
886fff0990
Merge pull request #12931 from unknownbrackets/vulkan-postshader
Vulkan: Create FB compatible pipelines in Draw
2020-05-19 09:03:41 +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
cb23c0c01d Vulkan: Create FB compatible pipelines in Draw.
The easiest way is just to create both and support both.  Perhaps we could
optimize out the creation of the framebuffer one.

Fixes #12928.
2020-05-18 22:45:20 -07:00
Unknown W. Brackets
396bf1d1c7 Vulkan: Expand logging of render steps a bit. 2020-05-18 21:38:36 -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
612fdb957e Revert "Experimental commit that effectively reverts the Vulkan part of #12882."
This reverts commit 29d1f97dd5.
2020-05-19 00:44:42 +02:00
Henrik Rydgård
29d1f97dd5 Experimental commit that effectively reverts the Vulkan part of #12882.
For the #12927 investigation.
2020-05-19 00:42:34 +02:00
Henrik Rydgård
4ffc73bf5b Fix the Windows 32-bit build.
(It was complaining about inline assembly in a lambda, I guess at some
point we moved a call to Crash into a lambda and it became unhappy).
2020-05-19 00:10:39 +02:00
Henrik Rydgård
d37893d1ac Track scissors like we track viewports (bugfix?). 2020-05-18 23:21:03 +02:00
Henrik Rydgård
4e00a20c1f Show "debug build" on the splash screen, in debug builds. 2020-05-18 23:16:00 +02: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
Henrik Rydgård
6593ff9ff3
Merge pull request #12923 from unknownbrackets/ui-reporting
Fix crash on report feedback screen
2020-05-18 09:11:07 +02:00
Unknown W. Brackets
7fffe1d885 Vulkan: Verify scissor as well.
Vulkan spec requires both are set - we do set both, so let's catch any
mistakes.
2020-05-17 21:23:32 -07:00
Unknown W. Brackets
d295feda82 Vulkan: Add asserts to catch no viewport render.
Also assert to prevent a sync outside a frame, which goes badly.

The curRenderStep_ reset on same fb made some debugging easier, but should
not actually be hit in any real case.
2020-05-17 21:01:08 -07:00
Unknown W. Brackets
dc7ee54110 UI: Take reporting screenshot at frame end.
If we do it mid frame, we need to rebind the backbuffer and reset
viewport/scissor.  Without viewport, Intel drivers crash.

Doing it at the end of the frame keeps the code simple, although we often
create views an extra time.

Fixes #12897.
2020-05-17 20:37:26 -07:00
Henrik Rydgård
e29d79a5ae
Merge pull request #12922 from unknownbrackets/gpu-centralize
Centralize a bit, track render pass dependencies better
2020-05-18 00:48:16 +02:00
Henrik Rydgård
e216295d32 Vulkan validation: Switch to the new Khronos validation layer shipping with recent SDKs. 2020-05-18 00:40:14 +02:00
Unknown W. Brackets
059e2e5e16 Vulkan: Stop merge at clear/touched read only.
Before we would merge on a future render after a clear, which can't be
good.  But we can safely ignore a draw to another FB that reads from a
touched FB.
2020-05-17 15:04:21 -07:00
Unknown W. Brackets
112a58cb1a Vulkan: Make merge pass a bit easier to read. 2020-05-17 14:53:37 -07:00
Unknown W. Brackets
cab31c0118
Merge pull request #12920 from hrydgard/remove-audio-resampling-setting
Remove the Audio Resampling setting (now always on).
2020-05-17 15:05:27 -04:00
Henrik Rydgård
2843b8ef5f
Merge pull request #12486 from iota97/dpad
Rebindable touch right analog
2020-05-17 20:51:40 +02:00
Unknown W. Brackets
caf9d39fec GLES: Fix invalidation of backbuffer.
And of the stencil buffer.
2020-05-17 11:06:39 -07:00
Unknown W. Brackets
47bc11a682 Vulkan: Generalize dependency tracking.
Might as well track on all steps.  We also can know if the dst was fully
written to here.
2020-05-17 11:06:39 -07: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
5e27612efe Buildfix 2020-05-17 19:27:57 +02:00
iota97
6f59f02b38 Support chain 2020-05-17 19:06:23 +02:00
Henrik Rydgård
90fd2d9e33 Remove the Audio Resampling setting (now always on). Having it off is not useful because it'll never sync up perfectly over time. 2020-05-17 19:00:48 +02:00
Henrik Rydgård
2b605f1370
Merge pull request #11876 from AreaScout/master
Fix: touchscreen evens on upcomming SDL2 versions which includes the …
2020-05-17 18:35:39 +02:00
Henrik Rydgård
0692b6dca6 Revert the loop check in StereoResampler, new one could accidentally keep looping when underrun severely (like if emulation stopped). 2020-05-17 18:16:26 +02:00
iota97
c83e2fb070 Memory reading CWCheat 2020-05-17 18:07:30 +02:00
iota97
69d806a83a Add postprocessing CWCHEAT 2020-05-17 18:07:30 +02:00
Henrik Rydgård
fdd0b372ad
Merge pull request #12919 from sum2012/master
Add more debug info in scePsmfPlayerStart
2020-05-17 16:37:12 +02:00
sum2012
2c3833c28d Add more debug info in scePsmfPlayerStart 2020-05-17 22:31:37 +08: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
Unknown W. Brackets
f5d5f56044
Merge pull request #12918 from hrydgard/ui-minor
Some minor UI fixes (missing homebrew, etc).
2020-05-17 10:07:44 -04:00
Unknown W. Brackets
25e0164933
Merge pull request #12917 from hrydgard/remove-custom-atomic-code
Remove custom atomic code
2020-05-17 10:02:38 -04:00
Henrik Rydgård
9ed9468d72 Make the IsValidPBP DISC_ID check a bit more lenient. Fixes an issue where some homebrew would no longer show in the list. 2020-05-17 15:12:38 +02:00
Henrik Rydgård
7c8bcb2ee4 Fix homebrew store button to work even after changing grid layouts (it lost its click handler) 2020-05-17 14:57:12 +02:00
Henrik Rydgård
90071fd868 Fix a crash bug in homebrew store 2020-05-17 14:44:11 +02:00
Henrik Rydgård
a9befb5496 Remove our custom atomics code entirely. 2020-05-17 13:11:36 +02:00
Henrik Rydgård
af18532095 Convert atomic code in core and ConsoleListener to use C++ atomics 2020-05-17 13:04:34 +02:00
Henrik Rydgård
dc0bc0033e
Merge pull request #12916 from hrydgard/more-samplerate-fixes
More audio buffering fixes (primarily affects SDL)
2020-05-17 13:04:16 +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
Henrik Rydgård
3f74ffbdf5 Reduce the SDL audio buffer size, 2048 is a bit excessive. Port the changes to the Qt SDL code. 2020-05-17 11:50:34 +02:00
Henrik Rydgård
67334e4ae7 StereoResampler: Make sure the target buffer size is large enough, taking SYSPROP_AUDIO_FRAMES_PER_BUFFER into account. 2020-05-17 11:46:12 +02:00
Henrik Rydgård
f81dfa0171 Rename things to make more sense. 2020-05-17 11:05:53 +02:00
Henrik Rydgård
c46424afd6 StereoResampler: Use C++ atomics 2020-05-17 10:21:02 +02:00