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

Reply via email to