Commit Graph
5929 Commits
Author SHA1 Message Date
Unknown W. Brackets b6e98374d3 UI: Fix consistency in vsync setting for iOS. 2020-07-24 21:05:28 -07:00
Henrik Rydgård 809fd6b8fa Small perf optimization in debug mode (surprisingly expensive to do a vector lookup here). 2020-07-24 00:05:36 +02:00
Henrik Rydgård e9d0b5b90f D3D11 - don't forget to unbind secondary texture when we need to unbind.
Fixes Patapon 3 error reported in #13132.
2020-07-23 22:23:55 +02:00
Henrik Rydgård c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård 6560192d8e Support full VSync control in SDL OpenGL.
(Not yet Qt).

Forgot about iOS

SDL headless buildfix

Additional iOS buildfix
2020-07-19 12:07:16 +02:00
Henrik Rydgård 82bc6f6cc5 Windows ARM fix, cleanup 2020-07-14 13:47:25 +02:00
Henrik Rydgård 131a1eedfb Vulkan: Make sure textures/samplers are unbound at the end of PresentationCommon::CopyToOutput.
Validation caught an issue where old stuff lingered in sampler 1 and texture 1.

Bug probably introduced in #12921, but could also be others.
2020-07-13 23:32:37 +02:00
Henrik RydgårdandGitHub bb6219e402 Merge pull request #12921 from unknownbrackets/postshader
Use less FBOs for chained post-processing shaders
2020-07-13 18:52:53 +02:00
Henrik RydgårdandGitHub 6009bf7b74 Merge pull request #12952 from unknownbrackets/vulkan-safesize
Vulkan: Match safe size behavior on all backends
2020-07-13 15:59:09 +02:00
Henrik RydgårdandGitHub 4537b807c6 Merge pull request #12969 from unknownbrackets/vertex-cache
Fix and improve the GLES vertex cache
2020-07-13 14:38:06 +02:00
Henrik RydgårdandGitHub b58ca8af12 Merge pull request #12945 from unknownbrackets/io-timing
Make file open timing a bit more accurate
2020-07-13 13:37:53 +02:00
Henrik Rydgård a722dfe0fb Formalize "core excpetions" as a concept 2020-07-12 15:25:21 +02:00
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årdandGitHub 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årdandGitHub 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årdandGitHub 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