From 192b10130c346d1a713ad4e8ea71282b118c7b69 Mon Sep 17 00:00:00 2001 From: Jeannot Breton Date: Mon, 21 Dec 2015 16:42:32 -0600 Subject: [PATCH] We need to allocate memory before we can create a buffer view --- .../vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp | 6 +++--- external/vulkancts/modules/vulkan/memory/vktMemoryMappingTests.cpp | 4 ++-- .../modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp | 2 +- .../modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp index 3c49bd8..f126067 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiBufferViewCreateTests.cpp @@ -161,15 +161,15 @@ tcu::TestStatus BufferViewTestInstance::iterate (void) 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); } diff --git a/external/vulkancts/modules/vulkan/memory/vktMemoryMappingTests.cpp b/external/vulkancts/modules/vulkan/memory/vktMemoryMappingTests.cpp index 22e8fa2..a7f7c6f 100644 --- a/external/vulkancts/modules/vulkan/memory/vktMemoryMappingTests.cpp +++ b/external/vulkancts/modules/vulkan/memory/vktMemoryMappingTests.cpp @@ -484,7 +484,7 @@ void MemoryObject::randomFlush (const DeviceInterface& vkd, VkDevice device, de: 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) @@ -494,7 +494,7 @@ void MemoryObject::randomInvalidate (const DeviceInterface& vkd, VkDevice device 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 diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp index 8bb83e5..a317fa0 100644 --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp @@ -186,7 +186,7 @@ Move createComputePipeline (const DeviceInterface& vkdi, const VkDev if (numSpecConstants != 0) { - entries.reserve(numSpecConstants); + entries.resize(numSpecConstants); for (deUint32 ndx = 0; ndx < numSpecConstants; ++ndx) { diff --git a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp index 8db1395..c5263e6 100644 --- a/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp +++ b/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp @@ -4659,7 +4659,7 @@ TestStatus runAndVerifyDefaultPipeline (Context& context, InstanceContext instan vector 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) -- 2.7.4