aboutsummaryrefslogtreecommitdiff
path: root/layers
diff options
context:
space:
mode:
authorTobin Ehlis <tobin@lunarg.com>2015-06-23 10:52:08 -0600
committerTobin Ehlis <tobin@lunarg.com>2015-06-25 08:37:13 -0600
commit46c90248a677f09c2124aa45614113cf09f2cf08 (patch)
treeb6a703b18819c1b52a85a61ae08e8d841142e9e0 /layers
parenta462251e1c3d11e474da48d13ce57b582775f03c (diff)
downloadusermoji-46c90248a677f09c2124aa45614113cf09f2cf08.tar.xz
layers: Correctly set Object Type for Dynamic State when flagging error
Diffstat (limited to 'layers')
-rw-r--r--layers/draw_state.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index 5e4956e8..3d6cccf8 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -2155,7 +2155,24 @@ VK_LAYER_EXPORT void VKAPI vkCmdBindDynamicStateObject(VkCmdBuffer cmdBuffer, Vk
set_cb_dyn_status(pCB, stateBindPoint);
addCmd(pCB, CMD_BINDDYNAMICSTATEOBJECT);
if (dynamicStateMap.find(state) == dynamicStateMap.end()) {
- log_msg(mdd(cmdBuffer), VK_DBG_REPORT_ERROR_BIT, (VkObjectType) 0, state, 0, DRAWSTATE_INVALID_DYNAMIC_STATE_OBJECT, "DS",
+ VkObjectType stateType;
+ switch (stateBindPoint) {
+ case VK_STATE_BIND_POINT_VIEWPORT:
+ stateType = VK_OBJECT_TYPE_DYNAMIC_VP_STATE;
+ break;
+ case VK_STATE_BIND_POINT_RASTER:
+ stateType = VK_OBJECT_TYPE_DYNAMIC_RS_STATE;
+ break;
+ case VK_STATE_BIND_POINT_COLOR_BLEND:
+ stateType = VK_OBJECT_TYPE_DYNAMIC_CB_STATE;
+ break;
+ case VK_STATE_BIND_POINT_DEPTH_STENCIL:
+ stateType = VK_OBJECT_TYPE_DYNAMIC_DS_STATE;
+ break;
+ default:
+ stateType = (VkObjectType) 0;
+ }
+ log_msg(mdd(cmdBuffer), VK_DBG_REPORT_ERROR_BIT, stateType, state, 0, DRAWSTATE_INVALID_DYNAMIC_STATE_OBJECT, "DS",
"Unable to find dynamic state object %p, was it ever created?", (void*)state);
} else {
pCB->lastBoundDynamicState[stateBindPoint] = dynamicStateMap[state];