etnaviv: use surface format directly
authorLucas Stach <l.stach@pengutronix.de>
Wed, 14 Nov 2018 14:11:07 +0000 (15:11 +0100)
committerLucas Stach <l.stach@pengutronix.de>
Tue, 18 Dec 2018 18:07:10 +0000 (19:07 +0100)
There is no need to do the detour over the resource behind the
surface to get the format. Use the surface format directly.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
src/gallium/drivers/etnaviv/etnaviv_blend.c
src/gallium/drivers/etnaviv/etnaviv_context.c

index 9c23411d4ff777248c393ce4291353a4aaebf506..0e2299a50b3005ee1eeeb7ca3245fd3f82b7b6e0 100644 (file)
@@ -117,7 +117,7 @@ etna_update_blend(struct etna_context *ctx)
    uint32_t colormask;
 
    if (pfb->cbufs[0] &&
-       translate_rs_format_rb_swap(pfb->cbufs[0]->texture->format)) {
+       translate_rs_format_rb_swap(pfb->cbufs[0]->format)) {
       colormask = rt0->colormask & (PIPE_MASK_A | PIPE_MASK_G);
       if (rt0->colormask & PIPE_MASK_R)
          colormask |= PIPE_MASK_B;
@@ -158,7 +158,7 @@ etna_update_blend_color(struct etna_context *ctx)
    struct compiled_blend_color *cs = &ctx->blend_color;
 
    if (pfb->cbufs[0] &&
-       translate_rs_format_rb_swap(pfb->cbufs[0]->texture->format)) {
+       translate_rs_format_rb_swap(pfb->cbufs[0]->format)) {
       cs->PE_ALPHA_BLEND_COLOR =
          VIVS_PE_ALPHA_BLEND_COLOR_R(etna_cfloat_to_uint8(cs->color[2])) |
          VIVS_PE_ALPHA_BLEND_COLOR_G(etna_cfloat_to_uint8(cs->color[1])) |
index 1c305d82a0fc321dce1544421ddff086b6dc9dad..aa74256628989ecdd8f890a3a75b36f318597e62 100644 (file)
@@ -212,13 +212,8 @@ etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info)
    ctx->dirty |= ETNA_DIRTY_INDEX_BUFFER;
 
    struct etna_shader_key key = {};
-   struct etna_surface *cbuf = etna_surface(pfb->cbufs[0]);
-
-   if (cbuf) {
-      struct etna_resource *res = etna_resource(cbuf->base.texture);
-
-      key.frag_rb_swap = !!translate_rs_format_rb_swap(res->base.format);
-   }
+   if (pfb->cbufs[0])
+      key.frag_rb_swap = !!translate_rs_format_rb_swap(pfb->cbufs[0]->format);
 
    if (!etna_get_vs(ctx, key) || !etna_get_fs(ctx, key)) {
       BUG("compiled shaders are not okay");