diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-04-02 22:54:15 -0600 |
|---|---|---|
| committer | Chia-I Wu <olv@lunarg.com> | 2015-04-16 17:33:28 +0800 |
| commit | 0b42558ebe4b3ebf39e377aba0c5aeb8177048df (patch) | |
| tree | 1bf5a2e78f0eca9b3751c4543b539b2d1a23c9fc | |
| parent | 914ce7c69581911241be373f8b7a930d0da73718 (diff) | |
| download | usermoji-0b42558ebe4b3ebf39e377aba0c5aeb8177048df.tar.xz | |
layers: Fixes to get them building and working with descriptor changes
| -rw-r--r-- | layers/mem_tracker.cpp | 17 | ||||
| -rw-r--r-- | layers/object_track.h | 9 | ||||
| -rwxr-xr-x | xgl_helper.py | 4 |
3 files changed, 20 insertions, 10 deletions
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 5c44f9d3..6bd2b77b 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1406,11 +1406,18 @@ XGL_LAYER_EXPORT void XGLAPI xglCmdBindDynamicStateObject(XGL_CMD_BUFFER cmdBuff nextTable.CmdBindDynamicStateObject(cmdBuffer, stateBindPoint, state); } -XGL_LAYER_EXPORT void XGLAPI xglCmdBindDescriptorSet(XGL_CMD_BUFFER cmdBuffer, XGL_PIPELINE_BIND_POINT pipelineBindPoint, - XGL_DESCRIPTOR_SET descriptorSet, const uint32_t* pUserData) +XGL_LAYER_EXPORT void XGLAPI xglCmdBindDescriptorSets( + XGL_CMD_BUFFER cmdBuffer, + XGL_PIPELINE_BIND_POINT pipelineBindPoint, + XGL_DESCRIPTOR_SET_LAYOUT_CHAIN layoutChain, + uint32_t layoutChainSlot, + uint32_t count, + const XGL_DESCRIPTOR_SET* pDescriptorSets, + const uint32_t* pUserData) { + // TODO : Somewhere need to verify that all textures referenced by shaders in DS are in some type of *SHADER_READ* state - nextTable.CmdBindDescriptorSet(cmdBuffer, pipelineBindPoint, descriptorSet, pUserData); + nextTable.CmdBindDescriptorSets(cmdBuffer, pipelineBindPoint, layoutChain, layoutChainSlot, count, pDescriptorSets, pUserData); } XGL_LAYER_EXPORT void XGLAPI xglCmdBindVertexBuffer(XGL_CMD_BUFFER cmdBuffer, XGL_BUFFER buffer, XGL_GPU_SIZE offset, uint32_t binding) @@ -1870,8 +1877,8 @@ XGL_LAYER_EXPORT void* XGLAPI xglGetProcAddr(XGL_PHYSICAL_GPU gpu, const char* f return (void*) xglCmdBindPipeline; if (!strcmp(funcName, "xglCmdBindDynamicStateObject")) return (void*) xglCmdBindDynamicStateObject; - if (!strcmp(funcName, "xglCmdBindDescriptorSet")) - return (void*) xglCmdBindDescriptorSet; + if (!strcmp(funcName, "xglCmdBindDescriptorSets")) + return (void*) xglCmdBindDescriptorSets; if (!strcmp(funcName, "xglCmdBindVertexBuffer")) return (void*) xglCmdBindVertexBuffer; if (!strcmp(funcName, "xglCmdBindIndexBuffer")) diff --git a/layers/object_track.h b/layers/object_track.h index af6be9b0..65e1fef6 100644 --- a/layers/object_track.h +++ b/layers/object_track.h @@ -61,12 +61,13 @@ typedef enum _XGL_OBJECT_TYPE XGL_OBJECT_TYPE_SAMPLER, XGL_OBJECT_TYPE_DYNAMIC_DS_STATE_OBJECT, XGL_OBJECT_TYPE_DESCRIPTOR_SET, - XGL_OBJECT_TYPE_DESCRIPTOR_REGION, + XGL_OBJECT_TYPE_DESCRIPTOR_POOL, XGL_OBJECT_TYPE_DYNAMIC_CB_STATE_OBJECT, XGL_OBJECT_TYPE_IMAGE_VIEW, XGL_OBJECT_TYPE_SEMAPHORE, XGL_OBJECT_TYPE_SHADER, XGL_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT, + XGL_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_CHAIN, XGL_OBJECT_TYPE_BUFFER, XGL_OBJECT_TYPE_PIPELINE, XGL_OBJECT_TYPE_DEVICE, @@ -105,6 +106,8 @@ static const char* string_XGL_OBJECT_TYPE(XGL_OBJECT_TYPE type) { return "FENCE"; case XGL_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT: return "DESCRIPTOR_SET_LAYOUT"; + case XGL_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_CHAIN: + return "DESCRIPTOR_SET_LAYOUT_CHAIN"; case XGL_OBJECT_TYPE_GPU_MEMORY: return "GPU_MEMORY"; case XGL_OBJECT_TYPE_QUEUE: @@ -153,8 +156,8 @@ static const char* string_XGL_OBJECT_TYPE(XGL_OBJECT_TYPE type) { return "RENDER_PASS"; case XGL_OBJECT_TYPE_QUERY_POOL: return "QUERY_POOL"; - case XGL_OBJECT_TYPE_DESCRIPTOR_REGION: - return "DESCRIPTOR_REGION"; + case XGL_OBJECT_TYPE_DESCRIPTOR_POOL: + return "DESCRIPTOR_POOL"; case XGL_OBJECT_TYPE_PRESENTABLE_IMAGE_MEMORY: return "PRESENTABLE_IMAGE_MEMORY"; default: diff --git a/xgl_helper.py b/xgl_helper.py index 9a52e339..397d43c7 100755 --- a/xgl_helper.py +++ b/xgl_helper.py @@ -642,7 +642,7 @@ class StructWrapperGen: else: if stp_list[index]['name'] in ['pImageViews', 'pBufferViews']: # TODO : This is a quick hack to handle these arrays of ptrs - sh_funcs.append(' tmpStr = %s(pStruct->%s[0], extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name'])) + sh_funcs.append(' tmpStr = %s(&pStruct->%s[0], extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name'])) else: sh_funcs.append(' tmpStr = %s(pStruct->%s, extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name'])) sh_funcs.append(' len = 256+strlen(tmpStr)+strlen(prefix);') @@ -782,7 +782,7 @@ class StructWrapperGen: else: if stp_list[index]['name'] in ['pImageViews', 'pBufferViews']: # TODO : This is a quick hack to handle these arrays of ptrs - sh_funcs.append(' tmp_str = %s(pStruct->%s[0], extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name'])) + sh_funcs.append(' tmp_str = %s(&pStruct->%s[0], extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name'])) else: sh_funcs.append(' tmp_str = %s(pStruct->%s, extra_indent);' % (self._get_sh_func_name(stp_list[index]['type']), stp_list[index]['name'])) sh_funcs.append(' ss[%u] << %spStruct->%s;' % (index, addr_char, stp_list[index]['name'])) |
