Commit Graph

202 Commits

Author SHA1 Message Date
Unknown W. Brackets e85a8b0f5b Global: Cleanup class init order warnings. 2021-02-15 11:59:45 -08:00
Unknown W. Brackets a73c15babc GPU: Correct shader gen with weights as floats.
For now, this supports the option.  We should probably just move to
everything being floats, but we already prefer software skinning.

Fixes #13903.
2021-01-10 08:52:28 -08:00
Henrik Rydgård 7de7680416 Apple driver bug workaround. See issue #13451 2020-12-16 14:39:08 +01:00
Henrik Rydgård f4ea3ccf22 Move the generic vertex shader generator into GPU/Common and rename it. 2020-11-01 19:58:54 +01:00
Henrik Rydgård 0938d495d9 Remove a redundant bit from vertex shader IDs.
(complicates automated testing of shader generation)

Should have no noticeable effects.
2020-11-01 11:48:55 +01:00
Henrik Rydgård 0b1b36921e Move the now-renamed fragment shader generator to GPU/Common. 2020-10-31 19:03:14 +01:00
Henrik Rydgård b7d674411e Test parsing of generated OpenGL shaders too (by using glslang). 2020-10-31 18:32:43 +01:00
Henrik Rydgård af4d6e7642 Set up the test for D3D9, start fixing stuff. 2020-10-31 18:32:43 +01:00
Henrik Rydgård 2977c56a12 Complete the vertex shader merge, deleting the Vulkan-specific vertex shader generator. 2020-10-25 08:34:35 +01:00
Henrik Rydgård 22b26ffc09 Time for the vertex shaders. Set up a test, start eliminating differences. 2020-10-25 08:34:35 +01:00
Henrik Rydgård 020fb55a65 Completes the merge, deleting the Vulkan-specific fragment shader generator. 2020-10-23 10:03:44 +02:00
Henrik Rydgård 3d36049b65 Rename shader generator functions, a bit of moving around and adding an errorString param. 2020-10-21 23:20:25 +02:00
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 821817e6d4 Move the profiler 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 ff8148dd92 Move native/util, native/data and native/i18 to Common/Data.
Also move colorutil.cpp/h

linking build fix experiment

Delete a bunch of unused CMakeLists.txt files

CMakeLists.txt linking fix

Don't include NativeApp.h from any headers.

Android.mk buildfix

Half of the UWP fix

Buildfix

Minor project file cleanup

Buildfixes

Guess what? More buildfixes!
2020-10-04 07:28:29 +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 b43698a13d Remove most instances of base/logging.h from Common, Core, GPU, more 2020-08-15 19:08:44 +02:00
Henrik Rydgård ba0d04a142 Vulkan: Implement depth texturing through depal. 2020-08-09 20:31:04 +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 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 ac60e2ecd4 GPU: Track HW tess at start of frame too.
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
Unknown W. Brackets c42fb72419 GPU: Update uniforms w/ consistent render mode too. 2020-04-04 11:03:07 -07:00
Henrik Rydgård 974095ac10 Log shader contents to VERBOSE instead of DEBUG. 2020-02-29 10:46:04 +01:00
Henrik Rydgård 3445f39f3f Survive pipeline creation failure on Vulkan. Makes Burnout playable on Pocophone... Sigh.
Minor cleanups.
2019-03-11 16:40:10 +01:00
Henrik Rydgard 8e1a5ef3d6 Minor refactor of physical device property/feature detection, to allow for more extension use. 2019-02-05 18:07:17 +01:00
Henrik Rydgard fdd0d7acb4 More Vulkan validation fixes
NVIDIA no longer uses nVidia capitalization.
2019-02-05 18:07:11 +01:00
Henrik Rydgard 128c0adc39 Vulkan: Fix typo, bump shader cache version. 2019-02-04 14:22:19 +01:00
Unknown W. Brackets f8ce9b08ba Vulkan: Limit stencil workaround to Adreno 5xx. 2018-12-23 14:11:57 -08:00
Unknown W. Brackets 1f594f3fb5 GPU: Track draw in shader manager.
With device restore etc. everywhere.
2018-12-23 12:55:37 -08:00
Henrik Rydgård d9cfa3a8fa Bump shader caches 2018-12-02 21:49:20 +01:00
Henrik Rydgård 5975f471e2 Vulkan: Only apply the depth workaround on Qualcomm devices (adreno)
We've seen issues, and the validation layer still doesn't like them very much...
2018-09-18 23:46:45 +02:00
Henrik Rydgård b037efdb55 If there are multiple Vulkan devices, show a setting to allow the user to choose. 2018-06-06 10:20:12 +02:00
Henrik Rydgård 011e57c0e7 Always specify GLSL version 450 when compiling Vulkan shaders.
Bit of a risky change so late in the game but it's wrong, it needs fixing.
See for example the comments to https://github.com/hrydgard/ppsspp/commit/fb7a63bd11ba785209babfe9631956110d46c9bf
2018-05-13 20:42:17 +02:00
Henrik Rydgård 03c2292ae9 Merge pull request #10915 from unknownbrackets/warnings
Warning fixes
2018-04-14 20:30:26 +02:00
Unknown W. Brackets cddc7b5dc5 Vulkan: Fix cache file error handling warnings. 2018-04-14 10:59:41 -07:00
Henrik Rydgård 81276c8862 Fix various bugs. 2018-04-13 14:19:05 +02:00
Henrik Rydgård 29c41c6a35 Implement shader depal for Vulkan. See #10908. Bilinear filter not yet implemented. 2018-04-13 14:19:01 +02:00
Henrik Rydgård 163350bbcd Vulkan/D3D11: Make some space in the base uniform buffer by consolidating the spline parameters into one variable. 2018-04-13 08:58:05 +02:00
Henrik Rydgård 36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård 1c99ebcbcc Fix DecFmt bug 2018-04-10 12:12:47 +02:00
Henrik Rydgård 6a90b8fbb4 Revert "Further cleanup after the removal of hardware skinning."
This reverts commit f086a0915f.

Increment the shader cache version. Restore some more.
2018-04-10 11:38:02 +02:00
Henrik Rydgård d160292f54 Include renderpass definition in Vulkan shader cache entries, should make it more effective again. 2018-03-29 14:36:04 +02:00
Henrik Rydgård 8f87a9f5c5 Vulkan: De-duplicate pipelines when storing cache
The new variety of renderpasses with different transitions causes
duplication. Hopefully drivers are smart enough to re-use work
between similar pipelines as much as possible...
2018-03-19 11:18:37 +01:00
Henrik Rydgård 1bb7be489f Remove some unused tracking of whether lighting is used by a shader 2018-03-17 10:33:50 +01:00
Henrik Rydgård 614cabb115 Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
The raw pipeline cache got pretty large. Instead, store IDs like GL.

There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård 40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Unknown W. Brackets 4731a2918c GPU: Use more typesafe shader IDs.
Since they really are fairly distinct, let's make sure we can't mix them
accidentally.
2017-12-02 09:07:27 -08:00
Henrik Rydgård 7b2ad5fe72 Add some debug asserts, useful for debugging shader mismatches locally (though haven't found any..) 2017-12-01 00:28:07 +01:00
Henrik Rydgård ce1bc7fc3f Fixes problem switching between non-through triangles and rects. Helps a small part of #6554 2017-11-14 09:27:03 +01:00