diff options
| author | Jon Ashburn <jon@lunarg.com> | 2015-01-15 10:39:19 -0700 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-02-04 17:58:09 -0700 |
| commit | 885ebd5ce46c6baa9acbe5b1cd38daf0913ea720 (patch) | |
| tree | 2583ef6fc081da8bd9c2b95cae026eaacd4c9e4b | |
| parent | b759a2eeb57b70110b80533e211928b45f925b30 (diff) | |
| download | usermoji-885ebd5ce46c6baa9acbe5b1cd38daf0913ea720.tar.xz | |
memory alloc: Add allocation index to BindObjectMemory
For now it is always index 0. Updates, driver, glave, tests, demos, include,
and layers.
| -rw-r--r-- | demos/cube.c | 6 | ||||
| -rw-r--r-- | demos/tri.c | 12 | ||||
| -rw-r--r-- | include/xgl.h | 9 | ||||
| -rw-r--r-- | layers/draw_state.c | 4 | ||||
| -rw-r--r-- | layers/mem_tracker.c | 4 | ||||
| -rw-r--r-- | xgl.py | 3 |
6 files changed, 22 insertions, 16 deletions
diff --git a/demos/cube.c b/demos/cube.c index ad3ba5da..d6dec16c 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -507,7 +507,7 @@ static void demo_prepare_depth(struct demo *demo) assert(!err); /* bind memory */ - err = xglBindObjectMemory(demo->depth.image, + err = xglBindObjectMemory(demo->depth.image, 0, demo->depth.mem, 0); assert(!err); @@ -762,7 +762,7 @@ static void demo_prepare_textures(struct demo *demo) assert(!err); /* bind memory */ - err = xglBindObjectMemory(demo->textures[i].image, + err = xglBindObjectMemory(demo->textures[i].image, 0, demo->textures[i].mem, 0); assert(!err); @@ -860,7 +860,7 @@ void demo_prepare_cube_data_buffer(struct demo *demo) err = xglUnmapMemory(demo->uniform_data.mem); assert(!err); - err = xglBindObjectMemory(demo->uniform_data.buf, + err = xglBindObjectMemory(demo->uniform_data.buf, 0, demo->uniform_data.mem, 0); assert(!err); diff --git a/demos/tri.c b/demos/tri.c index ee085dcb..5c16e53d 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -318,7 +318,7 @@ static void demo_prepare_depth(struct demo *demo) assert(!err); /* bind memory */ - err = xglBindObjectMemory(demo->depth.image, + err = xglBindObjectMemory(demo->depth.image, 0, demo->depth.mem, 0); assert(!err); @@ -424,7 +424,7 @@ static void demo_prepare_textures(struct demo *demo) assert(!err); /* bind memory */ - err = xglBindObjectMemory(demo->textures[i].image, + err = xglBindObjectMemory(demo->textures[i].image, 0, demo->textures[i].mem, 0); assert(!err); @@ -521,7 +521,7 @@ static void demo_prepare_vertices(struct demo *demo) err = xglUnmapMemory(demo->vertices.mem); assert(!err); - err = xglBindObjectMemory(demo->vertices.buf, demo->vertices.mem, 0); + err = xglBindObjectMemory(demo->vertices.buf, 0, demo->vertices.mem, 0); assert(!err); demo->vertices.vi.sType = XGL_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_CREATE_INFO; @@ -1037,20 +1037,20 @@ static void demo_cleanup(struct demo *demo) xglDestroyObject(demo->pipeline); xglDestroyObject(demo->desc_layout); - xglBindObjectMemory(demo->vertices.buf, XGL_NULL_HANDLE, 0); + xglBindObjectMemory(demo->vertices.buf, 0, XGL_NULL_HANDLE, 0); xglDestroyObject(demo->vertices.buf); xglFreeMemory(demo->vertices.mem); for (i = 0; i < DEMO_TEXTURE_COUNT; i++) { xglDestroyObject(demo->textures[i].view); - xglBindObjectMemory(demo->textures[i].image, XGL_NULL_HANDLE, 0); + xglBindObjectMemory(demo->textures[i].image, 0, XGL_NULL_HANDLE, 0); xglDestroyObject(demo->textures[i].image); xglFreeMemory(demo->textures[i].mem); xglDestroyObject(demo->textures[i].sampler); } xglDestroyObject(demo->depth.view); - xglBindObjectMemory(demo->depth.image, XGL_NULL_HANDLE, 0); + xglBindObjectMemory(demo->depth.image, 0, XGL_NULL_HANDLE, 0); xglDestroyObject(demo->depth.image); xglFreeMemory(demo->depth.mem); diff --git a/include/xgl.h b/include/xgl.h index c243b68a..f9e794be 100644 --- a/include/xgl.h +++ b/include/xgl.h @@ -2045,9 +2045,9 @@ typedef XGL_RESULT (XGLAPI *xglOpenPeerMemoryType)(XGL_DEVICE device, const XGL_ typedef XGL_RESULT (XGLAPI *xglOpenPeerImageType)(XGL_DEVICE device, const XGL_PEER_IMAGE_OPEN_INFO* pOpenInfo, XGL_IMAGE* pImage, XGL_GPU_MEMORY* pMem); typedef XGL_RESULT (XGLAPI *xglDestroyObjectType)(XGL_OBJECT object); typedef XGL_RESULT (XGLAPI *xglGetObjectInfoType)(XGL_BASE_OBJECT object, XGL_OBJECT_INFO_TYPE infoType, XGL_SIZE* pDataSize, XGL_VOID* pData); -typedef XGL_RESULT (XGLAPI *xglBindObjectMemoryType)(XGL_OBJECT object, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); -typedef XGL_RESULT (XGLAPI *xglBindObjectMemoryRangeType)(XGL_OBJECT object, XGL_GPU_SIZE rangeOffset, XGL_GPU_SIZE rangeSize, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); -typedef XGL_RESULT (XGLAPI *xglBindImageMemoryRangeType)(XGL_IMAGE image, const XGL_IMAGE_MEMORY_BIND_INFO* bindInfo, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); +typedef XGL_RESULT (XGLAPI *xglBindObjectMemoryType)(XGL_OBJECT object, XGL_UINT allocationIdx, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); +typedef XGL_RESULT (XGLAPI *xglBindObjectMemoryRangeType)(XGL_OBJECT object, XGL_UINT allocationIdx, XGL_GPU_SIZE rangeOffset, XGL_GPU_SIZE rangeSize, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); +typedef XGL_RESULT (XGLAPI *xglBindImageMemoryRangeType)(XGL_IMAGE image, XGL_UINT allocationIdx, const XGL_IMAGE_MEMORY_BIND_INFO* bindInfo, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); typedef XGL_RESULT (XGLAPI *xglCreateFenceType)(XGL_DEVICE device, const XGL_FENCE_CREATE_INFO* pCreateInfo, XGL_FENCE* pFence); typedef XGL_RESULT (XGLAPI *xglGetFenceStatusType)(XGL_FENCE fence); typedef XGL_RESULT (XGLAPI *xglWaitForFencesType)(XGL_DEVICE device, XGL_UINT fenceCount, const XGL_FENCE* pFences, XGL_BOOL waitAll, XGL_UINT64 timeout); @@ -2271,11 +2271,13 @@ XGL_RESULT XGLAPI xglGetObjectInfo( XGL_RESULT XGLAPI xglBindObjectMemory( XGL_OBJECT object, + XGL_UINT allocationIdx, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); XGL_RESULT XGLAPI xglBindObjectMemoryRange( XGL_OBJECT object, + XGL_UINT allocationIdx, XGL_GPU_SIZE rangeOffset, XGL_GPU_SIZE rangeSize, XGL_GPU_MEMORY mem, @@ -2283,6 +2285,7 @@ XGL_RESULT XGLAPI xglBindObjectMemoryRange( XGL_RESULT XGLAPI xglBindImageMemoryRange( XGL_IMAGE image, + XGL_UINT allocationIdx, const XGL_IMAGE_MEMORY_BIND_INFO* bindInfo, XGL_GPU_MEMORY mem, XGL_GPU_SIZE memOffset); diff --git a/layers/draw_state.c b/layers/draw_state.c index 4f936ce6..b871de48 100644 --- a/layers/draw_state.c +++ b/layers/draw_state.c @@ -1125,9 +1125,9 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglGetObjectInfo(XGL_BASE_OBJECT object, XGL_ return result; } -XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglBindObjectMemory(XGL_OBJECT object, XGL_GPU_MEMORY mem, XGL_GPU_SIZE offset) +XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglBindObjectMemory(XGL_OBJECT object, XGL_UINT allocationIdx, XGL_GPU_MEMORY mem, XGL_GPU_SIZE offset) { - XGL_RESULT result = nextTable.BindObjectMemory(object, mem, offset); + XGL_RESULT result = nextTable.BindObjectMemory(object, allocationIdx, mem, offset); return result; } diff --git a/layers/mem_tracker.c b/layers/mem_tracker.c index d43ff536..3da0b438 100644 --- a/layers/mem_tracker.c +++ b/layers/mem_tracker.c @@ -1243,9 +1243,9 @@ XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglGetObjectInfo(XGL_BASE_OBJECT object, XGL_ return result; } -XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglBindObjectMemory(XGL_OBJECT object, XGL_GPU_MEMORY mem, XGL_GPU_SIZE offset) +XGL_LAYER_EXPORT XGL_RESULT XGLAPI xglBindObjectMemory(XGL_OBJECT object, XGL_UINT allocationIdx, XGL_GPU_MEMORY mem, XGL_GPU_SIZE offset) { - XGL_RESULT result = nextTable.BindObjectMemory(object, mem, offset); + XGL_RESULT result = nextTable.BindObjectMemory(object, allocationIdx, mem, offset); // Track objects tied to memory if (XGL_FALSE == updateObjectBinding(object, mem)) { char str[1024]; @@ -341,11 +341,13 @@ core = Extension( Proto("XGL_RESULT", "BindObjectMemory", [Param("XGL_OBJECT", "object"), + Param("XGL_UINT", "allocationIdx"), Param("XGL_GPU_MEMORY", "mem"), Param("XGL_GPU_SIZE", "memOffset")]), Proto("XGL_RESULT", "BindObjectMemoryRange", [Param("XGL_OBJECT", "object"), + Param("XGL_UINT", "allocationIdx"), Param("XGL_GPU_SIZE", "rangeOffset"), Param("XGL_GPU_SIZE", "rangeSize"), Param("XGL_GPU_MEMORY", "mem"), @@ -353,6 +355,7 @@ core = Extension( Proto("XGL_RESULT", "BindImageMemoryRange", [Param("XGL_IMAGE", "image"), + Param("XGL_UINT", "allocationIdx"), Param("const XGL_IMAGE_MEMORY_BIND_INFO*", "bindInfo"), Param("XGL_GPU_MEMORY", "mem"), Param("XGL_GPU_SIZE", "memOffset")]), |
