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
Henrik Rydgård
465939e1c8
Minor fixes, indentation and comments
2018-01-27 15:10:17 +01:00
Henrik Rydgård
7d6f9aec4d
iOS buildfix
2018-01-27 15:10:17 +01:00
Henrik Rydgård
5c7c7ce192
Move GL sampler state tracking into GLRenderManager/QueueRunner.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
43ebbbcdb6
More state dirtying, a comment
2018-01-27 15:10:17 +01:00
Henrik Rydgård
af8e825578
Fix terrible drawing glitches when we do sync readbacks.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
542f9f9ef1
Assorted cleanup
2018-01-27 15:10:17 +01:00
Henrik Rydgård
42f2312030
Remove the old CPU threading remains, start redesigning interfaces.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
49c3cb83fe
GL render manager: Simple implementation of synchronous framebuffer readbacks.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
2b12776137
Remove viewport flipping where it's not needed
2018-01-27 15:10:17 +01:00
Henrik Rydgård
0a413a18a7
GL render manager: Add some more dirty tracking.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
958078f603
GL render manager: Merge BindInputLayout into BindVertexBuffer.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
f99fa02ba7
Run the depal stuff, seems a bit broken. Add some state filtering.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
970458a0c2
Scissor fix
2018-01-27 15:10:17 +01:00