summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/common.c
diff options
context:
space:
mode:
authorNiklas Haas <git@haasn.xyz>2017-07-26 01:42:19 +0200
committerNiklas Haas <git@haasn.xyz>2017-07-26 01:54:33 +0200
commitb31020b193db24e175bce077755c2f3e814e57ff (patch)
tree8be29707f6c60ea310c290f18f2f2fc38833983a /video/out/opengl/common.c
parent9875f14ad4cb977fb3b6460704b29d4949fcb81b (diff)
downloadmpv-b31020b193db24e175bce077755c2f3e814e57ff.tar.bz2
mpv-b31020b193db24e175bce077755c2f3e814e57ff.tar.xz
vo_opengl: check against shmem limits
The radius check was not strict enough, especially not for all platforms. To fix this, actually check the hardware capabilities instead of relying on a hard-coded maximum radius.
Diffstat (limited to 'video/out/opengl/common.c')
-rw-r--r--video/out/opengl/common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/video/out/opengl/common.c b/video/out/opengl/common.c
index c7a714817a..f6202e2c8c 100644
--- a/video/out/opengl/common.c
+++ b/video/out/opengl/common.c
@@ -625,8 +625,10 @@ void mpgl_load_functions2(GL *gl, void *(*get_fn)(void *ctx, const char *n),
}
// GL_ARB_compute_shader & GL_ARB_shader_image_load_store
- if (gl->DispatchCompute && gl->BindImageTexture)
+ if (gl->DispatchCompute && gl->BindImageTexture) {
gl->mpgl_caps |= MPGL_CAP_COMPUTE_SHADER;
+ gl->GetIntegerv(GL_MAX_COMPUTE_SHARED_MEMORY_SIZE, &gl->max_shmem);
+ }
// Provided for simpler handling if no framebuffer support is available.
if (!gl->BindFramebuffer)