Unknown W. Brackets
00656a2d8d
GLES: Avoid duplicate state resets.
...
Between render passes, we don't need to re-disable stencil test each time.
Only when it changes. This makes render logs clearer.
2020-05-24 20:50:17 -07:00
Unknown W. Brackets
8fa84fd717
Merge pull request #12968 from hrydgard/dirty-from-drawengine
...
Dirty state from each DrawEngine
2020-05-24 15:35:05 -04:00
Henrik Rydgård
370678c498
Do a similar thing for D3D (let the backend handle the dirtying).
2020-05-24 20:57:59 +02:00
Henrik Rydgård
bebf649705
OpenGL/Vulkan: Rework the contract around dynamic state. Removes some ugly dirtying from the GL render manager.
2020-05-24 20:27:58 +02:00
Unknown W. Brackets
544576e6c2
UI: Lock around removal from dispatch queue.
2020-05-24 10:57:32 -07:00
Henrik Rydgård
bef078a3bd
GLRenderManager: Removes some redundant dirtying. Preserves blend state (color mask) across clears.
2020-05-24 19:18:04 +02:00
Henrik Rydgård
23bdc40715
Merge pull request #12942 from unknownbrackets/vulkan-debug
...
When debugging, expose pass tags to RenderDoc
2020-05-22 09:28:09 +02:00
Unknown W. Brackets
49abe9ed6c
Io: Open sce_lbn references and whole ISO faster.
2020-05-21 18:58:24 -07:00
Unknown W. Brackets
2dbb7a598d
Vulkan: Label render passes in RenderDoc/etc.
2020-05-21 08:55: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
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
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
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
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
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
d37893d1ac
Track scissors like we track viewports (bugfix?).
2020-05-18 23:21:03 +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
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
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
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
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
Henrik Rydgård
4bf92a66c5
Thin3D: use 16-bit indices. Fixes #12898 .
2020-05-15 18:07:07 +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
cb0f8cb373
D3D11: Allow pixel shader uniforms in Draw.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
8fdc557040
D3D9: Attempt PS/VS 3.0 if it doesn't work with 2.
...
So that postshaders can work. Downside is, if we write a UI shader that
requires 2.0, we may not notice... but I think the risk is not that high.
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
f9697c2c32
Vulkan: Allow frag shader UBO reads.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
e309712fed
Vulkan: Correct missing offsets in Draw.
...
Was silently ignoring them. Caused stretch in postshaders.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
ddd3af2297
Draw: Actually use the index offset parameter.
...
I'm not sure we need it, but having a param used only on one backend is
confusing.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
b91b7aaa0a
Draw: Enable backwards compat on D3D11 shaders.
...
To match/support postshaders.
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
c025eab86e
Draw: Add more uniform types.
...
Only because we might have float a[2]; float b[2];...
2020-05-13 18:07:25 -07:00
Unknown W. Brackets
9b8157f624
Draw: Allow specifying a tag on shaders.
...
This way they are not always "thin3d" when using Draw.
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
61cca61d0c
Vulkan: Fix Draw usage of framebuffers.
2020-05-13 18:07:25 -07:00
Henrik Rydgård
f23dd7635c
Merge pull request #12882 from hrydgard/vulkan-fix-renderpass-opt
...
Vulkan: Don't merge render passes where the second one begins with a clear.
2020-05-11 00:18:59 +02:00
Henrik Rydgård
a34c773b13
Vulkan: Don't merge render passes where the second one begins with a clear.
...
God of War optimization survives this check, thankfully.
Force Unleashed doesn't, but meh, it's not as bad there anyway.
2020-05-10 23:10:57 +02:00
Unknown W. Brackets
03fc86a147
UI: Return to game settings after restart.
...
This is more convenient. Also restarts the game if needed.
Added a way to pass args to Android here as well, and fixed displaying an
error if the shortcut file doesn't exist on Android (like if you deleted
it after creating the shortcut.)
2020-05-09 13:53:42 -07:00
Unknown W. Brackets
dddaa57392
Windows: Fix GL reinit on backend switch.
2020-05-09 12:20:42 -07:00
Henrik Rydgård
15a785cacb
Merge pull request #12840 from unknownbrackets/android-osk
...
Android: Don't cache env in text drawer
2020-04-20 09:12:02 +02:00
Unknown W. Brackets
418e881f14
Android: Don't cache env in text drawer.
...
For PPGe, the thread is changing on lost, so we can't use the cached env.
2020-04-19 15:40:48 -07:00
Henrik Rydgård
e62c669f10
GLES: Disable range culling on old Tegras, they seem to misbehave (see issue #12838 ).
...
This is a blind fix - couldn't find my old Shield Portable :(
2020-04-19 18:43:20 +02:00