summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/opengl/ra_gl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c
index 6509d9043a..7783baf2f1 100644
--- a/video/out/opengl/ra_gl.c
+++ b/video/out/opengl/ra_gl.c
@@ -687,8 +687,10 @@ static GLuint load_program(struct ra *ra, const struct ra_renderpass_params *p,
uint8_t *buffer = talloc_size(NULL, size + 4);
GLsizei actual_size = 0;
GLenum binary_format = 0;
- gl->GetProgramBinary(prog, size, &actual_size, &binary_format,
- buffer + 4);
+ if (size > 0) {
+ gl->GetProgramBinary(prog, size, &actual_size, &binary_format,
+ buffer + 4);
+ }
AV_WL32(buffer, binary_format);
if (actual_size) {
*out_cached_data = (bstr){buffer, actual_size + 4};