Commit graph

3936 commits

Author SHA1 Message Date
Unknown W. Brackets
0474ff5c23 GLES: Use aligned memory for textures.
We use SSE on them, and they used to be aligned, and must be aligned in
PSP RAM, so keep them aligned.

This only really affects 32-bit, since allocs will typically be aligned on
64-bit anyway.

Fixes #10601.
2018-02-11 08:13:57 -08:00
Henrik Rydgård
3c93eaf164 GL: Fix clearing alpha on stencil uploads. 2018-02-10 17:18:18 +01:00
Henrik Rydgård
625595c6cc For some reason we use DrawActiveTexture in the GL stencil stuff, don't want to disable stencil unconditionally.. 2018-02-08 16:59:03 +01:00
Henrik Rydgård
86cfc411a4 Remove the confusing "DisableState" across the codebase 2018-02-08 16:27:36 +01:00
Henrik Rydgård
b9081dd624 GL: Set a plain render state in DrawActiveTexture, without relying on the caller having called DisableState 2018-02-08 16:21:34 +01:00
Henrik Rydgård
b9b41f52c5 Add a simple spinner to the game load screen to not look frozen. 2018-02-08 12:03:29 +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
b3f4a923ca GLES: Fix minor memory leak 2018-02-07 16:55:03 +01:00
Henrik Rydgård
c21b02a22d gl-render-manager: Use properly scaled scissor rectangle, oops. Fixes higher resolutions. 2018-01-31 19:36:32 +01:00
Henrik Rydgård
982a1710ae gl-render-manager: Fix postprocessing shaders. Fixes #10566. Live switching is broken though for some reason. 2018-01-31 17:23:24 +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
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
e280cbbc3c GLES: Correct shader blending.
Lunar's spell effects were blending completely wrong, and are a good
example of shader blending.  This fixes 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
Unknown W. Brackets
acc3e39b67 GLES: Reintroduce out of memory checks. 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
900e53b6dc GLES: Re-enable texture scaling. 2018-01-27 15:10:17 +01:00
Unknown W. Brackets
2740f74cc4 GLES: Add TODO note for shader blend texture. 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
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
Unknown W. Brackets
f6260c75c9 GLES: Reset blend state on clear.
Because now that resets blending parameters.
2018-01-27 15:10:17 +01:00
Henrik Rydgård
4c927c1421 Reintroduce check for GE_LOGIC_COPY 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
9945e011c6 GLES: Avoid a shutdown race condition.
Also handle DeviceLost before shutdown better.
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
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
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
af6431986d OpenGL: Now run GL on a secondary thread. Sync issues remain. 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
5c7c7ce192 Move GL sampler state tracking into GLRenderManager/QueueRunner. 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
2b12776137 Remove viewport flipping where it's not needed 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
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