xgl: Enable new mem ref functions
v2: remove a stale comment in the sample driver (olv)
diff --git a/demos/cube.c b/demos/cube.c
index 91751c3..e8f174c 100644
--- a/demos/cube.c
+++ b/demos/cube.c
@@ -243,8 +243,6 @@
} uniform_data;
XGL_CMD_BUFFER cmd; // Buffer for initialization commands
- XGL_MEMORY_REF mem_refs[16];
- int num_refs;
XGL_DESCRIPTOR_SET_LAYOUT_CHAIN desc_layout_chain;
XGL_DESCRIPTOR_SET_LAYOUT desc_layout;
XGL_PIPELINE pipeline;
@@ -284,8 +282,7 @@
const XGL_CMD_BUFFER cmd_bufs[] = { demo->cmd };
- err = xglQueueSubmit(demo->queue, 1, cmd_bufs,
- demo->num_refs, demo->mem_refs, XGL_NULL_HANDLE);
+ err = xglQueueSubmit(demo->queue, 1, cmd_bufs, XGL_NULL_HANDLE);
assert(!err);
err = xglQueueWaitIdle(demo->queue);
@@ -293,19 +290,13 @@
xglDestroyObject(demo->cmd);
demo->cmd = XGL_NULL_HANDLE;
- demo->num_refs = 0;
}
static void demo_add_mem_refs(
struct demo *demo,
- XGL_MEMORY_REF_FLAGS flags,
int num_refs, XGL_GPU_MEMORY *mem)
{
for (int i = 0; i < num_refs; i++) {
- demo->mem_refs[demo->num_refs].flags = flags;
- demo->mem_refs[demo->num_refs].mem = mem[i];
- demo->num_refs++;
- assert(demo->num_refs < 16);
xglQueueAddMemReference(demo->queue, mem[i]);
}
}
@@ -526,30 +517,8 @@
err = xglWaitForFences(demo->device, 1, &fence, XGL_TRUE, ~((uint64_t) 0));
assert(err == XGL_SUCCESS || err == XGL_ERROR_UNAVAILABLE);
- uint32_t i, idx = 0;
- XGL_MEMORY_REF *memRefs;
- memRefs = malloc(sizeof(XGL_MEMORY_REF) * (DEMO_BUFFER_COUNT +
- demo->depth.num_mem +
- demo->textures[0].num_mem +
- demo->uniform_data.num_mem));
- for (i = 0; i < demo->depth.num_mem; i++, idx++) {
- memRefs[idx].mem = demo->depth.mem[i];
- memRefs[idx].flags = 0;
- }
- for (i = 0; i < demo->textures[0].num_mem; i++, idx++) {
- memRefs[idx].mem = demo->textures[0].mem[i];
- memRefs[idx].flags = 0;
- }
- memRefs[idx].mem = demo->buffers[0].mem;
- memRefs[idx++].flags = 0;
- memRefs[idx].mem = demo->buffers[1].mem;
- memRefs[idx++].flags = 0;
- for (i = 0; i < demo->uniform_data.num_mem; i++, idx++) {
- memRefs[idx].mem = demo->uniform_data.mem[i];
- memRefs[idx].flags = 0;
- }
err = xglQueueSubmit(demo->queue, 1, &demo->buffers[demo->current_buffer].cmd,
- idx, memRefs, XGL_NULL_HANDLE);
+ XGL_NULL_HANDLE);
assert(!err);
err = xglWsiX11QueuePresent(demo->queue, &present, fence);
@@ -591,7 +560,7 @@
&demo->buffers[i].image, &demo->buffers[i].mem);
assert(!err);
- demo_add_mem_refs(demo, XGL_MEMORY_REF_READ_ONLY_BIT, 1, &demo->buffers[i].mem);
+ demo_add_mem_refs(demo, 1, &demo->buffers[i].mem);
demo_set_image_layout(demo, demo->buffers[i].image,
XGL_IMAGE_LAYOUT_UNDEFINED,
@@ -695,7 +664,7 @@
XGL_IMAGE_LAYOUT_UNDEFINED,
XGL_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
- demo_add_mem_refs(demo, XGL_MEMORY_REF_READ_ONLY_BIT, num_allocations, demo->depth.mem);
+ demo_add_mem_refs(demo, demo->depth.num_mem, demo->depth.mem);
/* create image view */
view.image = demo->depth.image;
@@ -1056,8 +1025,8 @@
demo->textures[i].image, XGL_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
1, ©_region);
- demo_add_mem_refs(demo, XGL_MEMORY_REF_READ_ONLY_BIT, staging_texture.num_mem, staging_texture.mem);
- demo_add_mem_refs(demo, 0, demo->textures[i].num_mem, demo->textures[i].mem);
+ demo_add_mem_refs(demo, staging_texture.num_mem, staging_texture.mem);
+ demo_add_mem_refs(demo, demo->textures[i].num_mem, demo->textures[i].mem);
demo_set_image_layout(demo, demo->textures[i].image,
XGL_IMAGE_LAYOUT_TRANSFER_DESTINATION_OPTIMAL,
@@ -1201,7 +1170,7 @@
demo->uniform_data.mem[i], 0);
assert(!err);
}
- demo_add_mem_refs(demo, XGL_MEMORY_REF_READ_ONLY_BIT, demo->uniform_data.num_mem, demo->uniform_data.mem);
+ demo_add_mem_refs(demo, demo->uniform_data.num_mem, demo->uniform_data.mem);
memset(&view_info, 0, sizeof(view_info));
view_info.sType = XGL_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;