The drm will restrict the max reloc to (batch size)/8. Current batch buffer size is 8K, then the max reloc is 1024. As the max workgroup size is 1024, if it uses simd16 channel then the thread_n will be 1024/16 = 64. And if it need to bind 32 buffers, then the reloc count will be 64*32 which is 2048 and exceed current limitation. Let's increase the batch size to 16K to relax this restrication to 2048 relocs.
Signed-off-by: Zhigang Gong <[email protected]> --- src/intel/intel_driver.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c index 989193a..bb2f9b2 100644 --- a/src/intel/intel_driver.c +++ b/src/intel/intel_driver.c @@ -129,7 +129,7 @@ error: } /* just used for maximum relocation number in drm_intel */ -#define BATCH_SIZE 0x2000 +#define BATCH_SIZE 0x4000 static void intel_driver_memman_init(intel_driver_t *driver) -- 1.8.3.2 _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
