Henrik Rydgård
73046239e3
Android: Add option to ignore camera notches when sizing the display.
...
This is generally what you want, at least on phones with small notches.
Not sure about the most intuitive polarity and name of the setting.. bit
of a shame to create another setting with a negation. But most people
should probably ignore this.
2020-07-05 22:46:25 +02:00
Henrik Rydgård
37b57d925c
D3D9: Fix a sign mistake generating the projection matrix. Fixes #13063
2020-06-28 18:25:08 +02:00
Rémi Verschelde
e479bf7f7b
TextureDecoder: Fix misuse of NEON on all armv7
...
`ppsspp_config.h` properly defines `PPSSPP_ARCH(ARM_NEON)` already for
arm64v8 and armv7+NEON, so we use that instead of using NEON instructions
on all armv7.
2020-06-27 17:29:24 +02:00
Henrik Rydgård
f9cef5b6b2
Partly clean up SDL resize code, should help #11974
2020-06-24 01:06:01 +02:00
Henrik Rydgård
1349b83d54
Android: Fix odd screen centering with insets.
2020-06-14 19:58:54 +02:00
Unknown W. Brackets
cdb7e2fc1e
GPU: Add sampler1 for postshader orig source.
2020-06-12 12:35:37 -07:00
Unknown W. Brackets
dcf4498f82
GPU: Alternate FBOs for chained postshaders.
...
If you apply 4 in a row at the same resolution, we only need two actual
FBOs. This will use less VRAM.
2020-06-12 12:35:36 -07:00
Unknown W. Brackets
9ef521d945
GPU: Avoid immediate postshader FBO recreate.
...
Before, we created things at the wrong size, then recreated at the right.
Now we just start at the correct size once.
2020-06-12 12:35:35 -07:00
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
Unknown W. Brackets
56f4335915
GLES: Delay buffer use in vertex cache.
...
This creates the buffer on frame 2, starts using it on frame 3.
2020-05-24 14:47:41 -07:00
Unknown W. Brackets
c051e9ec2c
GLES: Fix disabled vertex cache code.
2020-05-24 14:05:54 -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
1432cc9431
GPU: Try a bit harder to determine safe size.
2020-05-23 00:54:22 -07:00
Unknown W. Brackets
ea1f0a1195
Vulkan: Match safe size behavior on all backends.
...
Before, we would not mark a safe size for some Vulkan clears where depth
was not cleared, deviating from other backends. We also never detected
that on PowerVR. This makes things more consistent.
2020-05-23 00:25:39 -07: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
Unknown W. Brackets
49abe9ed6c
Io: Open sce_lbn references and whole ISO faster.
2020-05-21 18:58:24 -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