Henrik Rydgård
0c489e2d0d
We need to check for renderpass change and dirty here too. What a mess..
2020-06-02 11:18:42 +02:00
Henrik Rydgård
737688a22a
Annotate calls to RebindFramebuffer with their cause.
2020-06-02 09:51:38 +02:00
Henrik Rydgård
f4dcbe9d28
Vulkan DrawEngine: Move the renderstep changed check until after the last place where it can change.
2020-06-02 09:50:20 +02:00
Henrik Rydgård
4fa6c7fd7f
Typo fix. Will hopefully help #12992 .
2020-06-01 16:19:17 +02:00
Henrik Rydgård
c8d48a8777
Handle insets correctly for the in-game final screen blit.
...
Should help #12982 in case of phones with inset cameras.
2020-05-31 20:14:40 +02:00
Henrik Rydgård
e559fc022f
Minor refactor in PresentationCommon (combine loose coordinates to a struct)
2020-05-31 19:45:28 +02:00
Unknown W. Brackets
40a0525aea
Vulkan: Ensure depth/stencil load match on Mali.
2020-05-25 12:14:03 -07:00
Unknown W. Brackets
61f907fd18
GE Debugger: Fix alignment in GE dumps.
2020-05-24 19:06:20 -07: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
Henrik Rydgård
4f7e5df29a
Remove all those "GLES reset the blend state" comments.
2020-05-24 19:21:46 +02:00
Henrik Rydgård
cba0d16583
Vulkan: After binding a new framebuffer, we always need to dirty the viewport/scissor state.
...
So that viewport and scissor commands get written to the new render pass.
Temporary solution until I can figure out how to abstract this away
in the RenderManager without losing perf.
2020-05-24 17:59:52 +02:00
Henrik Rydgård
defa8aa480
DarkStalkers: Handle the "normal" screen stretch too, not just "wide", to avoid a surprising performance drop.
2020-05-24 16:53:44 +02:00
Henrik Rydgård
f0550a6ded
Exclude a couple more commands from re-execution in ReapplyGfxState. See
2020-05-24 16:30:37 +02:00
Henrik Rydgård and GitHub
104bf3915e
Merge pull request #12956 from unknownbrackets/project
...
Cleanup MSVC project a little and move git-version-gen
2020-05-24 11:03:26 +02:00
Unknown W. Brackets
921b9b89d6
GPU: Don't reapply LoadClut each frame.
...
Definitely don't need to reapply this one.
2020-05-24 00:12:41 -07:00
Unknown W. Brackets
9064bbcad1
Windows: Move git-version update to build event.
...
Doing it on each project made it possible for two to overwrite each other.
It's rare, but this could corrupt git-version.cpp.
This makes it run when Core is resolved, and also on Windows/Headless only.
It may still require two compiles to update, but that's not a new problem.
2020-05-23 13:34:41 -07:00
Henrik Rydgård and GitHub
da2f83b110
Merge pull request #12951 from unknownbrackets/vulkan-safety
...
GPU: Never set safe size larger than the buffer
2020-05-23 10:51:09 +02:00
Unknown W. Brackets
3a1bc6a86b
GPU: Never set safe size larger than the buffer.
...
Maybe this indicates the buffer size is wrong, but a safe size larger than
the buffer will make us try to download outside the buffer and lose the
Vulkan device.
2020-05-23 00:12:22 -07:00
Unknown W. Brackets
5507116d3f
Ge: Check stack depth based on args struct size.
...
Matches tests against firmware.
2020-05-21 22:16:13 -07:00
Henrik Rydgård and GitHub
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
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
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
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
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
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 and GitHub
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
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
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
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
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 and GitHub
7a6489ebb4
Merge pull request #12905 from unknownbrackets/postshader
...
Allow chained post-processing shaders
2020-05-17 16:09:05 +02:00
Henrik Rydgård and GitHub
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