Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
4f43cff5ca
Move fileutil, net, image loaders, ui to Common. ( #13506 )
...
* Move and rename file_util/fd_util to Common/File/FileUtil and DirListing
Let's also move net while we're at it.
Move the ZIM/PNG loaders over to Common.
Move the UI framework into Common
iOS buildfix
* Buildfix
* Buildfixes
* Apple buildfix
* This typo again..
* UWP buildfix
* Fix build of PPSSPPQt, such as it is (it's not in good condition...)
* Guess what? Another buildfix.
2020-10-04 20:48:47 +02:00
Henrik Rydgård
b7edf75437
Move Display.cpp/h to Common.
2020-10-04 11:42:16 +02:00
Henrik Rydgård
9e41fafd0d
Move math and some file and data conversion files out from native to Common.
...
Buildfixing
Move some file util files
Buildfix
Move KeyMap.cpp/h to Core where they belong better.
libretro buildfix attempt
Move ini_file
More buildfixes
2020-10-04 09:12:46 +02:00
Henrik Rydgård
ed88761ecc
Merge ext/native/stringutil.cpp/h into Common/StringUtils.cpp/h.
2020-09-29 15:51:51 +02:00
Henrik Rydgård
4e841ca3a6
Naming fix, better names for temp fbos
2020-08-27 21:50:05 +02:00
Henrik Rydgård
d54e0b3231
Fix longstanding depth/stencil view issue in Vulkan. Cleans up validation.
...
We didn't specify DEPTH|STENCIL as aspects for views we rendered to,
only DEPTH. Who knows how many of the driver bugs we "found" are this.
DEPTH|STENCIL views can't be sampled though, so we create a separate
DEPTH view for that. This keeps Katamari working.
2020-08-27 21:23:41 +02:00
Henrik Rydgård
506a86300d
More explicit invalidation of any cached state in Thin3D. Fixes #13307
2020-08-22 00:30:29 +02: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
c41f875df4
Remove base/logging.h in a whole lot more places.
2020-08-15 19:09:00 +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
2f5de1987e
Allow passing in an object name tag when creating framebuffers
2020-08-09 09:36:45 +02:00
Henrik Rydgård
ce31d3e375
Update Vulkan headers to the latest, just to keep up.
2020-08-01 23:37:15 +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
Unknown W. Brackets
9ebb402e4f
Vulkan: Buildfix.
2020-07-13 18:19:36 -07: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
iota97
804b673d8e
Vulkan: Correct secondary texture binding in Draw.
2020-06-12 12:40:53 -07:00
Unknown W. Brackets
201d2782b4
Draw: Allow 2 textures bound in Vulkan.
...
Not working properly though...
2020-06-12 12:35:37 -07:00
Unknown W. Brackets
21ac3ca7a4
Draw: Fix textures and samplers at an offset.
2020-06-12 12:35:37 -07:00
Unknown W. Brackets
c8f8d55118
Vulkan: Correct viewport flag reset on rebind.
...
Can't break since we're checking two separate flags.
2020-05-24 21:36:23 -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
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
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
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
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
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
61cca61d0c
Vulkan: Fix Draw usage of framebuffers.
2020-05-13 18:07:25 -07:00
Henrik Rydgård
63f06cdd91
Address some feedback, thanks unknown
2020-03-01 18:41:09 +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
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
Henrik Rydgård
58568632e8
Software renderer: Use hardware color conversion on Vulkan in 5551 16-bit mode
2019-10-27 20:54:36 +01:00
Henrik Rydgård
c7b3a08cf3
Vulkan: Add checks so we don't try to write NULL objects to a descriptor set.
...
(Shouldn't happen, but bad rendering is better than a crash in descriptor writing)
2019-10-20 17:05:42 +02:00
Henrik Rydgård
87c1ce6fa2
Vulkan: Move viewport/scissor rotation to the QueueRunner instead of RenderManager. Add some checks.
2019-10-13 21:25:16 +02:00
Henrik Rydgård
1e3711ee66
Vulkan blend factor: Bugfix and minor optimization
2019-10-13 21:17:29 +02:00
Henrik Rydgård
2439c3efb1
Merge pull request #12306 from hrydgard/mali-driver-version-detection
...
Improve Mali driver version detection
2019-09-04 22:45:34 +02:00
Henrik Rydgård
025a9f4dae
Improve Mali driver version detection
2019-09-04 21:46:07 +02:00
Henrik Rydgård
ab3c9fc21f
Vulkan: Move scissor/viewport rotation into the VulkanRenderManager. Fixes #12303 .
2019-09-03 23:26:44 +02:00
Henrik Rydgård
3af7229abc
Bump up the descriptor pool size for the UI. Should fix #12299 .
2019-09-02 18:39:10 +02:00
Henrik Rydgård
5fcac1a9e2
Vulkan: Disable some bad validation. Things are right and work fine.
2019-08-21 10:23:36 +02:00
Henrik Rydgård
653afeb7ab
Vulkan: Implement basic integrated GPU profiling.
...
Currently simply measures the total GPU time of the frame. Will later be
extended to get the execution time of individual render passes.
2019-08-21 00:03:00 +02:00
Henrik Rydgård
e943724905
Vulkan: Apply the desired pretransform when drawing to the backbuffer.
...
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099 .
2019-06-21 09:38:51 +02:00