[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