Commit graph

6158 commits

Author SHA1 Message Date
Henrik Rydgård
200c25bcc9 wip 2020-10-31 18:32:42 +01:00
Henrik Rydgård
92d73e3b03 HLSL: Use #define to switch to glsl-like vector types. 2020-10-31 18:32:42 +01:00
Henrik Rydgård
5ee9cfef0d Remove support for D3D11_level_9 (previously only really used for Windows Phone, probably).
Can always fall back to D3D9, which is not going away anytime soon and
still needs to be there. One less HLSL variant to care about.
2020-10-29 00:52:19 +01:00
Henrik Rydgård
8b2aeade15 Fix checks for fragment test cache in GLES fragment shader generator 2020-10-28 23:51:22 +01:00
Henrik Rydgård
71706724e1 Somehow forgot to delete VertexShaderGeneratorVulkan.cpp 2020-10-26 09:59:16 +01:00
Henrik Rydgård
148d3b72e5 Use splat3(x) liberally (converts to vec3(x) on GLES, vec3(x,x,x) on D3D)
Prep for merging the HLSL and GLSL generators.
2020-10-25 08:34:35 +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
fb2ac3a67e Additional fixes 2020-10-25 08:34:35 +01:00
Henrik Rydgård
69c8912b93 More tess fixes 2020-10-25 08:34:35 +01:00
Henrik Rydgård
6055350a2c Initial work on fixing tess 2020-10-25 08:34:35 +01:00
Henrik Rydgård
7532116b69 Fix additional minor differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
a8f4a4d749 Fix more vertex shader differences 2020-10-25 08:34:35 +01:00
Henrik Rydgård
057fd9f8a3 Bridge more vertex shader differences 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
254c316b10
Merge pull request #13570 from hrydgard/gl-allow-wrap-framebuffers
GL: Allow texture wrapping on framebuffers
2020-10-23 22:41:10 +02: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
56ddd597c1 Fix more tiny differences. The fragment shader generators now match! 2020-10-23 10:03:44 +02:00
Henrik Rydgård
fe8691fba7 Fix additional differences 2020-10-23 10:03:44 +02:00
Henrik Rydgård
aea4635d60 Fix minute differences between the shader generators found by the new tester 2020-10-23 10:03:44 +02:00
Henrik Rydgård
ef18938aa0 Hack up a test comparing Vulkan fragment haders generated by the GL GLSL generator to the ones generated by the Vulkan generator. 2020-10-23 10:03:44 +02:00
Henrik Rydgård
9e245d6835 OpenGL: Share the shader version detection.
Use a version integer instead of a string
2020-10-23 10:03:44 +02:00
Henrik Rydgård
c45515866b Cleanup
Clean up GLSL language setup further
2020-10-23 10:03:44 +02:00
Henrik Rydgård
2917b0e9e6 GLES: Read compat params first, emit code later. 2020-10-23 10:03:44 +02:00
Henrik Rydgård
e30de2f6a5 More splat3 2020-10-23 10:03:44 +02:00
Henrik Rydgård
43ce4e7493 Remove an unmotivated ifdef. Additional cleanup 2020-10-22 00:10:21 +02:00
Henrik Rydgård
2c0a3c2e23 Prepare for more GLSL testing 2020-10-21 23:39:34 +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
c6f51bbc1e Add brute force shader generator tester. Tests D3D11 and Vulkan shaders.
Found a potential error with tesselation without normals already.
2020-10-21 23:20:15 +02:00
Henrik Rydgård
712f56fb7d Vulkan: remove array indexing for light parameters to match the other backends 2020-10-21 23:20:11 +02:00
Henrik Rydgård
391d2ea73d Rename vk uniforms to match the other backends 2020-10-21 21:13:08 +02:00
Henrik Rydgård
92e1dce2db Error handling fixes 2020-10-18 20:26:19 +02:00
Henrik Rydgård
e80a526015 D3D11: Implement depth texturing. Fixes, for D3D11, #6411. 2020-10-18 20:14:25 +02:00
Henrik Rydgård
6cc8c2ebc1
Merge pull request #13328 from hrydgard/libretro-fixes
Fix libretro with Vulkan
2020-10-14 22:08:11 +02:00
Henrik Rydgård
b8e8325888 Fix text issue in God Eater Burst. Forgot that games can allocate texture in volatile memory too.
We considered any texture from kernel memory "reliable", which is wrong
since games can allocate out of the upper half of kernel RAM, which is
called "volatile" memory.

Fixes issue #13511
2020-10-14 00:09:08 +02:00
aliaspider
1aff9b3e2b Vulkan: fix stack overflow. 2020-10-13 06:05:30 +01:00
Henrik Rydgård
332bb7feeb VK: Whenever safely possible, shrink the render area.
We just set the render area to the union of the scissor rects used in a pass.

Might help some games on some mobile hardware, a little bit.

Possibly #13464?
2020-10-11 23:23:25 +02:00
Henrik Rydgård
495fd9a13c Fix OpenGL crash introduced in #13536 2020-10-11 22:34:37 +02:00
Henrik Rydgård
ced83b4785 Libretro/VK: Add a README for debugging, so I don't forget. Minor cleanups. 2020-10-11 19:06:09 +02:00
Henrik Rydgård
afb35c3be3 Fix GPU profile display on notched screens 2020-10-11 19:04:35 +02:00
Henrik Rydgård
5ece3de8ba Track and accumulate pipeline flags for render passes.
(Information that will later let us make some interesting optimizations)
2020-10-11 12:22:25 +02:00
Henrik Rydgård
940611fe65 Remove the USE_GENERAL_LAYOUT_FOR* debug defines. 2020-10-11 11:06:54 +02:00
Henrik Rydgård
dc0f7ca8ee VK: Copy depth buffer if we can't blit. Some GPUs can't blit to depth.
Fixes some recent issues with Intel GPUs on Vulkan.
2020-10-11 10:57:35 +02:00
Henrik Rydgård
b28baed7d3 Create a safer variant of BlockTransferAllowCreateFB, enable for FF Type 0
Performance improvement by avoiding unnecessary readbacks.

New one is called IntraVRAMBlockTransferAllowCreateFB.

This one only allows intra-VRAM block transfers to happen on-GPU, such as the one this
game uses for bloom. Good chances to avoid missing stuff that actually requires
real readback, if there's any.
2020-10-10 23:59:51 +02:00
shenweip
a66cb1237d Warning fixes. 2020-10-10 19:18:46 +02:00
Henrik Rydgård
93e327ab78 Vulkan: Automatically generate mipmaps for replacement textures. 2020-10-05 22:36:55 +02:00
Henrik Rydgård
886a8b1ac6 Remove Timer.cpp/h. Move various collections into Common/Data/Collections. 2020-10-05 21:05:23 +02:00
Henrik Rydgård
4310e35714 Windows: Remove the native project. 2020-10-05 06:56:10 +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
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
f01ba6dc84 Move NativeApp.h to Common/System, split into NativeApp.h and System.h
Buildfix
2020-10-04 11:42:16 +02:00