[Mesa-dev] [PATCH v3 3/3] i965: if DEBUG_OUT_OF_BOUND_CHK is up, check that noise padding for each bo used in batchbuffer is correct

Rogovin, Kevin kevin.rogovin at intel.com
Mon Jan 29 22:10:05 UTC 2018


Hi,

Thanks, so the items that need to be fixed are:

 Patch 1: use the better name for the macro value to better match the string
 Patch 2: either use pread/pwrite for both set and check noise or use map for both (I will use map)
 Patch 3: fine as is.

Apparently, the mesa-dev archive is acting like /dev/null again as the patch series, your review and discussion have disappeared.

I will post a v4 shortly unless there are any additional shortcomings that need to be addressed.

-Kevin

-----Original Message-----
From: Jason Ekstrand [mailto:jason at jlekstrand.net] 
Sent: Monday, January 29, 2018 6:41 PM
To: Rogovin, Kevin <kevin.rogovin at intel.com>
Subject: RE: [PATCH v3 3/3] i965: if DEBUG_OUT_OF_BOUND_CHK is up, check that noise padding for each bo used in batchbuffer is correct

Nope. That one looked fine as-is.


On January 28, 2018 23:13:40 "Rogovin, Kevin" <kevin.rogovin at intel.com> wrote:

> Any comments/review for Patch 3?
>
> -----Original Message-----
> From: Rogovin, Kevin
> Sent: Friday, January 26, 2018 10:56 AM
> To: mesa-dev at lists.freedesktop.org
> Cc: Rogovin, Kevin <kevin.rogovin at intel.com>
> Subject: [PATCH v3 3/3] i965: if DEBUG_OUT_OF_BOUND_CHK is up, check 
> that noise padding for each bo used in batchbuffer is correct
>
> From: Kevin Rogovin <kevin.rogovin at intel.com>
>
> Signed-off-by: Kevin Rogovin <kevin.rogovin at intel.com>
> ---
>  src/mesa/drivers/dri/i965/intel_batchbuffer.c | 22 
> +++++++++++++++++++++-
>  1 file changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> index 02bfd3f333..fc6998a7ca 100644
> --- a/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> +++ b/src/mesa/drivers/dri/i965/intel_batchbuffer.c
> @@ -1019,11 +1019,31 @@ _intel_batchbuffer_flush_fence(struct 
> brw_context *brw,
>
>     ret = submit_batch(brw, in_fence_fd, out_fence_fd);
>
> -   if (unlikely(INTEL_DEBUG & DEBUG_SYNC)) {
> +   if (unlikely(INTEL_DEBUG & (DEBUG_SYNC | DEBUG_OUT_OF_BOUND_CHK))) 
> + {
>        fprintf(stderr, "waiting for idle\n");
>        brw_bo_wait_rendering(brw->batch.batch.bo);
>     }
>
> +   if (unlikely(INTEL_DEBUG & DEBUG_OUT_OF_BOUND_CHK)) {
> +      bool detected_out_of_bounds_write = false;
> +
> +      for (int i = 0; i < brw->batch.exec_count; i++) {
> +         struct brw_bo *bo = brw->batch.exec_bos[i];
> +
> +         if (!brw_bo_padding_is_good(bo)) {
> +            detected_out_of_bounds_write = true;
> +            fprintf(stderr,
> +                    "Detected buffer out-of-bounds write from brw_bo %p "
> +                    "(GEM %u, label = \"%s\")\n",
> +                    bo, bo->gem_handle, bo->name);
> +         }
> +      }
> +
> +      if (unlikely(detected_out_of_bounds_write)) {
> +         abort();
> +      }
> +   }
> +
>     /* Start a new batch buffer. */
>     brw_new_batch(brw);
>
> --
> 2.15.1
>




More information about the mesa-dev mailing list