m_testCase.range, // VkDeviceSize range;
};
- if (vk.createBufferView(vkDevice, &bufferViewCreateInfo, (const VkAllocationCallbacks*)DE_NULL, &bufferView) != VK_SUCCESS)
- return tcu::TestStatus::fail("Buffer View creation failed!");
-
if (vk.allocateMemory(vkDevice, &memAlloc, (const VkAllocationCallbacks*)DE_NULL, &memory) != VK_SUCCESS)
return tcu::TestStatus::fail("Alloc memory failed!");
if (vk.bindBufferMemory(vkDevice, testBuffer, memory, 0) != VK_SUCCESS)
return tcu::TestStatus::fail("Bind buffer memory failed!");
+ if (vk.createBufferView(vkDevice, &bufferViewCreateInfo, (const VkAllocationCallbacks*)DE_NULL, &bufferView) != VK_SUCCESS)
+ return tcu::TestStatus::fail("Buffer View creation failed!");
+
vk.destroyBufferView(vkDevice, bufferView, (const VkAllocationCallbacks*)DE_NULL);
}
randomRanges(rng, ranges, rangeCount, *m_memory, m_size);
- VK_CHECK(vkd.flushMappedMemoryRanges(device, (deUint32)ranges.size(), &ranges[0]));
+ VK_CHECK(vkd.flushMappedMemoryRanges(device, (deUint32)ranges.size(), ranges.empty() ? DE_NULL : &ranges[0]));
}
void MemoryObject::randomInvalidate (const DeviceInterface& vkd, VkDevice device, de::Random& rng)
randomRanges(rng, ranges, rangeCount, *m_memory, m_size);
- VK_CHECK(vkd.invalidateMappedMemoryRanges(device, (deUint32)ranges.size(), &ranges[0]));
+ VK_CHECK(vkd.invalidateMappedMemoryRanges(device, (deUint32)ranges.size(), ranges.empty() ? DE_NULL : &ranges[0]));
}
enum
if (numSpecConstants != 0)
{
- entries.reserve(numSpecConstants);
+ entries.resize(numSpecConstants);
for (deUint32 ndx = 0; ndx < numSpecConstants; ++ndx)
{
vector<VkSpecializationMapEntry> entries;
VkSpecializationInfo specInfo;
- entries.reserve(numSpecConstants);
+ entries.resize(numSpecConstants);
// Only support 32-bit integers as spec constants now. And their constant IDs are numbered sequentially starting from 0.
for (size_t ndx = 0; ndx < numSpecConstants; ++ndx)