aboutsummaryrefslogtreecommitdiff
path: root/layers
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2015-11-17 12:42:57 -0700
committerMark Lobodzinski <mark@lunarg.com>2015-11-17 12:47:25 -0700
commit462bd043ab02a4cac8664dabd813210c2f9b1cc4 (patch)
tree282574fbcf815897edea89a24d113116fa03de7d /layers
parenta45b31914de64d9c37faec3fe5ff115ee8d4b13c (diff)
downloadusermoji-462bd043ab02a4cac8664dabd813210c2f9b1cc4.tar.xz
layers: Fix Dota 2 crash in draw_state layer
Memsetting STL vectors again -- added default constructor to struct.
Diffstat (limited to 'layers')
-rw-r--r--layers/draw_state.cpp1
-rwxr-xr-xlayers/draw_state.h3
2 files changed, 3 insertions, 1 deletions
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index a5b42bdc..57307502 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -2124,7 +2124,6 @@ VK_LAYER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDev
"Out of memory while attempting to allocate LAYOUT_NODE in vkCreateDescriptorSetLayout()"))
return VK_ERROR_VALIDATION_FAILED;
}
- memset(pNewNode, 0, sizeof(LAYOUT_NODE));
memcpy((void*)&pNewNode->createInfo, pCreateInfo, sizeof(VkDescriptorSetLayoutCreateInfo));
pNewNode->createInfo.pBinding = new VkDescriptorSetLayoutBinding[pCreateInfo->bindingCount];
memcpy((void*)pNewNode->createInfo.pBinding, pCreateInfo->pBinding, sizeof(VkDescriptorSetLayoutBinding)*pCreateInfo->bindingCount);
diff --git a/layers/draw_state.h b/layers/draw_state.h
index db05bacd..a1fd1d35 100755
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -170,7 +170,10 @@ typedef struct _LAYOUT_NODE {
vector<VkDescriptorType> descriptorTypes; // Type per descriptor in this layout to verify correct updates
vector<VkShaderStageFlags> stageFlags; // stageFlags per descriptor in this layout to verify correct updates
unordered_set<uint32_t> bindings;
+ // Default constructor
+ _LAYOUT_NODE():layout{},createInfo{},startIndex(0),endIndex(0),dynamicDescriptorCount(0) {};
} LAYOUT_NODE;
+
// Store layouts and pushconstants for PipelineLayout
struct PIPELINE_LAYOUT_NODE {
vector<VkDescriptorSetLayout> descriptorSetLayouts;