1186 Commits

Author SHA1 Message Date
Henrik Rydgård
1eec30dac2 Avoid causing a gl error on startup on core contexts. 2018-02-08 00:44:10 +01:00
Henrik Rydgård
481134bfe9 Another go at the deleter problem. Still not feeling 100% good about how this works.. but it does seem to work fine. 2018-02-08 00:41:17 +01:00
Henrik Rydgård
8ee426ff74 Get rid of an unused codepath (gl rendering is now always threaded) 2018-02-08 00:23:48 +01:00
Henrik Rydgård
ce16547854 GL render manager: Fix bug when setting texture sampler if the wrong GL texture slot is active. Will likely help #10583 2018-02-07 19:49:58 +01:00
Henrik Rydgård
7f30037e45 Android: Fix emuthread management to exit cleanly without hanging. Helps with task switching on Android. 2018-02-07 13:11:43 +01:00
Henrik Rydgård
3e56d8bbdf Noticed that the UWP build has been broken for some time, fix it.
Should probably set up a buildbot if we care about this...
2018-02-05 16:21:39 +01:00
Henrik Rydgård
d30f1c2019 Fix another Qt memory leak 2018-02-04 14:13:47 +01:00
Henrik Rydgård
020eb9d86c Fix further memory leaks 2018-02-04 13:42:04 +01:00
Henrik Rydgård
79d1610148 Move SDLGLGraphicsContext.h to the correct location. Minor cleanup 2018-02-04 13:42:04 +01:00
Henrik Rydgård
99386da01e Minor cleanups 2018-02-04 13:42:04 +01:00
Henrik Rydgård
583c20991f Qt: Some cleanup and fixes. Still not working correctly with gl-render-manager. 2018-02-04 13:42:04 +01:00
Henrik Rydgård
8438defb24 Fix some memory leaks 2018-02-04 13:39:10 +01:00
Henrik Rydgård
d6e888a39b Revert "Simpler way to deal with the GL deleter"
This reverts commit 3a988400a702ede4137ee3f6d885796c03d727ea.
2018-02-04 13:09:51 +01:00
Henrik Rydgård
5351c9ddb3 gl-render-manager: Support scissored clears, as used by the GL backend. Fixes GT. 2018-01-31 17:07:20 +01:00
Henrik Rydgård
22e28e218b
Merge pull request #10411 from hrydgard/gl-render-manager
GL render manager - new faster GL multithreading
2018-01-31 12:22:07 +01:00
Henrik Rydgård
3a988400a7 Simpler way to deal with the GL deleter 2018-01-30 22:32:16 +01:00
Henrik Rydgård
c60c8ed68a Debug visualization for the Vulkan memory allocator. Shows some interesting behaviour. 2018-01-29 19:38:10 +01:00
Henrik Rydgård
bd2c875c9a Fix readback color conversion 2018-01-28 21:28:16 +01:00
Henrik Rydgård
6c109abd9e Don't crash on missing readback formats. 2018-01-28 18:00:48 +01:00
Henrik Rydgård
bd3a681fd3 Enough JNI/threading hackery to get it to run on Android! Broken readbacks make it crash alot though. 2018-01-28 17:30:33 +01:00
Unknown W. Brackets
062566b67c Core: Set thread names when possible.
This doesn't seem to be working for lldb, though.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
95bcda409d GLES: Fix segfault on GL 2.x. 2018-01-27 15:10:17 +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
7f0b35cd23 GLES: Run ThreadFrame until frame complete.
This makes it easier for frontends that need to call this between other
things to handle vsync, or etc.
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
Unknown W. Brackets
acc3e39b67 GLES: Reintroduce out of memory checks. 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
38161f3c69 GLES: Use linear for high-res FBO tex copies. 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
e56ae322fd GLES: Report errors for link failures.
Let's not lose reporting on this, it's often an issue...
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
3380ab8705 GLES: Keep the GLRShader desc around.
This way we can also log it on link errors.  It's not much data.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
48a07474f8 GLES: Avoid using failed depal shaders if possible.
Better to have one totally broken frame than all totally broken frames.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
638cbf725b GLES: Skip blend reset after stencil upload.
We dirty the flag anyway.  Avoid extra calls.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e5b8d91c9f ES2 buildfix - glGetTexImage is not available 2018-01-27 15:10:17 +01:00
Henrik Rydgård
903bd07d6e gl-render-manager: Fix updating sampler modes when texturing from framebuffer 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
Unknown W. Brackets
db0989a9d0 Debugger: Fix texture preview in GLES.
Also, fix issues with the first view of a texture in Vulkan / D3D11.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
bdf7fdc7a3 GLES: Actually stop the thread on shutdown.
Fixes shutdown.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
b956263a96 GLES: Consistently reset state on new steps.
It'd be nice to avoid this dependency, but since every step forgets the
current state, and these functions are called in a lot of places, it's
tricky to manage.

Fixes graphics in Grand Knights History (framebuf copy creating a new
step, resetting blending state.)
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
b3ed3ea0fb GLES: Fix intra-buffer block transfers.
Makes Grand Knights History look a bit better.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
e531a7da43 gl-render-manager: Implement logic ops 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
acb692677b GLES: Accept a color mask for clears.
Otherwise, we end up clearing RGB when we try to only clear alpha, which
is fairly common.

Makes Valkyria Chronicles 3 action mode visible again.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
e98f265d68 GLES: Prevent writing to gutter in readback.
This also read outside the conv buffer.

Prevents crash on startup for Brave Story.  Now, it just has major
graphical issues.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
3eb6d38d75 Vulkan: Fix stencil-only clear for stencil upload.
Fixes stencil issues in Star Ocean.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
22bf124631 GLES: Document stencil clearing bug. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
fdca06d208 More work on shutdown, still hanging though. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
57615344e4 Fix for deletes, add some debugging stuff 2018-01-27 15:10:17 +01:00
Henrik Rydgård
e5d571c25a gl-render-manager: Now threaded mode seems to work fine (and fast!). Shutdown doesn't, though, and there are stability issues. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
af6431986d OpenGL: Now run GL on a secondary thread. Sync issues remain. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
e4752a887f Fix use-after-free in shader error reporting 2018-01-27 15:10:17 +01:00
Henrik Rydgård
d0038775e5 TODOs and indentations 2018-01-27 15:10:17 +01:00
Henrik Rydgård
b7f4f6e157 GL render manager: Improve shader error reporting. 2018-01-27 15:10:17 +01:00