Re: [Mesa-dev] [PATCH 02/22] i965/miptree: Switch to isl_surf::samples
On Wed, Jul 19, 2017 at 01:26:03PM +0300, Pohjolainen, Topi wrote: > On Tue, Jul 18, 2017 at 01:29:39PM -0700, Jason Ekstrand wrote: > > On Tue, Jul 18, 2017 at 1:46 AM, Topi Pohjolainen < > > topi.pohjolai...@gmail.com> wrote: > > > > > Signed-off-by: Topi Pohjolainen > > > --- > > > src/mesa/drivers/dri/i965/brw_blorp.c| 16 - > > > src/mesa/drivers/dri/i965/brw_context.c | 2 +- > > > src/mesa/drivers/dri/i965/brw_meta_util.c| 2 +- > > > src/mesa/drivers/dri/i965/brw_tex_layout.c | 4 +-- > > > src/mesa/drivers/dri/i965/brw_wm.c | 4 +-- > > > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- > > > src/mesa/drivers/dri/i965/intel_blit.c | 4 +-- > > > src/mesa/drivers/dri/i965/intel_fbo.c| 4 +-- > > > src/mesa/drivers/dri/i965/intel_mipmap_tree.c| 46 > > > > > > src/mesa/drivers/dri/i965/intel_mipmap_tree.h| 6 > > > src/mesa/drivers/dri/i965/intel_pixel_copy.c | 2 +- > > > 11 files changed, 43 insertions(+), 49 deletions(-) > > > > > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c > > > b/src/mesa/drivers/dri/i965/brw_blorp.c > > > index be310de85b..be0d41b04a 100644 > > > --- a/src/mesa/drivers/dri/i965/brw_blorp.c > > > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c > > > @@ -135,7 +135,7 @@ blorp_surf_for_miptree(struct brw_context *brw, > > > struct isl_surf tmp_surfs[1]) > > > { > > > if (mt->surf.msaa_layout == ISL_MSAA_LAYOUT_ARRAY) { > > > - const unsigned num_samples = MAX2(1, mt->num_samples); > > > + const unsigned num_samples = MAX2(1, mt->surf.samples); > > >for (unsigned i = 0; i < num_layers; i++) { > > > for (unsigned s = 0; s < num_samples; s++) { > > > const unsigned phys_layer = (start_layer + i) * num_samples + > > > s; > > > @@ -275,7 +275,7 @@ swizzle_to_scs(GLenum swizzle) > > > * Note: if the src (or dst) is a 2D multisample array texture on Gen7+ > > > using > > > * INTEL_MSAA_LAYOUT_UMS or INTEL_MSAA_LAYOUT_CMS, src_layer (dst_layer) > > > is > > > * the physical layer holding sample 0. So, for example, if > > > - * src_mt->num_samples == 4, then logical layer n corresponds to > > > src_layer == > > > + * src_mt->surf.samples == 4, then logical layer n corresponds to > > > src_layer == > > > * 4*n. > > > */ > > > void > > > @@ -296,9 +296,9 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > > > DBG("%s from %dx %s mt %p %d %d (%f,%f) (%f,%f)" > > > "to %dx %s mt %p %d %d (%f,%f) (%f,%f) (flip %d,%d)\n", > > > __func__, > > > - src_mt->num_samples, _mesa_get_format_name(src_mt->format), > > > src_mt, > > > + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), > > > src_mt, > > > src_level, src_layer, src_x0, src_y0, src_x1, src_y1, > > > - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), > > > dst_mt, > > > + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), > > > dst_mt, > > > dst_level, dst_layer, dst_x0, dst_y0, dst_x1, dst_y1, > > > mirror_x, mirror_y); > > > > > > @@ -318,7 +318,7 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > > > * R32_FLOAT, so only the contents of the red channel matters. > > > */ > > > if (brw->gen == 6 && > > > - src_mt->num_samples > 1 && dst_mt->num_samples <= 1 && > > > + src_mt->surf.samples > 1 && dst_mt->surf.samples <= 1 && > > > src_mt->format == dst_mt->format && > > > (dst_format == MESA_FORMAT_L_FLOAT32 || > > > dst_format == MESA_FORMAT_I_FLOAT32)) { > > > @@ -375,9 +375,9 @@ brw_blorp_copy_miptrees(struct brw_context *brw, > > > DBG("%s from %dx %s mt %p %d %d (%d,%d) %dx%d" > > > "to %dx %s mt %p %d %d (%d,%d)\n", > > > __func__, > > > - src_mt->num_samples, _mesa_get_format_name(src_mt->format), > > > src_mt, > > > + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), > > > src_mt, > > > src_level, src_layer, src_x, src_y, src_width, src_height, > > > - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), > > > dst_mt, > > > + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), > > > dst_mt, > > > dst_level, dst_layer, dst_x, dst_y); > > > > > > struct isl_surf tmp_surfs[2]; > > > @@ -564,7 +564,7 @@ brw_blorp_copytexsubimage(struct brw_context *brw, > > > struct intel_mipmap_tree *dst_mt = intel_image->mt; > > > > > > /* There is support for only up to eight samples. */ > > > - if (src_mt->num_samples > 8 || dst_mt->num_samples > 8) > > > + if (src_mt->surf.samples > 8 || dst_mt->surf.samples > 8) > > >return false; > > > > > > if (_mesa_get_format_base_format(src_rb->Format) != > > > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > > > b/src/mesa/drivers/dri/i965/brw_context.c > > > index bd26e2332c..fffe310b97 100644 > > > --- a/src/mes
Re: [Mesa-dev] [PATCH 02/22] i965/miptree: Switch to isl_surf::samples
On Tue, Jul 18, 2017 at 01:29:39PM -0700, Jason Ekstrand wrote: > On Tue, Jul 18, 2017 at 1:46 AM, Topi Pohjolainen < > topi.pohjolai...@gmail.com> wrote: > > > Signed-off-by: Topi Pohjolainen > > --- > > src/mesa/drivers/dri/i965/brw_blorp.c| 16 - > > src/mesa/drivers/dri/i965/brw_context.c | 2 +- > > src/mesa/drivers/dri/i965/brw_meta_util.c| 2 +- > > src/mesa/drivers/dri/i965/brw_tex_layout.c | 4 +-- > > src/mesa/drivers/dri/i965/brw_wm.c | 4 +-- > > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- > > src/mesa/drivers/dri/i965/intel_blit.c | 4 +-- > > src/mesa/drivers/dri/i965/intel_fbo.c| 4 +-- > > src/mesa/drivers/dri/i965/intel_mipmap_tree.c| 46 > > > > src/mesa/drivers/dri/i965/intel_mipmap_tree.h| 6 > > src/mesa/drivers/dri/i965/intel_pixel_copy.c | 2 +- > > 11 files changed, 43 insertions(+), 49 deletions(-) > > > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c > > b/src/mesa/drivers/dri/i965/brw_blorp.c > > index be310de85b..be0d41b04a 100644 > > --- a/src/mesa/drivers/dri/i965/brw_blorp.c > > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c > > @@ -135,7 +135,7 @@ blorp_surf_for_miptree(struct brw_context *brw, > > struct isl_surf tmp_surfs[1]) > > { > > if (mt->surf.msaa_layout == ISL_MSAA_LAYOUT_ARRAY) { > > - const unsigned num_samples = MAX2(1, mt->num_samples); > > + const unsigned num_samples = MAX2(1, mt->surf.samples); > >for (unsigned i = 0; i < num_layers; i++) { > > for (unsigned s = 0; s < num_samples; s++) { > > const unsigned phys_layer = (start_layer + i) * num_samples + > > s; > > @@ -275,7 +275,7 @@ swizzle_to_scs(GLenum swizzle) > > * Note: if the src (or dst) is a 2D multisample array texture on Gen7+ > > using > > * INTEL_MSAA_LAYOUT_UMS or INTEL_MSAA_LAYOUT_CMS, src_layer (dst_layer) > > is > > * the physical layer holding sample 0. So, for example, if > > - * src_mt->num_samples == 4, then logical layer n corresponds to > > src_layer == > > + * src_mt->surf.samples == 4, then logical layer n corresponds to > > src_layer == > > * 4*n. > > */ > > void > > @@ -296,9 +296,9 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > > DBG("%s from %dx %s mt %p %d %d (%f,%f) (%f,%f)" > > "to %dx %s mt %p %d %d (%f,%f) (%f,%f) (flip %d,%d)\n", > > __func__, > > - src_mt->num_samples, _mesa_get_format_name(src_mt->format), > > src_mt, > > + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), > > src_mt, > > src_level, src_layer, src_x0, src_y0, src_x1, src_y1, > > - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), > > dst_mt, > > + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), > > dst_mt, > > dst_level, dst_layer, dst_x0, dst_y0, dst_x1, dst_y1, > > mirror_x, mirror_y); > > > > @@ -318,7 +318,7 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > > * R32_FLOAT, so only the contents of the red channel matters. > > */ > > if (brw->gen == 6 && > > - src_mt->num_samples > 1 && dst_mt->num_samples <= 1 && > > + src_mt->surf.samples > 1 && dst_mt->surf.samples <= 1 && > > src_mt->format == dst_mt->format && > > (dst_format == MESA_FORMAT_L_FLOAT32 || > > dst_format == MESA_FORMAT_I_FLOAT32)) { > > @@ -375,9 +375,9 @@ brw_blorp_copy_miptrees(struct brw_context *brw, > > DBG("%s from %dx %s mt %p %d %d (%d,%d) %dx%d" > > "to %dx %s mt %p %d %d (%d,%d)\n", > > __func__, > > - src_mt->num_samples, _mesa_get_format_name(src_mt->format), > > src_mt, > > + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), > > src_mt, > > src_level, src_layer, src_x, src_y, src_width, src_height, > > - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), > > dst_mt, > > + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), > > dst_mt, > > dst_level, dst_layer, dst_x, dst_y); > > > > struct isl_surf tmp_surfs[2]; > > @@ -564,7 +564,7 @@ brw_blorp_copytexsubimage(struct brw_context *brw, > > struct intel_mipmap_tree *dst_mt = intel_image->mt; > > > > /* There is support for only up to eight samples. */ > > - if (src_mt->num_samples > 8 || dst_mt->num_samples > 8) > > + if (src_mt->surf.samples > 8 || dst_mt->surf.samples > 8) > >return false; > > > > if (_mesa_get_format_base_format(src_rb->Format) != > > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > > b/src/mesa/drivers/dri/i965/brw_context.c > > index bd26e2332c..fffe310b97 100644 > > --- a/src/mesa/drivers/dri/i965/brw_context.c > > +++ b/src/mesa/drivers/dri/i965/brw_context.c > > @@ -1218,7 +1218,7 @@ intel_resolve_for_dri2_flush(struct brw_context > > *brw, > >rb = intel_get_renderbuffer(fb, buffers[i]); > >if (rb == NULL || rb->mt == NULL) > >
Re: [Mesa-dev] [PATCH 02/22] i965/miptree: Switch to isl_surf::samples
On Tue, Jul 18, 2017 at 1:46 AM, Topi Pohjolainen < topi.pohjolai...@gmail.com> wrote: > Signed-off-by: Topi Pohjolainen > --- > src/mesa/drivers/dri/i965/brw_blorp.c| 16 - > src/mesa/drivers/dri/i965/brw_context.c | 2 +- > src/mesa/drivers/dri/i965/brw_meta_util.c| 2 +- > src/mesa/drivers/dri/i965/brw_tex_layout.c | 4 +-- > src/mesa/drivers/dri/i965/brw_wm.c | 4 +-- > src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- > src/mesa/drivers/dri/i965/intel_blit.c | 4 +-- > src/mesa/drivers/dri/i965/intel_fbo.c| 4 +-- > src/mesa/drivers/dri/i965/intel_mipmap_tree.c| 46 > > src/mesa/drivers/dri/i965/intel_mipmap_tree.h| 6 > src/mesa/drivers/dri/i965/intel_pixel_copy.c | 2 +- > 11 files changed, 43 insertions(+), 49 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c > b/src/mesa/drivers/dri/i965/brw_blorp.c > index be310de85b..be0d41b04a 100644 > --- a/src/mesa/drivers/dri/i965/brw_blorp.c > +++ b/src/mesa/drivers/dri/i965/brw_blorp.c > @@ -135,7 +135,7 @@ blorp_surf_for_miptree(struct brw_context *brw, > struct isl_surf tmp_surfs[1]) > { > if (mt->surf.msaa_layout == ISL_MSAA_LAYOUT_ARRAY) { > - const unsigned num_samples = MAX2(1, mt->num_samples); > + const unsigned num_samples = MAX2(1, mt->surf.samples); >for (unsigned i = 0; i < num_layers; i++) { > for (unsigned s = 0; s < num_samples; s++) { > const unsigned phys_layer = (start_layer + i) * num_samples + > s; > @@ -275,7 +275,7 @@ swizzle_to_scs(GLenum swizzle) > * Note: if the src (or dst) is a 2D multisample array texture on Gen7+ > using > * INTEL_MSAA_LAYOUT_UMS or INTEL_MSAA_LAYOUT_CMS, src_layer (dst_layer) > is > * the physical layer holding sample 0. So, for example, if > - * src_mt->num_samples == 4, then logical layer n corresponds to > src_layer == > + * src_mt->surf.samples == 4, then logical layer n corresponds to > src_layer == > * 4*n. > */ > void > @@ -296,9 +296,9 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > DBG("%s from %dx %s mt %p %d %d (%f,%f) (%f,%f)" > "to %dx %s mt %p %d %d (%f,%f) (%f,%f) (flip %d,%d)\n", > __func__, > - src_mt->num_samples, _mesa_get_format_name(src_mt->format), > src_mt, > + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), > src_mt, > src_level, src_layer, src_x0, src_y0, src_x1, src_y1, > - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), > dst_mt, > + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), > dst_mt, > dst_level, dst_layer, dst_x0, dst_y0, dst_x1, dst_y1, > mirror_x, mirror_y); > > @@ -318,7 +318,7 @@ brw_blorp_blit_miptrees(struct brw_context *brw, > * R32_FLOAT, so only the contents of the red channel matters. > */ > if (brw->gen == 6 && > - src_mt->num_samples > 1 && dst_mt->num_samples <= 1 && > + src_mt->surf.samples > 1 && dst_mt->surf.samples <= 1 && > src_mt->format == dst_mt->format && > (dst_format == MESA_FORMAT_L_FLOAT32 || > dst_format == MESA_FORMAT_I_FLOAT32)) { > @@ -375,9 +375,9 @@ brw_blorp_copy_miptrees(struct brw_context *brw, > DBG("%s from %dx %s mt %p %d %d (%d,%d) %dx%d" > "to %dx %s mt %p %d %d (%d,%d)\n", > __func__, > - src_mt->num_samples, _mesa_get_format_name(src_mt->format), > src_mt, > + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), > src_mt, > src_level, src_layer, src_x, src_y, src_width, src_height, > - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), > dst_mt, > + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), > dst_mt, > dst_level, dst_layer, dst_x, dst_y); > > struct isl_surf tmp_surfs[2]; > @@ -564,7 +564,7 @@ brw_blorp_copytexsubimage(struct brw_context *brw, > struct intel_mipmap_tree *dst_mt = intel_image->mt; > > /* There is support for only up to eight samples. */ > - if (src_mt->num_samples > 8 || dst_mt->num_samples > 8) > + if (src_mt->surf.samples > 8 || dst_mt->surf.samples > 8) >return false; > > if (_mesa_get_format_base_format(src_rb->Format) != > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > b/src/mesa/drivers/dri/i965/brw_context.c > index bd26e2332c..fffe310b97 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.c > +++ b/src/mesa/drivers/dri/i965/brw_context.c > @@ -1218,7 +1218,7 @@ intel_resolve_for_dri2_flush(struct brw_context > *brw, >rb = intel_get_renderbuffer(fb, buffers[i]); >if (rb == NULL || rb->mt == NULL) > continue; > - if (rb->mt->num_samples <= 1) { > + if (rb->mt->surf.samples <= 1) { > assert(rb->mt_layer == 0 && rb->mt_level == 0 && > rb->layer_count == 1); > intel_miptree_prepare_access(brw, rb->mt, 0, 1, 0, 1, false
[Mesa-dev] [PATCH 02/22] i965/miptree: Switch to isl_surf::samples
Signed-off-by: Topi Pohjolainen --- src/mesa/drivers/dri/i965/brw_blorp.c| 16 - src/mesa/drivers/dri/i965/brw_context.c | 2 +- src/mesa/drivers/dri/i965/brw_meta_util.c| 2 +- src/mesa/drivers/dri/i965/brw_tex_layout.c | 4 +-- src/mesa/drivers/dri/i965/brw_wm.c | 4 +-- src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 2 +- src/mesa/drivers/dri/i965/intel_blit.c | 4 +-- src/mesa/drivers/dri/i965/intel_fbo.c| 4 +-- src/mesa/drivers/dri/i965/intel_mipmap_tree.c| 46 src/mesa/drivers/dri/i965/intel_mipmap_tree.h| 6 src/mesa/drivers/dri/i965/intel_pixel_copy.c | 2 +- 11 files changed, 43 insertions(+), 49 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index be310de85b..be0d41b04a 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -135,7 +135,7 @@ blorp_surf_for_miptree(struct brw_context *brw, struct isl_surf tmp_surfs[1]) { if (mt->surf.msaa_layout == ISL_MSAA_LAYOUT_ARRAY) { - const unsigned num_samples = MAX2(1, mt->num_samples); + const unsigned num_samples = MAX2(1, mt->surf.samples); for (unsigned i = 0; i < num_layers; i++) { for (unsigned s = 0; s < num_samples; s++) { const unsigned phys_layer = (start_layer + i) * num_samples + s; @@ -275,7 +275,7 @@ swizzle_to_scs(GLenum swizzle) * Note: if the src (or dst) is a 2D multisample array texture on Gen7+ using * INTEL_MSAA_LAYOUT_UMS or INTEL_MSAA_LAYOUT_CMS, src_layer (dst_layer) is * the physical layer holding sample 0. So, for example, if - * src_mt->num_samples == 4, then logical layer n corresponds to src_layer == + * src_mt->surf.samples == 4, then logical layer n corresponds to src_layer == * 4*n. */ void @@ -296,9 +296,9 @@ brw_blorp_blit_miptrees(struct brw_context *brw, DBG("%s from %dx %s mt %p %d %d (%f,%f) (%f,%f)" "to %dx %s mt %p %d %d (%f,%f) (%f,%f) (flip %d,%d)\n", __func__, - src_mt->num_samples, _mesa_get_format_name(src_mt->format), src_mt, + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), src_mt, src_level, src_layer, src_x0, src_y0, src_x1, src_y1, - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), dst_mt, + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), dst_mt, dst_level, dst_layer, dst_x0, dst_y0, dst_x1, dst_y1, mirror_x, mirror_y); @@ -318,7 +318,7 @@ brw_blorp_blit_miptrees(struct brw_context *brw, * R32_FLOAT, so only the contents of the red channel matters. */ if (brw->gen == 6 && - src_mt->num_samples > 1 && dst_mt->num_samples <= 1 && + src_mt->surf.samples > 1 && dst_mt->surf.samples <= 1 && src_mt->format == dst_mt->format && (dst_format == MESA_FORMAT_L_FLOAT32 || dst_format == MESA_FORMAT_I_FLOAT32)) { @@ -375,9 +375,9 @@ brw_blorp_copy_miptrees(struct brw_context *brw, DBG("%s from %dx %s mt %p %d %d (%d,%d) %dx%d" "to %dx %s mt %p %d %d (%d,%d)\n", __func__, - src_mt->num_samples, _mesa_get_format_name(src_mt->format), src_mt, + src_mt->surf.samples, _mesa_get_format_name(src_mt->format), src_mt, src_level, src_layer, src_x, src_y, src_width, src_height, - dst_mt->num_samples, _mesa_get_format_name(dst_mt->format), dst_mt, + dst_mt->surf.samples, _mesa_get_format_name(dst_mt->format), dst_mt, dst_level, dst_layer, dst_x, dst_y); struct isl_surf tmp_surfs[2]; @@ -564,7 +564,7 @@ brw_blorp_copytexsubimage(struct brw_context *brw, struct intel_mipmap_tree *dst_mt = intel_image->mt; /* There is support for only up to eight samples. */ - if (src_mt->num_samples > 8 || dst_mt->num_samples > 8) + if (src_mt->surf.samples > 8 || dst_mt->surf.samples > 8) return false; if (_mesa_get_format_base_format(src_rb->Format) != diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_context.c index bd26e2332c..fffe310b97 100644 --- a/src/mesa/drivers/dri/i965/brw_context.c +++ b/src/mesa/drivers/dri/i965/brw_context.c @@ -1218,7 +1218,7 @@ intel_resolve_for_dri2_flush(struct brw_context *brw, rb = intel_get_renderbuffer(fb, buffers[i]); if (rb == NULL || rb->mt == NULL) continue; - if (rb->mt->num_samples <= 1) { + if (rb->mt->surf.samples <= 1) { assert(rb->mt_layer == 0 && rb->mt_level == 0 && rb->layer_count == 1); intel_miptree_prepare_access(brw, rb->mt, 0, 1, 0, 1, false, false); diff --git a/src/mesa/drivers/dri/i965/brw_meta_util.c b/src/mesa/drivers/dri/i965/brw_meta_util.c index f9fd350918..2d87885e90 100644 --- a/src/mesa/drivers/dri/i965/brw_meta_util.c +++ b/src/mesa/drivers/dri/i965/brw_meta_util.c @@ -298,7 +298,7 @@ brw_is_color_fast_clear_compatibl