Commit Graph
27109 Commits
Author SHA1 Message Date
Unknown W. Brackets 52283a50dc Io: Improve non-async open timing. 2020-05-21 18:58:22 -07:00
Unknown W. Brackets c829ccb87d Io: Track whether the game is on a UMD or storage. 2020-05-21 18:57:46 -07:00
Unknown W. Brackets 67416e5919 Io: Simulate VFAT bug only when simulating FAT32.
And cleanup flag handling a bit.
2020-05-21 18:57:46 -07:00
Unknown W. Brackets 51db9f0f85 Io: Improve timing of sceIoOpen().
Currently ignores filesystem, but this is more accurate.
2020-05-21 18:57:44 -07:00
Unknown W. Brackets 3777d32ac8 Io: Cleanup sceIoOpen errors and logging. 2020-05-21 18:56:57 -07:00
Henrik Rydgård 1dec772145 Merge pull request #12944 from unknownbrackets/gpu-minor
GPU: Ignore viewport for scissor of 481
2020-05-21 22:47:42 +02:00
Unknown W. Brackets 6ad9cb9e0c Merge pull request #12941 from hrydgard/vulkan-more-framebuffer-stuff
Vulkan: Deal with the reformat clear better
2020-05-21 15:32:01 -04:00
Unknown W. Brackets cd869d469d GPU: Ignore viewport for scissor of 481.
Assume it's still wrong in this case and take 480x272.  See #12746.
2020-05-21 11:37:36 -07: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 192164c5f8 Merge pull request #12939 from hrydgard/tag-renderpasses
Add a name tag for all render steps (GL/Vulkan).
2020-05-21 12:01:01 +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 e8b7372263 Merge pull request #12938 from hrydgard/toca-fix-attempt
Move the check from #12908 into the firmware version check.
2020-05-20 12:04:07 +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
Henrik Rydgård 5367cdfdc9 Merge pull request #12935 from unknownbrackets/vulkan-bugs
Cleanup some Vulkan bug checks
2020-05-20 09:13:02 +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 79299e19f9 Merge pull request #12934 from hrydgard/mali-stencil-workaround
Vulkan: Stencil initialization: Use the adreno path for Mali as well.
2020-05-19 23:37:48 +02: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 b001ca1e06 Merge pull request #12933 from hrydgard/vulkan-32bit-fix
Fix a case of pointer truncation in Vulkan on 32-bit. Fixes #12932
2020-05-19 21:50:56 +02:00
Henrik Rydgård e64fdfa0c3 Fix a case of pointer truncation in Vulkan on 32-bit. Fixes #12932 2020-05-19 20:53:51 +02:00
Henrik Rydgård 69c092dce1 Vulkan crashfix (pNext was uninitialized) 2020-05-19 20:52:47 +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
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