Browse Source

broadcom/vc5: Add missing setting of the UIF XOR disable flag in textures.

Most piglit textures happened to work out by RGBW not changing in that
bit, but it did cause failures in RGBA16F fbo-generatemipmap-formats.
tags/18.0-branchpoint
Eric Anholt 7 years ago
parent
commit
22ceb1f99b
2 changed files with 4 additions and 0 deletions
  1. 1
    0
      src/broadcom/cle/v3d_packet_v33.xml
  2. 3
    0
      src/gallium/drivers/vc5/vc5_state.c

+ 1
- 0
src/broadcom/cle/v3d_packet_v33.xml View File

@@ -817,6 +817,7 @@
</struct>

<struct name="Texture Shader State">
<field name="UIF XOR disable" size="1" start="255" type="bool"/>
<field name="Level 0 is strictly UIF" size="1" start="254" type="bool"/>
<field name="Level 0 XOR enable" size="1" start="252" type="bool"/>
<field name="Level 0 UB_PAD" size="4" start="248" type="uint"/>

+ 3
- 0
src/gallium/drivers/vc5/vc5_state.c View File

@@ -693,6 +693,9 @@ vc5_create_sampler_view(struct pipe_context *pctx, struct pipe_resource *prsc,
tex.swizzle_a = translate_swizzle(PIPE_SWIZZLE_W);
}

tex.uif_xor_disable = (rsc->slices[0].tiling ==
VC5_TILING_UIF_NO_XOR);

/* Since other platform devices may produce UIF images even
* when they're not big enough for V3D to assume they're UIF,
* we force images with level 0 as UIF to be always treated

Loading…
Cancel
Save