summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/opengl/ra_gl.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c
index ccb8755ba6..ae6cd00765 100644
--- a/video/out/opengl/ra_gl.c
+++ b/video/out/opengl/ra_gl.c
@@ -102,8 +102,6 @@ static int ra_init_gl(struct ra *ra, GL *gl)
{RA_CAP_TEX_3D, MPGL_CAP_3D_TEX},
{RA_CAP_COMPUTE, MPGL_CAP_COMPUTE_SHADER},
{RA_CAP_NESTED_ARRAY, MPGL_CAP_NESTED_ARRAY},
- {RA_CAP_BUF_RO, MPGL_CAP_UBO},
- {RA_CAP_BUF_RW, MPGL_CAP_SSBO},
};
for (int i = 0; i < MP_ARRAY_SIZE(caps_map); i++) {
@@ -111,6 +109,13 @@ static int ra_init_gl(struct ra *ra, GL *gl)
ra->caps |= caps_map[i][0];
}
+ if (gl->BindBufferBase) {
+ if (gl->mpgl_caps & MPGL_CAP_UBO)
+ ra->caps |= RA_CAP_BUF_RO;
+ if (gl->mpgl_caps & MPGL_CAP_SSBO)
+ ra->caps |= RA_CAP_BUF_RW;
+ }
+
if (gl->BlitFramebuffer)
ra->caps |= RA_CAP_BLIT;