Skip to content

freedreno/a6xx: always be ubwc

Rob Clark requested to merge robclark/mesa:wip/always-be-ubwc into master

Current state is this fixes 80 of the deqp-gles31 regressions when we enable UBWC. There are 15 remaining to still debug, which look like we are enabling, but missing something, for z/s UBWC.. I'll keep debugging

dEQP-GLES31.functional.texture.border_clamp.formats.depth_component24.nearest_size_pot
dEQP-GLES31.functional.texture.border_clamp.formats.depth_component24.nearest_size_npot
dEQP-GLES31.functional.texture.border_clamp.formats.depth_component24.gather_size_pot
dEQP-GLES31.functional.texture.border_clamp.formats.depth_component24.gather_size_npot
dEQP-GLES31.functional.texture.border_clamp.formats.depth24_stencil8_sample_depth.nearest_size_pot
dEQP-GLES31.functional.texture.border_clamp.formats.depth24_stencil8_sample_depth.nearest_size_npot
dEQP-GLES31.functional.texture.border_clamp.formats.depth24_stencil8_sample_depth.gather_size_pot
dEQP-GLES31.functional.texture.border_clamp.formats.depth24_stencil8_sample_depth.gather_size_npot
dEQP-GLES31.functional.texture.border_clamp.sampler.unorm_depth
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth_component24.nearest_size_pot
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth_component24.linear_size_pot
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth_component24.gather_size_pot
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth24_stencil8.nearest_size_pot
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth24_stencil8.linear_size_pot
dEQP-GLES31.functional.texture.border_clamp.depth_compare_mode.depth24_stencil8.gather_size_pot

Last patch I'm not 100% sure about, from older blob traces, blob seems to claim to support UBWC for r32i/r32ui (but not r32f), in practice deqp claims otherwise. Would be good to get trace from newer blob to be sure. (But blob also doesn't seem to bother trying to use UBWC for images, so it could be something IBO related)


Update: other than z24s8, we have no regressions with UBWC. The z24s8 issue is that we have no good way to blit z24s8 when UBWC is enabled (at least currently, some more r/e may provide an answer). Lying about the format using an equivalently sized color format only works when there is no UBWC, otherwise the UBWC flags/meta buffer is updated incorrectly. The current "solution" is to disable UBWC for z24s8. I guess it is at least a step forward to enable it for color, while continuing to work on a solution for the z24s8 vs. blitter issues.

Edited by Rob Clark

Merge request reports