diff options
Diffstat (limited to 'src/gallium/state_trackers/vega/mask.c')
-rw-r--r-- | src/gallium/state_trackers/vega/mask.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gallium/state_trackers/vega/mask.c b/src/gallium/state_trackers/vega/mask.c index 0e25833cda3..670790c0238 100644 --- a/src/gallium/state_trackers/vega/mask.c +++ b/src/gallium/state_trackers/vega/mask.c @@ -253,7 +253,11 @@ static void mask_resource_fill(struct pipe_resource *dst, VGfloat coverage) { struct vg_context *ctx = vg_current_context(); - VGfloat color[4] = { 0.0f, 0.0f, 0.0f, coverage }; + VGfloat fs_consts[12] = { + 0.0f, 0.0f, 0.0f, 0.0f, /* not used */ + 0.0f, 0.0f, 0.0f, 0.0f, /* not used */ + 0.0f, 0.0f, 0.0f, coverage /* color */ + }; void *fs; if (x < 0) { @@ -267,8 +271,8 @@ static void mask_resource_fill(struct pipe_resource *dst, fs = shaders_cache_fill(ctx->sc, VEGA_SOLID_FILL_SHADER); - if (renderer_filter_begin(ctx->renderer, dst, VG_FALSE, - ~0, NULL, NULL, 0, fs, (const void *) color, sizeof(color))) { + if (renderer_filter_begin(ctx->renderer, dst, VG_FALSE, ~0, + NULL, NULL, 0, fs, (const void *) fs_consts, sizeof(fs_consts))) { renderer_filter(ctx->renderer, x, y, width, height, 0, 0, 0, 0); renderer_filter_end(ctx->renderer); } |