Henrik Rydgård
38684762c8
Fix Star Ocean stencil issue with OpenGL. Fixes #13746
2020-11-11 23:23:31 +01:00
Henrik Rydgård
84037f448e
Remove colorDepth property of framebuffers. They're all 8888.
2020-11-05 14:51:46 +01:00
Henrik Rydgård
0e3a84b4a8
Move most GPU things to Common.
...
It works after the move, on Windows and Android at least.
Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
dcd33a4692
Remove redundant bind on GL texture build. Improve dirtying of texture state.
2020-09-21 08:56:58 +02:00
Henrik Rydgård
181ddd842a
Unify some GPU_SUPPORT* bits
2020-09-17 20:52:32 +02:00
Unknown W. Brackets
3055deeba6
GPU: Fix some case warnings.
...
Better to avoid the warnings.
2020-08-19 21:18:44 -07:00
Henrik Rydgård
737688a22a
Annotate calls to RebindFramebuffer with their cause.
2020-06-02 09:51:38 +02:00
Henrik Rydgård
fabe987c8f
Add a name tag for all render steps (GL/Vulkan). Helps with debugging and should be cheap enough (a single pointer per "step").
2020-05-21 11:24:05 +02:00
Unknown W. Brackets
4ef4325fdb
GPU: Avoid unnecessary clear on stencil upload.
...
In this common case, we've typically just bound the buffer to upload a
texture to it. No need to start a new render pass.
This dodges #12927 but doesn't really fix the underlying issue.
2020-05-18 21:36:06 -07:00
Unknown W. Brackets
2faab0e082
GPU: Use postshader for direct VRAM draws again.
...
Also centralize the pixel texture code while at it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
762b656ea2
GPU: Use a texture directly for MakePixelTexture.
...
This makes it easier to do things with it.
2020-05-13 18:10:09 -07:00
Unknown W. Brackets
271389b8e5
GLES: Fix stencil buffer upload at > 1x PSP.
...
Also fixes crashes on ATI. See #6627 .
2019-03-10 08:36:12 -07:00
Unknown W. Brackets
01809f809f
GLES: Correct fragment precision check.
...
Was breaking on Mali-4xx for example, because not defined.
2018-12-23 20:16:59 -08:00
Henrik Rydgård
683a4e0fb2
Merge pull request #11676 from unknownbrackets/gles-depth
...
WIP - GLES: Download depth values via shader
2018-12-19 09:58:38 +01:00
Henrik Rydgård
a73c569bf6
Add check for GL_FRAGMENT_PRECISION_HIGH for GLES in stencil code.
2018-12-18 14:30:05 +01:00
Henrik Rydgård
de4dec2a80
Use raw strings for more shaders
2018-12-18 10:37:45 +01:00
Unknown W. Brackets
27e8720e14
GLES: Download depth values via shader.
...
Working on desktop, but not on mobile...
2018-12-16 17:34:16 -08:00
Henrik Rydgård
b17fc67c45
Get rid of MaskedEqual
2018-11-12 08:19:19 +01:00
Henrik Rydgård
42f4d7b40f
OpenGL: Fix bug where we could end up calling glUniformMatrix without a bound program. Found by GL debug callback on NV.
...
This adds a bit of extra checking that's only enabled in _DEBUG builds.
2018-07-28 11:09:01 +02:00
Unknown W. Brackets
b4496f1975
Core: Move config enums to separate file.
...
These are a bit strewn about and there are constants that aren't
consistently used, which just adds confusion.
2018-06-23 10:59:18 -07:00
Unknown W. Brackets
9f4cd3fcdb
GLES: Add missing semantics for stencil upload.
...
Makes #10634 work for GLES properly.
2018-06-17 17:50:38 -07:00
Unknown W. Brackets
f6036195d8
GLES: Cleanup stencil upload w/h handling.
...
In case a buffer has been resized recently, we want to upload just the
detected drawable area, probably. Before this was inconsistent depending
on the render resolution.
2018-06-17 17:50:38 -07:00
Unknown W. Brackets
8d07e6d985
GPU: Prevent temp FBOs from overwriting each other.
...
Sometimes we'd use two temp FBOs in the same draw (e.g. shader blending +
depal.) This could cause the same temp FBO to get used for two purposes,
causing weird behavior.
2018-05-06 08:57:44 -07: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
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
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
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
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
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
d565e23f4c
Stencil copy: Avoid clearing the depth buffer.
2017-12-31 01:06:31 +01:00
Henrik Rydgård
b5e5d72a0a
Complete the separation of depth and stencil renderpass flags
2017-12-30 22:52:22 +01:00
Henrik Rydgård
5018e400f2
Remove some code duplication
2017-11-01 14:51:15 +01:00
Unknown W. Brackets
e754cca288
GLES: Add OpenGL 3.x core profile support.
...
Need to define #version everywhere and avoid varying/etc.
2017-09-20 12:22:01 -07:00
Unknown W. Brackets
f1cf92988f
Dirty things on stencil buffer upload.
2017-08-14 11:36:06 +02:00
Unknown W. Brackets
f1e9180676
Vulkan: Fix Cardboard rendering.
...
Mostly the Viewport2D flush issue, which may possibly have broken
something else.
2017-05-31 23:26:38 -07:00
Henrik Rydgård
e8890e3c4a
Address a bunch of review comments.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
6bcfe539f7
Use vulkan-style clear-on-bind when switching render targets. Not optimally used yet.
...
Also removes a bunch of redundant render target binds.
2017-05-30 09:36:17 +02:00
Unknown W. Brackets
3fbb545451
Allow MakePixelTexture to use a subrange.
...
For example, if it has a larger texture it wants to reuse, it can control
this via texcoords. Let's keep it at top left, though.
2017-03-22 20:56:26 -07:00
Unknown W. Brackets
78191e645d
GL: Avoid unnecessary stencil shader binding.
...
The comment became untrue, so no need to rebind for each bit.
2017-03-18 13:47:49 -07:00
Henrik Rydgard
26f208a212
Unify "DrawPixels"
2017-02-15 23:06:22 +01:00
Henrik Rydgard
0fb1e95bac
Remove GLSL program argument to DrawActiveTexture - bind before instead.
2017-02-15 22:47:44 +01:00
Henrik Rydgard
5b181e8244
Further work on DrawActiveTexture
2017-02-07 00:13:54 +01:00