[Beignet] [PATCH v2] Remove intel_gpgpu_check_binded_buf_address()
Zhenyu Wang
zhenyuw at linux.intel.com
Fri Oct 31 00:11:59 PDT 2014
On recent kernel with full PPGTT support, we can possibly bind buffer
offset with 0, but intel_gpgpu_check_binded_buf_address() always thinks
it's invalid, which is not true. So simply remove the check.
v2: Add comment on why this was added and leads to failure. Use FIXME tag
on issue that needs to be fixed otherwise.
Signed-off-by: Zhenyu Wang <zhenyuw at linux.intel.com>
---
src/intel/intel_gpgpu.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/src/intel/intel_gpgpu.c b/src/intel/intel_gpgpu.c
index d6ef3e9..724ce63 100644
--- a/src/intel/intel_gpgpu.c
+++ b/src/intel/intel_gpgpu.c
@@ -739,14 +739,6 @@ intel_gpgpu_batch_reset(intel_gpgpu_t *gpgpu, size_t sz)
{
return intel_batchbuffer_reset(gpgpu->batch, sz);
}
-/* check we do not get a 0 starting address for binded buf */
-static void
-intel_gpgpu_check_binded_buf_address(intel_gpgpu_t *gpgpu)
-{
- uint32_t i;
- for (i = 0; i < gpgpu->binded_n; ++i)
- assert(gpgpu->binded_buf[i]->offset != 0);
-}
static void
intel_gpgpu_flush_batch_buffer(intel_batchbuffer_t *batch)
@@ -762,7 +754,16 @@ intel_gpgpu_flush(intel_gpgpu_t *gpgpu)
if (!gpgpu->batch || !gpgpu->batch->buffer)
return;
intel_gpgpu_flush_batch_buffer(gpgpu->batch);
- intel_gpgpu_check_binded_buf_address(gpgpu);
+ /* FIXME:
+ Remove old assert here for binded buffer offset 0 which
+ tried to guard possible NULL buffer pointer check in kernel, as
+ in case like "runtime_null_kernel_arg", but that's wrong to just
+ take buffer offset 0 as NULL, and cause failure for normal
+ kernels which has no such NULL ptr check but with buffer offset 0
+ (which is possible now and will be normal if full PPGTT is on).
+
+ Need to fix NULL ptr check otherwise.
+ */
}
static int
--
2.1.1
More information about the Beignet
mailing list