[Mesa-dev] [PATCH 09/36] i965/blorp: Make sample count asserts a bit more lazy
Pohjolainen, Topi
topi.pohjolainen at intel.com
Fri Jul 1 05:13:56 UTC 2016
On Thu, Jun 30, 2016 at 06:57:39AM -0700, Jason Ekstrand wrote:
> On Jun 29, 2016 11:07 PM, "Pohjolainen, Topi"
> <[1]topi.pohjolainen at intel.com> wrote:
> >
> > On Wed, Jun 29, 2016 at 05:37:28PM -0700, Jason Ekstrand wrote:
> > > ---
> > > src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 10 +++++-----
> > > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > Could you add some rational here? In the next patch you still use
> > MAX2(mt->num_samples, 1) and it looks that it at least should still
> work
> > without this.
>
> Over time, these will all get replaced with isl_surf.samples which are
> 1 for single sampled. On the other hand, mt->num_samples is zero for
> single-sampled.
Does that mean that value zero becomes illegal once we get the value from
isl_surf?
>
> > >
> > > diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> > > index 1e15bd5..257db06 100644
> > > --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> > > +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp
> > > @@ -1302,7 +1302,7 @@ brw_blorp_build_nir_shader(struct brw_context
> *brw,
> > > nir_ssa_def *src_pos, *dst_pos, *color;
> > >
> > > /* Sanity checks */
> > > - if (key->dst_tiled_w && key->rt_samples > 0) {
> > > + if (key->dst_tiled_w && key->rt_samples > 1) {
> > > /* If the destination image is W tiled and multisampled,
> then the thread
> > > * must be dispatched once per sample, not once per pixel.
> This is
> > > * necessary because after conversion between W and Y
> tiling, there's no
> > > @@ -1333,13 +1333,13 @@ brw_blorp_build_nir_shader(struct
> brw_context *brw,
> > >
> > > /* Make sure layout is consistent with sample count */
> > > assert((key->tex_layout == INTEL_MSAA_LAYOUT_NONE) ==
> > > - (key->tex_samples == 0));
> > > + (key->tex_samples <= 1));
> > > assert((key->rt_layout == INTEL_MSAA_LAYOUT_NONE) ==
> > > - (key->rt_samples == 0));
> > > + (key->rt_samples <= 1));
> > > assert((key->src_layout == INTEL_MSAA_LAYOUT_NONE) ==
> > > - (key->src_samples == 0));
> > > + (key->src_samples <= 1));
> > > assert((key->dst_layout == INTEL_MSAA_LAYOUT_NONE) ==
> > > - (key->dst_samples == 0));
> > > + (key->dst_samples <= 1));
> > >
> > > nir_builder b;
> > > nir_builder_init_simple_shader(&b, NULL, MESA_SHADER_FRAGMENT,
> NULL);
> > > --
> > > 2.5.0.400.gff86faf
> > >
> > > _______________________________________________
> > > mesa-dev mailing list
> > > [2]mesa-dev at lists.freedesktop.org
> > > [3]https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
> References
>
> 1. mailto:topi.pohjolainen at intel.com
> 2. mailto:mesa-dev at lists.freedesktop.org
> 3. https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list