summaryrefslogtreecommitdiffstats
path: root/video/out/opengl/ra_gl.c
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2023-01-10 19:26:51 +0100
committersfan5 <sfan5@live.de>2023-01-12 22:02:07 +0100
commit1201d59f0b5b8acc93f15904b745ec342548f9c1 (patch)
tree5eba78a5fa4dd68b5c750eb2b6ab5bc76d92ffd0 /video/out/opengl/ra_gl.c
parent7b03cd367dd5416a4728ccea7e47dcd2827cbab7 (diff)
downloadmpv-1201d59f0b5b8acc93f15904b745ec342548f9c1.tar.bz2
mpv-1201d59f0b5b8acc93f15904b745ec342548f9c1.tar.xz
various: replace abort() with MP_ASSERT_UNREACHABLE() where appropriate
In debug mode the macro causes an assertion failure. In release mode it works differently and tells the compiler that it can assume the codepath will never execute. For this reason I was conversative in replacing it, e.g. in mpv-internal code that exhausts all valid values of an enum or when a condition is clear from directly preceding code.
Diffstat (limited to 'video/out/opengl/ra_gl.c')
-rw-r--r--video/out/opengl/ra_gl.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/video/out/opengl/ra_gl.c b/video/out/opengl/ra_gl.c
index 8eddb5fabc..03207e1c4a 100644
--- a/video/out/opengl/ra_gl.c
+++ b/video/out/opengl/ra_gl.c
@@ -295,7 +295,7 @@ static struct ra_tex *gl_tex_create_blank(struct ra *ra,
case 1: tex_gl->target = GL_TEXTURE_1D; break;
case 2: tex_gl->target = GL_TEXTURE_2D; break;
case 3: tex_gl->target = GL_TEXTURE_3D; break;
- default: abort();
+ default: MP_ASSERT_UNREACHABLE();
}
if (params->non_normalized) {
assert(params->dimensions == 2);
@@ -631,7 +631,7 @@ static struct ra_buf *gl_buf_create(struct ra *ra,
case RA_BUF_TYPE_TEX_UPLOAD: hint = GL_STREAM_DRAW; break;
case RA_BUF_TYPE_SHADER_STORAGE: hint = GL_STREAM_COPY; break;
case RA_BUF_TYPE_UNIFORM: hint = GL_STATIC_DRAW; break;
- default: abort();
+ default: MP_ASSERT_UNREACHABLE();
}
gl->BufferData(buf_gl->target, params->size, params->initial_data, hint);
@@ -738,7 +738,7 @@ static const char *shader_typestr(GLenum type)
case GL_VERTEX_SHADER: return "vertex";
case GL_FRAGMENT_SHADER: return "fragment";
case GL_COMPUTE_SHADER: return "compute";
- default: abort();
+ default: MP_ASSERT_UNREACHABLE();
}
}
@@ -964,14 +964,14 @@ static void update_uniform(struct ra *ra, struct ra_renderpass *pass,
case 2: gl->Uniform2f(loc, f[0], f[1]); break;
case 3: gl->Uniform3f(loc, f[0], f[1], f[2]); break;
case 4: gl->Uniform4f(loc, f[0], f[1], f[2], f[3]); break;
- default: abort();
+ default: MP_ASSERT_UNREACHABLE();
}
} else if (input->dim_v == 2 && input->dim_m == 2) {
gl->UniformMatrix2fv(loc, 1, GL_FALSE, f);
} else if (input->dim_v == 3 && input->dim_m == 3) {
gl->UniformMatrix3fv(loc, 1, GL_FALSE, f);
} else {
- abort();
+ MP_ASSERT_UNREACHABLE();
}
break;
}
@@ -1002,7 +1002,7 @@ static void update_uniform(struct ra *ra, struct ra_renderpass *pass,
break;
}
default:
- abort();
+ MP_ASSERT_UNREACHABLE();
}
}
@@ -1086,7 +1086,7 @@ static void gl_renderpass_run(struct ra *ra,
gl->MemoryBarrier(GL_TEXTURE_FETCH_BARRIER_BIT);
break;
}
- default: abort();
+ default: MP_ASSERT_UNREACHABLE();
}
for (int n = 0; n < params->num_values; n++)