[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