Prepare for split BLT ring on Sandybridge.

Depends on libdrm 057fab3382c02af54126ce395c43d4e6dce9439a

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=31123
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson
2010-10-26 10:59:18 +01:00
parent 8934395d9d
commit d4d769a432
14 changed files with 41 additions and 39 deletions
+1 -1
View File
@@ -68,7 +68,7 @@ int main(int argc, char **argv)
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
bad_store();
+1 -1
View File
@@ -64,7 +64,7 @@ int main(int argc, char **argv)
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
bad_batch();
+2 -4
View File
@@ -100,19 +100,17 @@ bad_blit(drm_intel_bo *src_bo, uint32_t devid)
int main(int argc, char **argv)
{
drm_intel_bo *src;
uint32_t devid;
int fd;
fd = drm_open_any();
devid = intel_get_drm_devid(fd);
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
src = drm_intel_bo_alloc(bufmgr, "src", 128 * 128, 4096);
bad_blit(src, devid);
bad_blit(src, batch->devid);
intel_batchbuffer_free(batch);
drm_intel_bufmgr_destroy(bufmgr);
+1 -2
View File
@@ -81,11 +81,10 @@ int main(int argc, char **argv)
bad_pipe = atoi(argv[1]);
fd = drm_open_any();
intel_get_drm_devid(fd);
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
gpu_hang();
+6 -8
View File
@@ -131,14 +131,12 @@ main(int argc, char **argv)
drm_intel_bo *src1, *src2, *bo;
uint32_t start1 = 0;
uint32_t start2 = 1024 * 1024 / 4;
uint32_t devid;
fd = drm_open_any();
devid = intel_get_drm_devid(fd);
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
src1 = create_bo(start1);
src2 = create_bo(start2);
@@ -147,21 +145,21 @@ main(int argc, char **argv)
/* First, do a full-buffer read after blitting */
printf("Large read after blit 1\n");
intel_copy_bo(batch, bo, src1, width, height, devid);
intel_copy_bo(batch, bo, src1, width, height);
verify_large_read(bo, start1);
printf("Large read after blit 2\n");
intel_copy_bo(batch, bo, src2, width, height, devid);
intel_copy_bo(batch, bo, src2, width, height);
verify_large_read(bo, start2);
printf("Small reads after blit 1\n");
intel_copy_bo(batch, bo, src1, width, height, devid);
intel_copy_bo(batch, bo, src1, width, height);
verify_small_read(bo, start1);
printf("Small reads after blit 2\n");
intel_copy_bo(batch, bo, src2, width, height, devid);
intel_copy_bo(batch, bo, src2, width, height);
verify_small_read(bo, start2);
printf("Large read after blit 3\n");
intel_copy_bo(batch, bo, src1, width, height, devid);
intel_copy_bo(batch, bo, src1, width, height);
verify_large_read(bo, start1);
drm_intel_bo_unreference(src1);
+2 -4
View File
@@ -55,16 +55,14 @@ static const int size = 1024 * 1024;
int main(int argc, char **argv)
{
int fd;
uint32_t devid;
int i;
drm_intel_bo *src_bo, *dst_bo;
fd = drm_open_any();
devid = intel_get_drm_devid(fd);
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
src_bo = drm_intel_bo_alloc(bufmgr, "src bo", size, 4096);
dst_bo = drm_intel_bo_alloc(bufmgr, "src bo", size, 4096);
@@ -85,7 +83,7 @@ int main(int argc, char **argv)
* doing this, we aren't likely to with this test.
*/
for (i = 0; i < 128 * 1024 / (8 * 4) * 1.25; i++) {
intel_copy_bo(batch, dst_bo, src_bo, width, height, devid);
intel_copy_bo(batch, dst_bo, src_bo, width, height);
intel_batchbuffer_flush(batch);
}
+4 -6
View File
@@ -60,7 +60,6 @@
static drm_intel_bufmgr *bufmgr;
struct intel_batchbuffer *batch;
static int width = 512, height = 512;
static uint32_t devid;
static drm_intel_bo *
create_bo(uint32_t start_val)
@@ -86,7 +85,7 @@ create_bo(uint32_t start_val)
}
drm_intel_bo_unmap(linear_bo);
intel_copy_bo (batch, bo, linear_bo, width, height, devid);
intel_copy_bo (batch, bo, linear_bo, width, height);
drm_intel_bo_unreference(linear_bo);
@@ -102,7 +101,7 @@ check_bo(drm_intel_bo *bo, uint32_t start_val)
linear_bo = drm_intel_bo_alloc(bufmgr, "linear dst", 1024 * 1024, 4096);
intel_copy_bo(batch, linear_bo, bo, width, height, devid);
intel_copy_bo(batch, linear_bo, bo, width, height);
drm_intel_bo_map(linear_bo, 0);
linear = linear_bo->virtual;
@@ -131,11 +130,10 @@ int main(int argc, char **argv)
int i;
fd = drm_open_any();
devid = intel_get_drm_devid(fd);
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
for (i = 0; i < bo_count; i++) {
bo[i] = create_bo(start);
@@ -156,7 +154,7 @@ int main(int argc, char **argv)
if (src == dst)
continue;
intel_copy_bo(batch, bo[dst], bo[src], width, height, devid);
intel_copy_bo(batch, bo[dst], bo[src], width, height);
bo_start_val[dst] = bo_start_val[src];
/*
+2 -2
View File
@@ -81,7 +81,7 @@ create_bo(uint32_t devid)
linear[i] = val++;
drm_intel_bo_unmap(linear_bo);
intel_copy_bo(batch, bo, linear_bo, width, height, devid);
intel_copy_bo(batch, bo, linear_bo, width, height);
drm_intel_bo_unreference(linear_bo);
@@ -133,7 +133,7 @@ main(int argc, char **argv)
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
bo = create_bo(devid);