From 91780b12c72519eb5e4102efc67fc5071c25d35b Mon Sep 17 00:00:00 2001 From: martinfouilleul Date: Mon, 6 Feb 2023 17:01:32 +0100 Subject: [PATCH] reorder fields in glsl vertex struct to be less wasteful --- src/gles_canvas.c | 10 ++++------ src/gles_canvas_shaders/gles_canvas_draw.glsl | 2 +- src/gles_canvas_shaders/gles_canvas_sort.glsl | 2 +- src/gles_canvas_shaders/gles_canvas_tile.glsl | 2 +- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/gles_canvas.c b/src/gles_canvas.c index 850f6dd..74a9168 100644 --- a/src/gles_canvas.c +++ b/src/gles_canvas.c @@ -50,10 +50,8 @@ mg_gles_surface* mg_gles_canvas_get_surface(mg_gles_canvas_backend* canvas) typedef struct debug_vertex { vec2 pos; - u8 align0[8]; - vec4 cubic; vec2 uv; - u8 align1[8]; + vec4 cubic; vec4 color; vec4 clip; int zIndex; @@ -73,9 +71,9 @@ enum { LAYOUT_INT_ALIGN = 4, LAYOUT_POS_OFFSET = 0, - LAYOUT_CUBIC_OFFSET = LayoutNext(POS, VEC2, VEC4), - LAYOUT_UV_OFFSET = LayoutNext(CUBIC, VEC4, VEC2), - LAYOUT_COLOR_OFFSET = LayoutNext(UV, VEC2, VEC4), + LAYOUT_UV_OFFSET = LayoutNext(POS, VEC2, VEC2), + LAYOUT_CUBIC_OFFSET = LayoutNext(UV, VEC2, VEC4), + LAYOUT_COLOR_OFFSET = LayoutNext(CUBIC, VEC4, VEC4), LAYOUT_CLIP_OFFSET = LayoutNext(COLOR, VEC4, VEC4), LAYOUT_ZINDEX_OFFSET = LayoutNext(CLIP, VEC4, INT), diff --git a/src/gles_canvas_shaders/gles_canvas_draw.glsl b/src/gles_canvas_shaders/gles_canvas_draw.glsl index dcb09cd..49a0512 100644 --- a/src/gles_canvas_shaders/gles_canvas_draw.glsl +++ b/src/gles_canvas_shaders/gles_canvas_draw.glsl @@ -8,8 +8,8 @@ layout(std430) buffer; struct vertex { vec2 pos; - vec4 cubic; vec2 uv; + vec4 cubic; vec4 color; vec4 clip; int zIndex; diff --git a/src/gles_canvas_shaders/gles_canvas_sort.glsl b/src/gles_canvas_shaders/gles_canvas_sort.glsl index 2b3f1df..d7648f9 100644 --- a/src/gles_canvas_shaders/gles_canvas_sort.glsl +++ b/src/gles_canvas_shaders/gles_canvas_sort.glsl @@ -6,8 +6,8 @@ layout(std430) buffer; struct vertex { vec2 pos; - vec4 cubic; vec2 uv; + vec4 cubic; vec4 color; vec4 clip; int zIndex; diff --git a/src/gles_canvas_shaders/gles_canvas_tile.glsl b/src/gles_canvas_shaders/gles_canvas_tile.glsl index d6ad671..5d2d577 100644 --- a/src/gles_canvas_shaders/gles_canvas_tile.glsl +++ b/src/gles_canvas_shaders/gles_canvas_tile.glsl @@ -6,8 +6,8 @@ layout(std430) buffer; struct vertex { vec2 pos; - vec4 cubic; vec2 uv; + vec4 cubic; vec4 color; vec4 clip; int zIndex;