HomePhabricator
Diffusion Mesa 58d99a21f125

i965/miptree: Initialize the indirect clear color to zero

Authored by Nanley Chery <nanley.g.chery@intel.com> on Apr 30 2018, 8:30 PM.

Description

i965/miptree: Initialize the indirect clear color to zero

The indirect clear color isn't correctly tracked in
intel_miptree::fast_clear_color. The initial value of ::fast_clear_color
is zero, while that of the indirect clear color is undefined.

Topi Pohjolainen discovered this issue with MCS buffers. This issue is
apparent when fast-clearing an MCS buffer for the first time with
glClearColor = {0.0,}. Although the indirect clear color is undefined,
the initial aux state of the MCS is CLEAR and the tracked clear color is
zero, so we avoid updating the indirect clear color with {0.0,}.

Make the indirect clear color match the initial value of
::fast_clear_color.

Note: although we only have to drop HiZ's BO_ALLOC_BUSY flag for gen10+,
we also drop it pre-gen10 to keep things simple. We add this flag back
for pre-gen10 in a later patch.

v2: Add a note about dropping HiZ's BO_ALLOC_BUSY flag (Topi).

Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>

Details

Committed
Nanley Chery <nanley.g.chery@intel.com>May 17 2018, 4:06 PM
Pushed
pmoreauMay 22 2018, 7:03 PM
Parents
rMESAb58675e93f03: i965/miptree: Add and use a memset option in alloc_aux_buffer
Branches
Unknown
Tags
Unknown

Event Timeline

Nanley Chery <nanley.g.chery@intel.com> committed rMESA58d99a21f125: i965/miptree: Initialize the indirect clear color to zero (authored by Nanley Chery <nanley.g.chery@intel.com>).May 17 2018, 4:06 PM