From 5826c02791b3d412cce4e63f81820b17c4e95686 Mon Sep 17 00:00:00 2001 From: Tobin Ehlis Date: Thu, 27 Nov 2014 07:53:59 -0700 Subject: demos: Update tri to include mem refs and properly clear mem bindings prior to object deletion. --- demos/tri.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/demos/tri.c b/demos/tri.c index 45bc4a98..a3f32ea0 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -153,8 +153,17 @@ static void demo_draw(struct demo *demo) err = xglWaitForFences(demo->device, 1, &fence, XGL_TRUE, ~((XGL_UINT64) 0)); assert(err == XGL_SUCCESS || err == XGL_ERROR_UNAVAILABLE); + XGL_MEMORY_REF memRefs[4]; + memRefs[0].mem = demo->depth.mem; + memRefs[0].flags = 0; + memRefs[1].mem = demo->textures[0].mem; + memRefs[1].flags = 0; + memRefs[2].mem = demo->buffers[0].mem; + memRefs[2].flags = 0; + memRefs[3].mem = demo->buffers[1].mem; + memRefs[3].flags = 0; err = xglQueueSubmit(demo->queue, 1, &demo->cmd, - 0, NULL, XGL_NULL_HANDLE); + 4, memRefs, XGL_NULL_HANDLE); assert(!err); err = xglWsiX11QueuePresent(demo->queue, &present, fence); @@ -903,12 +912,14 @@ static void demo_cleanup(struct demo *demo) for (i = 0; i < DEMO_TEXTURE_COUNT; i++) { xglDestroyObject(demo->textures[i].view); + xglBindObjectMemory(demo->textures[i].image, 0, XGL_NULL_HANDLE); xglDestroyObject(demo->textures[i].image); xglFreeMemory(demo->textures[i].mem); xglDestroyObject(demo->textures[i].sampler); } xglDestroyObject(demo->depth.view); + xglBindObjectMemory(demo->depth.image, 0, XGL_NULL_HANDLE); xglDestroyObject(demo->depth.image); xglFreeMemory(demo->depth.mem); -- cgit v1.2.3