vtgl

terminal emulator implemented in OpenGL
git clone anongit@rnpnr.xyz:vtgl.git
Log | Files | Refs | Feed | LICENSE

Commit: 71de90634fc5e1c47ef4d26cd3411e9bf99c7fdf
Parent: 19d64a874f62f9f170c78bd45a5bf544241e10d2
Author: Randy Palamar
Date:   Thu, 17 Oct 2024 22:36:19 -0600

cleanup bad X-macro usage

Diffstat:
Mvtgl.c | 29++++++++---------------------
1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/vtgl.c b/vtgl.c @@ -20,15 +20,6 @@ #define TEXTURE_GLYPH_COUNT PUSH_BUFFER_CAP -#define X(name) "u_"#name, -static char *render_uniform_names[] = { GL_RENDER_UNIFORMS }; -static char *post_uniform_names[] = { GL_POST_UNIFORMS }; -#undef X -static_assert(ARRAY_COUNT(render_uniform_names) == ARRAY_COUNT(((GLCtx *)0)->render.uniforms), - "GLCtx.render.uniforms must be same length as GL_RENDER_UNIFORMS\n"); -static_assert(ARRAY_COUNT(post_uniform_names) == ARRAY_COUNT(((GLCtx *)0)->post.uniforms), - "GLCtx.post.uniforms must be same length as GL_POST_UNIFORMS\n"); - static v4 normalized_colour(Colour c) { @@ -154,21 +145,17 @@ update_uniforms(Term *t, enum shader_stages stage) { switch (stage) { case SHADER_RENDER: - for (u32 i = 0; i < ARRAY_COUNT(t->gl.render.uniforms); i++) { - t->gl.render.uniforms[i] = glGetUniformLocation(t->gl.programs[stage], - render_uniform_names[i]); - //fprintf(stderr, "uniform (RENDER): %s; id %d\n", - // render_uniform_names[i], t->gl.render.uniforms[i]); - } + #define X(name) \ + t->gl.render.name = glGetUniformLocation(t->gl.programs[stage], "u_" #name); + GL_RENDER_UNIFORMS + #undef X t->gl.flags &= ~UPDATE_RENDER_UNIFORMS; break; case SHADER_POST: - for (u32 i = 0; i < ARRAY_COUNT(t->gl.post.uniforms); i++) { - t->gl.post.uniforms[i] = glGetUniformLocation(t->gl.programs[stage], - post_uniform_names[i]); - //fprintf(stderr, "uniform (POST): %s; id %d\n", - // post_uniform_names[i], t->gl.post.uniforms[i]); - } + #define X(name) \ + t->gl.post.name = glGetUniformLocation(t->gl.programs[stage], "u_" #name); + GL_POST_UNIFORMS + #undef X t->gl.flags &= ~UPDATE_POST_UNIFORMS; break; case SHADER_LAST: ASSERT(0); break;