On Tue, Jul 26, 2016 at 03:11:11PM -0700, Jason Ekstrand wrote: > --- > src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 30 > +++++++++++++--------------- > 1 file changed, 14 insertions(+), 16 deletions(-)
Looks cleaner: Reviewed-by: Topi Pohjolainen <topi.pohjolai...@intel.com> > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > index 007c061..ed68734 100644 > --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp > @@ -1744,14 +1744,6 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > if (!encode_srgb && _mesa_get_format_color_encoding(dst_format) == > GL_SRGB) > dst_format = _mesa_get_srgb_format_linear(dst_format); > > - struct brw_blorp_params params; > - brw_blorp_params_init(¶ms); > - > - brw_blorp_surface_info_init(brw, ¶ms.src, src_mt, src_level, > - src_layer, src_format, false); > - brw_blorp_surface_info_init(brw, ¶ms.dst, dst_mt, dst_level, > - dst_layer, dst_format, true); > - > /* Even though we do multisample resolves at the time of the blit, OpenGL > * specification defines them as if they happen at the time of rendering, > * which means that the type of averaging we do during the resolve should > @@ -1767,15 +1759,12 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > * (aside from the color space), we choose to blit in sRGB space to get > * this higher quality image. > */ > - if (params.src.surf.samples > 1 && > + if (src_mt->num_samples > 1 && > _mesa_get_format_color_encoding(dst_mt->format) == GL_SRGB && > _mesa_get_srgb_format_linear(src_mt->format) == > _mesa_get_srgb_format_linear(dst_mt->format)) { > assert(brw->format_supported_as_render_target[dst_mt->format]); > - params.dst.view.format = > - (enum isl_format)brw->render_target_format[dst_mt->format]; > - params.src.view.format = > - (enum isl_format)brw_format_for_mesa_format(dst_mt->format); > + src_format = dst_format = dst_mt->format; > } > > /* When doing a multisample resolve of a GL_LUMINANCE32F or > GL_INTENSITY32F > @@ -1788,12 +1777,21 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > * R32_FLOAT, so only the contents of the red channel matters. > */ > if (brw->gen == 6 && > - params.src.surf.samples > 1 && params.dst.surf.samples <= 1 && > + src_mt->num_samples > 1 && dst_mt->num_samples <= 1 && > src_mt->format == dst_mt->format && > - params.dst.view.format == ISL_FORMAT_R32_FLOAT) { > - params.src.view.format = params.dst.view.format; > + (dst_format == MESA_FORMAT_L_FLOAT32 || > + dst_format == MESA_FORMAT_I_FLOAT32)) { > + src_format = dst_format = MESA_FORMAT_R_FLOAT32; > } > > + struct brw_blorp_params params; > + brw_blorp_params_init(¶ms); > + > + brw_blorp_surface_info_init(brw, ¶ms.src, src_mt, src_level, > + src_layer, src_format, false); > + brw_blorp_surface_info_init(brw, ¶ms.dst, dst_mt, dst_level, > + dst_layer, dst_format, true); > + > struct brw_blorp_blit_prog_key wm_prog_key; > memset(&wm_prog_key, 0, sizeof(wm_prog_key)); > > -- > 2.5.0.400.gff86faf > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev