Commit graph

23705 commits

Author SHA1 Message Date
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
5798c0cc73 Vulkan: Correct zero stencil upload fast path. 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
Unknown W. Brackets
790e3121d2 GLES: Move stencil upload state into render pass.
Without this, stencil upload simply failed silently.  Fixes Star Ocean
stencil issues.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
a135035850 GLES: Ensure stencil upload clear in render pass.
Fixes crashes in Star Ocean.
2018-01-27 15:10:17 +01:00
Unknown W. Brackets
4f1b8d80a9 GLES: Bind texture on MakePixelTexture().
This is currently necessary because callers expect it.  Also, move inside
render passes.
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
58854adb80 StencilBufferGLES: Move SetNoBlendAndMask to the right places. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
a642c1a990 Fix goof with the stencil buffer drawing 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
2656ad7d40 Vulkan: Use push_back instead of resize(+1) 2018-01-27 15:10:17 +01:00
Henrik Rydgård
422b05e51f Truncate the '\n' from GL debug strings before logging them. 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
63b9140ebf Rip out async readbacks from FramebufferManagerGLES. They should be implemented in GLQueueRunner, differently. 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
84ad7a2dba Fix bug, works on Android now. Don't reuse textures. 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
Henrik Rydgård
7c17cb6754 Fix showing savestate screenshots (needed mips) 2018-01-27 15:10:17 +01:00
Henrik Rydgård
1241abc887 Make sure we set GL_TEXTURE_MAX_LEVEL somewhere. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
d5c6786ead Fix some texture memory bugs (yeah need to make copies..) 2018-01-27 15:10:17 +01:00
Henrik Rydgård
9094410fd1 gl-render-manager: Need to actually bind newly created textures. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
8a1e7347b9 GL render manager: Various fixes and cleanup including a buffered rendering fix, rect primitive fix 2018-01-27 15:10:17 +01:00
Henrik Rydgård
062608ad78 Start moving the framebuffer stuff over to the render manager 2018-01-27 15:10:17 +01:00
Henrik Rydgård
7e3e652963 Fix more gl-render-manager problems 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
60a966c5ec PushBuffer added. Thin3d works now on top of GLRenderManager, except framebuffers. 2018-01-27 15:10:17 +01:00
Henrik Rydgård
a3bcd91a31 Fix clears and textures. Things still broken due to memory overwrites. 2018-01-27 15:10:17 +01:00