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
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
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
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
Unknown W. Brackets
51b94a9c9c
Core: Quiet some warnings.
2020-03-10 22:19:59 -07:00
Henrik Rydgård
b0b9e24d4e
Vulkan: Fix minor vulkan resource leak if inflight frames isn't max.
2020-03-08 17:14:14 +01:00
Unknown W. Brackets
051a84e9bd
GPU: Restart when changing inflight frames setting.
...
We need to keep the push and pull in step, so changing at runtime is
messy.
2020-03-02 19:21:15 -08:00
Henrik Rydgård
fa8968f5c6
Merge pull request #12660 from unknownbrackets/frame-latency
...
GPU: Add setting to control inflight frame usage
2020-03-02 00:16:48 +01:00
Henrik Rydgård
63f06cdd91
Address some feedback, thanks unknown
2020-03-01 18:41:09 +01:00
Unknown W. Brackets
98df4bbec3
GPU: Allow choosing number of inflight frames.
2020-03-01 08:53:46 -08:00
Unknown W. Brackets
a91e206926
GPU: Add setting to control inflight frame usage.
2020-03-01 06:21:27 -08:00
Henrik Rydgård
25dcf8dd8d
Warning fixes
2020-03-01 14:15:10 +01:00
Henrik Rydgård
0da04f3694
Vulkan: Support devices that don't properly support 16-bit texture (like MoltenVK).
...
Fixes #12615 .
Will make finishing #10654 worthwhile.
2020-03-01 14:07:13 +01:00
Henrik Rydgård
81b42df7c2
D3D11: Fix mistake in UI vertex shader for non-textured geometry. Fixes #12587 .
2020-01-20 22:54:28 +01:00
Unknown W. Brackets
61e4818419
Windows: Allow long path for sys directory.
...
Unlikely, though.
2020-01-04 11:04:33 -08:00
Henrik Rydgård
26ab81c102
vulkan: The GPU profiler could end up writing massive amounts of text, fix some bugs around that.
2019-11-30 23:03:30 +01:00
Henrik Rydgård
fc34a93ac2
vulkan: ApplyRenderPassMerge; Add copy / blit destinations to touched buffers.
2019-11-30 23:02:08 +01:00
Henrik Rydgård
6c8186d046
Remove unused textureswizzle support (we use shaders instead). Universally support presenting 5551 format directly.
2019-10-27 20:55:32 +01:00
Henrik Rydgård
4f7c23fe79
DarkStalkers: Fix display on OpenGL ES.
2019-10-27 20:54:36 +01:00