[Mesa-dev] [PATCH] anv: ensure that we do not emit negative Depth in 3DSTATE_DEPTH_BUFFER

Iago Toral itoral at igalia.com
Thu Feb 23 11:10:40 UTC 2017


On Wed, 2017-02-22 at 09:38 -0800, Jason Ekstrand wrote:
> On Wed, Feb 22, 2017 at 6:45 AM, Iago Toral Quiroga <itoral at igalia.co
> m> wrote:
> > This fixes a number of new CTS tests that would crash otherwise:
> > dEQP-VK.pipeline.render_to_image.*
> > ---
> >  src/intel/vulkan/genX_cmd_buffer.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/src/intel/vulkan/genX_cmd_buffer.c
> > b/src/intel/vulkan/genX_cmd_buffer.c
> > index 40a72f4..cdd4501 100644
> > --- a/src/intel/vulkan/genX_cmd_buffer.c
> > +++ b/src/intel/vulkan/genX_cmd_buffer.c
> > @@ -2270,7 +2270,8 @@ cmd_buffer_emit_depth_stencil(struct
> > anv_cmd_buffer *cmd_buffer)
> >           assert(image->depth_surface.isl.dim != ISL_SURF_DIM_3D);
> >           db.Depth =
> >           db.RenderTargetViewExtent =
> > -            iview->isl.array_len - iview->isl.base_array_layer -
> > 1;
> > +            iview->isl.array_len <= iview->isl.base_array_layer
> > +               ? 0 : iview->isl.array_len - iview-
> > >isl.base_array_layer - 1;
> I think both the old code and the new code is broken. :(  I believe
> what we actually want here is just array_len; we don't want to
> subtract base_array_layer.
> 
> Does using just iview->isl.array_len fix the issue?

Yes it does and there are no regressions according to jenkins. I'll
send a v2 with that change.

Iago

> > 
> >  #if GEN_GEN >= 8
> >           db.SurfaceQPitch =
> > --
> > 2.7.4
> > 
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
> > 


More information about the mesa-dev mailing list