]> O.S.I.I.S - jp/vkvg.git/commitdiff
rgb color conversion with byte mask
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Wed, 19 Mar 2025 17:19:31 +0000 (18:19 +0100)
committerj-p <jp_bruyere@hotmail.com>
Mon, 24 Mar 2025 18:12:00 +0000 (19:12 +0100)
src/vkvg_context_internal.c
src/vkvg_context_internal.h

index 7b549cd66fbb7504ffc65b36259b1a77194bc9bd..90a0b5483ef5da37f5a8472ca9a1945d36af00eb 100644 (file)
@@ -1933,8 +1933,8 @@ void _draw_full_screen_quad(VkvgContext ctx, vec4 *scissor) {
     _ensure_vertex_cache_size(ctx, 3);
 
     _add_vertexf_unchecked(ctx, -1, -1);
-    _add_vertexf_unchecked(ctx, 3, -1);
-    _add_vertexf_unchecked(ctx, -1, 3);
+    _add_vertexf_unchecked(ctx,  3, -1);
+    _add_vertexf_unchecked(ctx, -1,  3);
 
     ctx->curVertOffset = ctx->vertCount;
 
index 79af73ce66ab7a4ead395ac0251067c5e3a1d434..6382c1f2d193aeafee62a50bbe72302b00b4084f 100644 (file)
 #define FULLSCREEN_BIT         0x10000000
 #define SRCTYPE_MASK           0x000000FF
 
-#define CreateRgba(r, g, b, a) ((a << 24) | (r << 16) | (g << 8) | b)
+#define CreateRgba(r, g, b, a) (((a&0xFF) << 24) | ((r&0xFF) << 16) | ((g&0xFF) << 8) | b)
 #ifdef VKVG_PREMULT_ALPHA
 #define CreateRgbaf(r, g, b, a)                                                                                        \
-    (((int)(a * 255.0f) << 24) | ((int)(b * a * 255.0f) << 16) | ((int)(g * a * 255.0f) << 8) | (int)(r * a * 255.0f))
+    ((((uint32_t)(a * 255.0f)&0xFF) << 24) | (((uint32_t)(b * a * 255.0f)&0xFF) << 16) | (((uint32_t)(g * a * 255.0f)&0xFF) << 8) | ((uint32_t)(r * a * 255.0f)&0xFF))
 #else
 #define CreateRgbaf(r, g, b, a)                                                                                        \
     (((int)(a * 255.0f) << 24) | ((int)(b * 255.0f) << 16) | ((int)(g * 255.0f) << 8) | (int)(r * 255.0f))