Commit graph

162 commits

Author SHA1 Message Date
Henrik Rydgård
1c17373039 GLES: Properly restore the pointer to the render manager in more places 2018-05-29 23:07:22 +02:00
Henrik Rydgård
0d6be3a476 GLES: Refresh the draw context in DrawEngineGLES on DeviceRestore. How did we miss this? 2018-05-27 22:25:15 +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
2cd8bd9bc3 Fixes to in-game GPU shutdown/switching. Fixes #10860 2018-04-05 20:26:29 +02:00
Henrik Rydgård
1d6263d5eb More GL shutdown fixes. Partially fixes #10868 2018-04-05 12:28:59 +02: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
7a8310ae5e Tiny unification of code. Save the GL shader cache a bit less often. 2018-03-13 13:35:58 +01:00
Henrik Rydgård
40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Henrik Rydgård
f5dd9c17cd Add comment trying to clarify shutdown of GPU_GLES, restore the wipe, minor tweaks. Should help #10652
This reverts commit 10be0cad96.
2018-02-27 22:04:24 +01:00
Henrik Rydgård
4b784e6035
Merge pull request #10653 from hrydgard/submitprim-unify
Unify the SubmitPrim function, and some others, between the HW backends
2018-02-26 16:17:16 +01:00
Henrik Rydgård
10be0cad96 GL: Don't wait-for-idle when shutting down the PSP GPU, it's the wrong place. Should fix #10652 2018-02-26 15:48:45 +01:00
Henrik Rydgård
64ec46e705 Unify FramebufferDirty()/FramebufferReallyDirty() for the hw backends 2018-02-26 11:58:17 +01:00
Henrik Rydgård
78467d6092 Unify FastRunLoop for the hardware backends. 2018-02-26 11:52:16 +01:00
Henrik Rydgård
6a2f45c2e1 Unify UpdateCmdInfo 2018-02-26 11:48:56 +01:00
Henrik Rydgård
8cef1f0f8d GPU: Unify command table (cmdInfo_) 2018-02-26 11:44:02 +01:00
Henrik Rydgård
967018b7f8 Unify Execute_LoadClut 2018-02-26 11:32:02 +01:00
Henrik Rydgård
c7f8f4c5ca Unify Execute_Prim 2018-02-26 11:22:27 +01:00
Unknown W. Brackets
0399088fc7 GLES: Handle glGetString() on GL thread.
We only use a few strings, so should be fine to cache them.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
30a60018a0 GLES: Fix race crash on shutdown.
This happens when there are pointers in step commands that get freed.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
ccdb4d186d gl-render-manager: Fix HW tesselation. Remove 1D texture support, likely no benefit. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
51f467a7b3 Kill off the GL state cache 2018-01-27 15:10:17 +01:00
Henrik Rydgård
f3282dcfda Delete the gl name cache (might resurrect it on the GLQueueRunner side if needed later). Other cleanup and fixes. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
46e1fbb788 Initial texture work. Bugfix indexed drawing 2018-01-27 15:10:17 +01:00
Henrik Rydgård
bd6818198a More GLRenderManager 2018-01-27 15:10:17 +01:00
Henrik Rydgård
376d92fcc9 Start messing with the draw engine... 2018-01-27 15:10:17 +01:00
Henrik Rydgård
9340260802 Finish the shader manager (almost) 2018-01-27 15:10:17 +01:00
Henrik Rydgård
2dda2bfa78 Dual source blend: Remove bad #ifdef that killed dual src code on Android... oops. Re-enable on nVidia Shield TV/Tablet. Fixes #10136 properly. 2017-12-30 00:53:24 +01:00
Unknown W. Brackets
0151c5e649 GPU: Track stats on uploads.
A lot can lead to slowdown, so it's useful when logging frame drops.
2017-12-28 19:27:45 -08:00
Henrik Rydgård
c948a3df00
Merge pull request #10439 from unknownbrackets/intel-dualsrc
GLES: Allow dual src blend on newer Intel
2017-12-28 13:37:57 +01:00
Unknown W. Brackets
f9750dd137 Display: Avoid limiting FPS without a clear.
A bit of a dirty heuristic to avoid the slowdown in #8538.
2017-12-26 19:37:40 -08:00
Unknown W. Brackets
025a806ab4 GPU: Remove FBO auto-download hack.
See #6261.  This should be replaced now with block transfer detection,
which is faster and doesn't cause crashes.

Games that previously required this setting should use block transfer
instead.  If that doesn't work, it's a bug.
2017-12-25 11:17:59 -08:00
Unknown W. Brackets
49b41d1629 GLES: Allow dual src blend on newer Intel.
Fixes #10117.
2017-12-24 09:41:00 -08:00
Unknown W. Brackets
510f9652a0 GLES: Improve HW tess requirements validation.
We also need texelFetch of some kind, seen in reporting.
2017-12-21 18:44:47 -08:00
Henrik Rydgård
5c1dad9909 Remove more obsolete ifdefs 2017-12-19 17:59:00 +01:00
Henrik Rydgård
b10b24feea GLES device lost/store fixes 2017-12-10 02:05:25 +01:00
Henrik Rydgård
6e3cb0cd48 Add missing IF statement for instance rendering check.. 2017-12-08 15:53:33 +01:00
Henrik Rydgård
3eda310009
Merge pull request #10366 from hrydgard/gl-lost-device-rework
Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc.
2017-12-07 22:48:43 +01:00
Henrik Rydgård
fb74c9dfeb Clean up a small inconsistency 2017-12-07 21:09:09 +01:00
Henrik Rydgård
7d0fc9ce65 Rework GL lost-device to work more like Vulkan. Gets rid of gl_lost manager etc. 2017-12-07 15:05:59 +01:00
Unknown W. Brackets
9f000ddf35 GLES: Avoid hanging while precompiling shaders.
We want to continue updating the screen so it doesn't seem frozen.
2017-12-03 11:30:00 -08:00
Henrik Rydgård
d4df0181db More duplicate code removal 2017-11-14 09:20:36 +01:00
Henrik Rydgård
04e313ecba Unify Execute_Bezier and Execute_Spline 2017-11-13 10:45:27 +01:00
Unknown W. Brackets
7041341d1a SaveState: Avoid clearing shaders in all backends. 2017-11-11 08:17:04 -08:00
Henrik Rydgård
d618b3673b Count readbacks in a frame and show in GPU debug stats. 2017-11-08 11:57:53 +01:00
Henrik Rydgård
8c69be9bfa Get rid of GPUCommon's "Internal" functions. 2017-11-05 23:21:52 +01:00
Henrik Rydgård
26e52ca5e8 Get rid of a bunch of sync stuff that's no longer needed. 2017-11-05 23:21:49 +01:00
Henrik Rydgård
b886efe8f5 Another minor cleanup (DescribeCodePtr) 2017-10-20 11:06:12 +02:00
Henrik Rydgård
4a30aedc53 Unify and move around code to cleanup some debug accessors 2017-10-18 13:10:05 +02:00
Henrik Rydgård
d53c88456a Unify GetFramebufferList() (trivial) 2017-10-18 12:49:15 +02:00
Unknown W. Brackets
5784b51428 GLES: Allow hwtess for GL 3.1 w/o shader4.
gl_InstanceID was added to core in 3.1, so we don't need gpu_shader4.
2017-09-21 20:20:17 -07:00