diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 80d67353682..758243e0661 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -855,7 +855,7 @@ static void get_texcoords(struct pipe_sampler_view *src, unsigned src_width0, unsigned src_height0, int x1, int y1, int x2, int y2, float layer, unsigned sample, - bool uses_txf, union blitter_attrib *out) + bool uses_txf, struct blitter_attrib *out) { unsigned level = src->u.tex.first_level; bool normalized = !uses_txf && @@ -918,7 +918,7 @@ static void blitter_set_dst_dimensions(struct blitter_context_priv *ctx, ctx->dst_height = height; } -static void set_texcoords_in_vertices(const union blitter_attrib *attrib, +static void set_texcoords_in_vertices(const struct blitter_attrib *attrib, float *out, unsigned stride) { out[0] = attrib->texcoord.x1; @@ -1396,7 +1396,7 @@ void util_blitter_draw_rectangle(struct blitter_context *blitter, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib) + const struct blitter_attrib *attrib) { struct blitter_context_priv *ctx = (struct blitter_context_priv*)blitter; unsigned i; @@ -1772,7 +1772,7 @@ blitter_draw_tex(struct blitter_context_priv *ctx, float layer, unsigned sample, bool uses_txf, enum blitter_attrib_type type) { - union blitter_attrib coord; + struct blitter_attrib coord; blitter_get_vs_func get_vs = get_vs_passthrough_pos_generic; get_texcoords(src, src_width0, src_height0, @@ -2920,7 +2920,7 @@ util_blitter_stencil_fallback(struct blitter_context *blitter, for (unsigned i = 0; i <= util_res_sample_count(dst) - 1; i++) { pipe->set_sample_mask(pipe, 1 << i); - union blitter_attrib coord; + struct blitter_attrib coord; get_texcoords(src_view, src->width0, src->height0, srcbox->x, srcbox->y, srcbox->x + srcbox->width, srcbox->y + srcbox->height, diff --git a/src/gallium/auxiliary/util/u_blitter.h b/src/gallium/auxiliary/util/u_blitter.h index f7fa1248368..f59a5109da5 100644 --- a/src/gallium/auxiliary/util/u_blitter.h +++ b/src/gallium/auxiliary/util/u_blitter.h @@ -44,7 +44,7 @@ enum blitter_attrib_type { UTIL_BLITTER_ATTRIB_TEXCOORD_XYZW, }; -union blitter_attrib { +struct blitter_attrib { struct { float x1, y1, x2, y2, z, w; } texcoord; @@ -92,7 +92,7 @@ struct blitter_context int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib); + const struct blitter_attrib *attrib); /* Whether the blitter is running. */ bool running; @@ -181,7 +181,7 @@ void util_blitter_draw_rectangle(struct blitter_context *blitter, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib); + const struct blitter_attrib *attrib); /* diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h index c358663a342..f29b9d713e0 100644 --- a/src/gallium/drivers/r300/r300_context.h +++ b/src/gallium/drivers/r300/r300_context.h @@ -742,7 +742,7 @@ void r300_blitter_draw_rectangle(struct blitter_context *blitter, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib); + const struct blitter_attrib *attrib); /* r300_state.c */ enum r300_fb_state_change { diff --git a/src/gallium/drivers/r300/r300_render.c b/src/gallium/drivers/r300/r300_render.c index 8fd7c667c87..a220f170aad 100644 --- a/src/gallium/drivers/r300/r300_render.c +++ b/src/gallium/drivers/r300/r300_render.c @@ -1154,7 +1154,7 @@ void r300_blitter_draw_rectangle(struct blitter_context *blitter, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib) + const struct blitter_attrib *attrib) { struct r300_context *r300 = r300_context(util_blitter_get_pipe(blitter)); unsigned last_sprite_coord_enable = r300->sprite_coord_enable; diff --git a/src/gallium/drivers/r600/r600_pipe_common.c b/src/gallium/drivers/r600/r600_pipe_common.c index 9d5e9a989fd..04d28739ca6 100644 --- a/src/gallium/drivers/r600/r600_pipe_common.c +++ b/src/gallium/drivers/r600/r600_pipe_common.c @@ -113,7 +113,7 @@ void r600_draw_rectangle(struct blitter_context *blitter, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib) + const struct blitter_attrib *attrib) { struct r600_common_context *rctx = (struct r600_common_context*)util_blitter_get_pipe(blitter); diff --git a/src/gallium/drivers/r600/r600_pipe_common.h b/src/gallium/drivers/r600/r600_pipe_common.h index cfe1293052d..786b1cd56c0 100644 --- a/src/gallium/drivers/r600/r600_pipe_common.h +++ b/src/gallium/drivers/r600/r600_pipe_common.h @@ -657,7 +657,7 @@ void r600_draw_rectangle(struct blitter_context *blitter, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib); + const struct blitter_attrib *attrib); bool r600_common_screen_init(struct r600_common_screen *rscreen, struct radeon_winsys *ws); void r600_destroy_common_screen(struct r600_common_screen *rscreen); diff --git a/src/gallium/drivers/radeonsi/si_state_draw.cpp b/src/gallium/drivers/radeonsi/si_state_draw.cpp index e103b8360b9..c03735c86fa 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.cpp +++ b/src/gallium/drivers/radeonsi/si_state_draw.cpp @@ -2477,7 +2477,7 @@ static void si_draw_vertex_state(struct pipe_context *ctx, static void si_draw_rectangle(struct blitter_context *blitter, void *vertex_elements_cso, blitter_get_vs_func get_vs, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib) + const struct blitter_attrib *attrib) { struct pipe_context *pipe = util_blitter_get_pipe(blitter); struct si_context *sctx = (struct si_context *)pipe; diff --git a/src/gallium/drivers/zink/zink_blit.c b/src/gallium/drivers/zink/zink_blit.c index cdb6d7d3c98..395b947749d 100644 --- a/src/gallium/drivers/zink/zink_blit.c +++ b/src/gallium/drivers/zink/zink_blit.c @@ -645,11 +645,11 @@ void zink_draw_rectangle(struct blitter_context *blitter, void *vertex_elements_cso, blitter_get_vs_func get_vs, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib) + const struct blitter_attrib *attrib) { struct zink_context *ctx = zink_context(blitter->pipe); - union blitter_attrib new_attrib = *attrib; + struct blitter_attrib new_attrib = *attrib; /* Avoid inconsistencies in rounding between both triangles which can show with * nearest filtering by expanding the rect so only one triangle is effectively drawn. diff --git a/src/gallium/drivers/zink/zink_context.h b/src/gallium/drivers/zink/zink_context.h index 64453f89f93..5ac504f07cf 100644 --- a/src/gallium/drivers/zink/zink_context.h +++ b/src/gallium/drivers/zink/zink_context.h @@ -236,7 +236,7 @@ void zink_draw_rectangle(struct blitter_context *blitter, void *vertex_elements_cso, blitter_get_vs_func get_vs, int x1, int y1, int x2, int y2, float depth, unsigned num_instances, enum blitter_attrib_type type, - const union blitter_attrib *attrib); + const struct blitter_attrib *attrib); static inline struct u_rect zink_rect_from_box(const struct pipe_box *box)