Commit graph

868 commits

Author SHA1 Message Date
Henrik Rydgård
a1e5f1b052 When going the other way, there can be multiple textures that need updating. 2020-09-01 22:54:36 +02:00
Henrik Rydgård
a22181df1c Partially fix Katamari (flicker due to choice of the wrong depth buffer still happening). 2020-09-01 22:54:36 +02:00
Henrik Rydgård
cb3ed8f4a1
Merge pull request #13343 from unknownbrackets/xxhash
Switch to XXH3
2020-08-28 12:20:26 +02:00
Unknown W. Brackets
e32524c544 GPU: Remove ReliableHash aliases.
Let's just use XXH32/XXH64 directly in texture replacements, clearer
anyway.
2020-08-28 01:15:22 -07:00
Unknown W. Brackets
7f812a5d9a GPU: Hash CLUT using XXH3 with replacements off.
It's faster, but if texture replacements are enabled, we want the hash to
stay the same.
2020-08-27 20:46:39 -07:00
Unknown W. Brackets
15c25be42b GPU: Switch vertex/lookup hashes to XXH3.
This is faster pretty much everywhere.
2020-08-27 20:37:49 -07:00
Henrik Rydgård
6e9d5ffbd7 VulkanRenderManager: Improve logging. LogSteps output is much better.
More logging improvements
2020-08-27 21:50:05 +02:00
Henrik Rydgård
d465ce5123 Quick Vulkan crashfix 2020-08-22 10:50:39 +02:00
Unknown W. Brackets
3055deeba6 GPU: Fix some case warnings.
Better to avoid the warnings.
2020-08-19 21:18:44 -07:00
Henrik Rydgård
5d64fc5ff1 Switch to PPSSPP's assert functions (don't use the system's) 2020-08-16 10:01:10 +02:00
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård
7115c28c29
Merge pull request #13287 from hrydgard/log-cleanup
Log system cleanup
2020-08-15 20:32:01 +02:00
Unknown W. Brackets
1e2f87a6d2 Vulkan: Fix tex upscaling 4444 swizzling. 2020-08-15 10:12:34 -07:00
Henrik Rydgård
b22083e7a6 Even more base/logging.h removal and fixes 2020-08-15 19:09:01 +02:00
Henrik Rydgård
c41f875df4 Remove base/logging.h in a whole lot more places. 2020-08-15 19:09:00 +02:00
Henrik Rydgård
b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Henrik Rydgård
8835728f87 Replace base/logging.h in VulkanContext and parts of native 2020-08-15 19:08:44 +02:00
Henrik Rydgård
62a8329c33 Remove sstream from stringutil.h. See #13267 2020-08-10 14:33:00 +02:00
Henrik Rydgård
6b6ecf4427
Merge pull request #13267 from unknownbrackets/headers
Reorganize DoState headers and cut back on common header includes
2020-08-10 13:45:57 +02:00
Unknown W. Brackets
b8342fb8ec SaveState: Rename ChunkFile files to Serialize.
Makes more sense and less weird than ChunkFileDoMap, etc.
2020-08-10 08:04:05 +00:00
Unknown W. Brackets
1dc5ee424b SaveState: Split out Do types to reduce headers. 2020-08-10 08:03:44 +00:00
Henrik Rydgård
ba0d04a142 Vulkan: Implement depth texturing through depal. 2020-08-09 20:31:04 +02:00
Henrik Rydgård
fbf6008a03 Set debug names for more framebuffers and textures 2020-08-09 09:36:54 +02:00
Henrik Rydgård
eadd3c5785 Remove the LARGE_VIEWPORTS separate path. The fewer paths the better, all need to work anyway.
Required fixing a bug in ShaderUniforms.cpp (used by D3D11 and Vulkan,
the two backends that previously exposed LARGE_VIEWPORTS).
2020-08-05 19:03:08 +02:00
Henrik Rydgård
58ef0c8e80 Texture from framebuffer: Logging improvements 2020-08-04 14:45:14 +02:00
Henrik Rydgård
882cc6295e Rename FramebufferVulkan.cpp/h to FramebufferManagerVulkan.cpp/h 2020-08-03 23:22:11 +02:00
Henrik Rydgård
d57edfbdac Rename FramebufferCommon.cpp/h to FramebufferManagerCommon.cpp/h for consistency 2020-08-03 23:17:22 +02:00
Henrik Rydgård
de178d617b Move a line to a better place 2020-08-03 23:14:27 +02:00
iota97
ce2fc7d986 Fix texture upscaling and per game setting fix/cleanup 2020-08-03 16:04:23 +02:00
Unknown W. Brackets
d99e67a061 Vulkan: Allow custom texture upscaling shaders.
Let's not just hardcode.
2020-08-01 22:00:04 -07:00
BreadFish64
b0a073b4bb Fix alpha channel handling in xBRZ texture filter shader 2020-07-29 16:29:31 -05: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
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ård
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ård
f9cef5b6b2 Partly clean up SDL resize code, should help #11974 2020-06-24 01:06:01 +02: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
Unknown W. Brackets
40a0525aea Vulkan: Ensure depth/stencil load match on Mali. 2020-05-25 12:14:03 -07: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
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
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
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
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
f1b9943947
Merge pull request #12930 from unknownbrackets/gpu-stencil
GPU: Avoid unnecessary clear on stencil upload
2020-05-19 09:05:58 +02:00