On Fri, Dec 01, 2017 at 02:44:42PM -0800, Nanley Chery wrote: > Gen10 doesn't automatically decode the clear color of sRGB buffers. To > get correct rendering, avoid fast-clearing such buffers for now. > > The driver now passes the following piglit tests: > * spec@arb_framebuffer_srgb@msaa-fast-clear > * spec@ext_texture_srgb@multisample-fast-clear gl_ext_texture_srgb > > Suggested-by: Kenneth Graunke <kenn...@whitecape.org> > Suggested-by: Jason Ekstrand <ja...@jlekstrand.net> > Signed-off-by: Nanley Chery <nanley.g.ch...@intel.com> > --- > > This patch is currently going through the jenkins pipeline. >
The run came back green. -Nanley > src/mesa/drivers/dri/i965/brw_meta_util.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_meta_util.c > b/src/mesa/drivers/dri/i965/brw_meta_util.c > index ba92168934..54dc6a5ff9 100644 > --- a/src/mesa/drivers/dri/i965/brw_meta_util.c > +++ b/src/mesa/drivers/dri/i965/brw_meta_util.c > @@ -298,13 +298,23 @@ brw_is_color_fast_clear_compatible(struct brw_context > *brw, > * resolved in intel_update_state. In that case it's pointless to do a > * fast clear because it's very likely to be immediately resolved. > */ > + const bool srgb_rb = _mesa_get_srgb_format_linear(mt->format) != > mt->format; > if (devinfo->gen >= 9 && > mt->surf.samples == 1 && > - ctx->Color.sRGBEnabled && > - _mesa_get_srgb_format_linear(mt->format) != mt->format) > + ctx->Color.sRGBEnabled && srgb_rb) > return false; > > + /* Gen10 doesn't automatically decode the clear color of sRGB buffers. > Since > + * we currently don't perform this decode in software, avoid a fast-clear > + * altogether. TODO: Do this in software. > + */ > const mesa_format format = _mesa_get_render_format(ctx, mt->format); > + if (devinfo->gen >= 10 && srgb_rb) { > + perf_debug("sRGB fast clear not enabled for (%s)", > + _mesa_get_format_name(format)); > + return false; > + } > + > if (_mesa_is_format_integer_color(format)) { > if (devinfo->gen >= 8) { > perf_debug("Integer fast clear not enabled for (%s)", > -- > 2.15.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev