From c4efde2512c636355f883e6ef3fbf7575a5f8d8a Mon Sep 17 00:00:00 2001 From: Kristof Kosztyo Date: Mon, 11 Jan 2016 11:31:58 +0100 Subject: [PATCH] Limit the maximum buffer size in the buffer creation tests --- external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp b/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp index 8ccff93..b4890ae 100644 --- a/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp +++ b/external/vulkancts/modules/vulkan/api/vktApiBufferTests.cpp @@ -39,6 +39,7 @@ #include "gluVarType.hpp" #include "tcuTestLog.hpp" #include "vkPrograms.hpp" +#include "vkQueryUtil.hpp" #include "vktTestCase.hpp" namespace vkt @@ -230,13 +231,16 @@ tcu::TestStatus BufferTestInstance::iterate (void) if (m_testCase.usage & (VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT | VK_BUFFER_USAGE_STORAGE_BUFFER_BIT)) { - const VkPhysicalDevice vkPhysicalDevice = m_context.getPhysicalDevice(); - const InstanceInterface& vkInstance = m_context.getInstanceInterface(); + const VkPhysicalDevice vkPhysicalDevice = m_context.getPhysicalDevice(); + const InstanceInterface& vkInstance = m_context.getInstanceInterface(); + const VkPhysicalDeviceMemoryProperties memoryProperties = getPhysicalDeviceMemoryProperties(vkInstance, vkPhysicalDevice); VkPhysicalDeviceProperties props; vkInstance.getPhysicalDeviceProperties(vkPhysicalDevice, &props); - testStatus = bufferCreateAndAllocTest(props.limits.maxTexelBufferElements); + const VkDeviceSize maxTestBufferSize = de::min((VkDeviceSize) props.limits.maxTexelBufferElements, memoryProperties.memoryHeaps[0].size / 16); + + testStatus = bufferCreateAndAllocTest(maxTestBufferSize); } return testStatus; -- 2.7.4