Lines Matching defs:const

92 void checkAllSupported (const Extensions& supportedExtensions, const vector<string>& requiredExtensions)
104 const Extensions& supportedExtensions,
106 const vector<string> extraExtensions,
107 const VkAllocationCallbacks* pAllocator = DE_NULL)
141 Move<VkDevice> createDeviceWithWsi (const PlatformInterface& vkp,
144 const InstanceInterface& vki,
146 const Extensions& supportedExtensions,
147 const vector<string>& additionalExtensions,
148 const vector<deUint32>& queueFamilyIndices,
150 const VkAllocationCallbacks* pAllocator = DE_NULL)
152 const float queuePriorities[] = { 1.0f };
155 for (const auto familyIndex : queueFamilyIndices)
157 const VkDeviceQueueCreateInfo info =
174 for (const auto& extName : extensions)
180 const void * pNext = nullptr;
181 const VkPhysicalDeviceFeatures features = getDeviceFeaturesForWsi();
194 // Convert from std::vector<std::string> to std::vector<const char*>.
195 std::vector<const char*> extensionsChar;
197 std::transform(begin(extensions), end(extensions), std::back_inserter(extensionsChar), [](const std::string& s) { return s.c_str(); });
199 const VkDeviceCreateInfo deviceParams =
216 Move<VkDevice> createDeviceWithWsi (const PlatformInterface& vkp,
219 const InstanceInterface& vki,
221 const Extensions& supportedExtensions,
222 const vector<string>& additionalExtensions,
223 const deUint32 queueFamilyIndex,
225 const VkAllocationCallbacks* pAllocator = DE_NULL)
232 const vector<VkExtensionProperties> supportedExtensions;
233 const CustomInstance instance;
234 const InstanceDriver& vki;
236 InstanceHelper (Context& context, Type wsiType, const VkAllocationCallbacks* pAllocator = DE_NULL)
247 InstanceHelper (Context& context, Type wsiType, const vector<string>& extensions, const VkAllocationCallbacks* pAllocator = DE_NULL)
261 const VkPhysicalDevice physicalDevice;
262 const deUint32 queueFamilyIndex;
263 const Unique<VkDevice> device;
264 const DeviceDriver vkd;
265 const VkQueue queue;
268 const InstanceInterface& vki,
270 const vector<VkSurfaceKHR>& surface,
271 const vector<string>& additionalExtensions = vector<string>(),
272 const VkAllocationCallbacks* pAllocator = DE_NULL)
292 const InstanceInterface& vki,
295 const vector<string>& additionalExtensions = vector<string>(),
296 const VkAllocationCallbacks* pAllocator = DE_NULL)
305 const VkPhysicalDevice physicalDevice;
306 const vector<deUint32> queueFamilyIndices;
307 const Unique<VkDevice> device;
308 const DeviceDriver vkd;
311 const InstanceInterface& vki,
313 const vector<VkSurfaceKHR>& surface,
314 const vector<string>& additionalExtensions = vector<string>(),
315 const VkAllocationCallbacks* pAllocator = DE_NULL)
334 const InstanceInterface& vki,
337 const vector<string> additionalExtensions = vector<string>(),
338 const VkAllocationCallbacks* pAllocator = DE_NULL)
361 const char* getTestDimensionName (TestDimension dimension)
363 static const char* const s_names[] =
398 vector<VkSwapchainCreateInfoKHR> generateSwapchainParameterCases (const InstanceInterface& vki,
402 const VkSurfaceCapabilitiesKHR& capabilities,
403 const vector<VkSurfaceFormatKHR>& formats,
404 const vector<VkPresentModeKHR>& presentModes)
406 const PlatformProperties& platformProperties = getPlatformProperties(wsiType);
408 const VkSurfaceTransformFlagBitsKHR defaultTransform = (capabilities.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) ? VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR : capabilities.currentTransform;
409 const VkSwapchainCreateInfoKHR baseParameters =
436 const deUint32 maxImageCountToTest = de::clamp(16u, capabilities.minImageCount, (capabilities.maxImageCount > 0) ? capabilities.maxImageCount : capabilities.minImageCount + 16u);
461 static const VkExtent2D s_testSizes[] =
501 const deUint32 maxLayers = de::min(capabilities.maxImageArrayLayers, 16u);
624 const InstanceInterface& vki,
628 const VkSurfaceCapabilitiesKHR capabilities = getPhysicalDeviceSurfaceCapabilities(vki,
631 const vector<VkSurfaceFormatKHR> formats = getPhysicalDeviceSurfaceFormats(vki,
634 const vector<VkPresentModeKHR> presentModes = getPhysicalDeviceSurfacePresentModes(vki,
644 const InstanceHelper instHelper (context, params.wsiType);
645 const NativeObjects native (context, instHelper.supportedExtensions, params.wsiType);
646 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, params.wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
647 const MultiQueueDeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
648 const vector<VkSwapchainCreateInfoKHR> cases (generateSwapchainParameterCases(params.wsiType, params.dimension, instHelper.vki, devHelper.physicalDevice, *surface));
649 const VkSurfaceCapabilitiesKHR capabilities(getPhysicalDeviceSurfaceCapabilities(instHelper.vki, devHelper.physicalDevice, *surface));
660 const auto numFamilies = static_cast<deUint32>(devHelper.queueFamilyIndices.size());
678 const VkResult propertiesResult = instHelper.vki.getPhysicalDeviceImageFormatProperties(devHelper.physicalDevice,
701 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams));
706 catch (const OutOfMemoryError& e)
713 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams));
743 const InstanceHelper instHelper (context, params.wsiType);
744 const NativeObjects native (context, instHelper.supportedExtensions, params.wsiType);
745 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, params.wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
746 const vector<string> extraExts (1u, "VK_EXT_private_data");
747 const MultiQueueDeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface, extraExts);
748 const vector<VkSwapchainCreateInfoKHR> cases (generateSwapchainParameterCases(params.wsiType, params.dimension, instHelper.vki, devHelper.physicalDevice, *surface));
759 const deUint32 numFamilies = static_cast<deUint32>(devHelper.queueFamilyIndices.size());
781 const VkResult propertiesResult = instHelper.vki.getPhysicalDeviceImageFormatProperties(devHelper.physicalDevice,
796 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams));
798 const int numSlots = 100;
803 const VkPrivateDataSlotCreateInfoEXT createInfo =
806 DE_NULL, // const void* pNext;
873 const size_t maxCases = 300u;
874 const deUint32 maxAllocs = 1024u;
884 const InstanceHelper instHelper (context, params.wsiType, failingAllocator.getCallbacks());
885 const NativeObjects native (context, instHelper.supportedExtensions, params.wsiType);
886 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki,
893 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface, vector<string>(), failingAllocator.getCallbacks());
894 const vector<VkSwapchainCreateInfoKHR> allCases (generateSwapchainParameterCases(params.wsiType, params.dimension, instHelper.vki, devHelper.physicalDevice, *surface));
895 const VkSurfaceCapabilitiesKHR capabilities(getPhysicalDeviceSurfaceCapabilities(instHelper.vki, devHelper.physicalDevice, *surface));
933 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &curParams, failingAllocator.getCallbacks()));
935 catch (const OutOfMemoryError& e)
975 const tcu::UVec2 desiredSize (256, 256);
976 const InstanceHelper instHelper (context, wsiType, vector<string>(1, string("VK_KHR_device_group_creation")));
977 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
978 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki,
984 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface, vector<string>(1u, "VK_KHR_bind_memory2"));
985 const Extensions& deviceExtensions = enumerateDeviceExtensionProperties(instHelper.vki, devHelper.physicalDevice, DE_NULL);
991 const VkSurfaceCapabilitiesKHR capabilities = getPhysicalDeviceSurfaceCapabilities(instHelper.vki,
994 const vector<VkSurfaceFormatKHR> formats = getPhysicalDeviceSurfaceFormats(instHelper.vki,
997 const PlatformProperties& platformProperties = getPlatformProperties(wsiType);
998 const VkSurfaceTransformFlagBitsKHR transform = (capabilities.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) ? VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR : capabilities.currentTransform;
999 const deUint32 desiredImageCount = 2;
1000 const VkSwapchainCreateInfoKHR swapchainInfo =
1015 (const deUint32*)DE_NULL,
1023 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &swapchainInfo));
1119 const TestDimension testDimension = (TestDimension)dimensionNdx;
1131 const TestDimension testDimension = (TestDimension)dimensionNdx;
1140 const InstanceInterface& vki,
1143 const tcu::UVec2& desiredSize,
1146 const VkSurfaceCapabilitiesKHR capabilities = getPhysicalDeviceSurfaceCapabilities(vki,
1149 const vector<VkSurfaceFormatKHR> formats = getPhysicalDeviceSurfaceFormats(vki,
1152 const PlatformProperties& platformProperties = getPlatformProperties(wsiType);
1153 const VkSurfaceTransformFlagBitsKHR transform = (capabilities.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) ? VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR : capabilities.currentTransform;
1154 const VkSwapchainCreateInfoKHR parameters =
1169 (const deUint32*)DE_NULL,
1184 vector<FenceSp> createFences (const DeviceInterface& vkd,
1185 const VkDevice device,
1197 vector<SemaphoreSp> createSemaphores (const DeviceInterface& vkd,
1198 const VkDevice device,
1209 vector<CommandBufferSp> allocateCommandBuffers (const DeviceInterface& vkd,
1210 const VkDevice device,
1211 const VkCommandPool commandPool,
1212 const VkCommandBufferLevel level,
1213 const size_t numCommandBuffers)
1227 AcquireNextImageWrapper(const DeviceInterface& vkd,
1257 const DeviceInterface& m_vkd;
1267 AcquireNextImage2Wrapper(const DeviceInterface& vkd,
1300 const DeviceInterface& m_vkd;
1309 const tcu::UVec2 desiredSize (256, 256);
1310 const InstanceHelper instHelper (context, wsiType);
1311 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
1312 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
1313 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
1314 const DeviceInterface& vkd = devHelper.vkd;
1315 const VkDevice device = *devHelper.device;
1317 const VkSwapchainCreateInfoKHR swapchainInfo = getBasicSwapchainParameters(wsiType, instHelper.vki, devHelper.physicalDevice, *surface, desiredSize, 2);
1318 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(vkd, device, &swapchainInfo));
1319 const vector<VkImage> swapchainImages = getSwapchainImages(vkd, device, *swapchain);
1325 const WsiTriangleRenderer renderer (vkd,
1335 const Unique<VkCommandPool> commandPool (createCommandPool(vkd, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, devHelper.queueFamilyIndex));
1337 const size_t maxQueuedFrames = swapchainImages.size()*2;
1341 const vector<FenceSp> imageReadyFences (createFences(vkd, device, maxQueuedFrames));
1345 const vector<SemaphoreSp> imageReadySemaphores (createSemaphores(vkd, device, maxQueuedFrames+1));
1350 const vector<SemaphoreSp> renderingCompleteSemaphores (createSemaphores(vkd, device, maxQueuedFrames));
1351 const vector<CommandBufferSp> commandBuffers (allocateCommandBuffers(vkd, device, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, maxQueuedFrames));
1355 const deUint32 numFramesToRender = 60*10;
1359 const VkFence imageReadyFence = **imageReadyFences[frameNdx%imageReadyFences.size()];
1360 const VkSemaphore imageReadySemaphore = **imageReadySemaphores[frameNdx%imageReadySemaphores.size()];
1367 const VkResult acquireResult = acquireImageWrapper.call(imageReadySemaphore, (VkFence)0, &imageNdx);
1378 const VkSemaphore renderingCompleteSemaphore = **renderingCompleteSemaphores[frameNdx%renderingCompleteSemaphores.size()];
1379 const VkCommandBuffer commandBuffer = **commandBuffers[frameNdx%commandBuffers.size()];
1380 const VkPipelineStageFlags waitDstStage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
1381 const VkSubmitInfo submitInfo =
1393 const VkPresentInfoKHR presentInfo =
1428 const vk::VkFence& renderCompleteFence;
1429 const vk::VkSemaphore& renderCompleteSemaphore;
1430 const vk::VkSemaphore& imageAvailableSemaphore;
1431 const vk::VkCommandBuffer& commandBuffer;
1434 FrameStreamObjects (const vk::DeviceInterface& vkd, vk::VkDevice device, vk::VkCommandPool cmdPool, size_t maxQueuedFrames)
1443 size_t frameNumber (void) const { DE_ASSERT(m_nextFrame > 0u); return m_nextFrame - 1u; }
1447 const size_t mod = m_nextFrame % m_maxQueuedFrames;
1460 const vector<FenceSp> renderingCompleteFences;
1461 const vector<SemaphoreSp> renderingCompleteSemaphores;
1462 const vector<SemaphoreSp> imageAvailableSemaphores;
1463 const vector<CommandBufferSp> commandBuffers;
1465 const size_t m_maxQueuedFrames;
1500 size_t size () const
1511 const PlatformProperties& platformProperties = getPlatformProperties(params.wsiType);
1519 const tcu::UVec2 desiredSize (256, 256);
1520 const InstanceHelper instHelper (context, params.wsiType);
1545 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, surfaceKHR);
1546 const DeviceInterface& vkd = devHelper.vkd;
1547 const VkDevice device = *devHelper.device;
1582 const Unique<VkCommandPool> commandPool (createCommandPool(vkd, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, devHelper.queueFamilyIndex));
1583 const size_t maxQueuedFrames = swapchainImages.front().size()*2; // Limit in-flight frames.
1592 const deUint32 kNumFramesToRender = 60*3*static_cast<deUint32>(params.swapchainCount);
1606 const VkResult acquireResult = acquireImageWrapper[swapchainIndex].call(frameObjects.imageAvailableSemaphore, (VkFence)DE_NULL, &imageNdx);
1616 const VkPipelineStageFlags waitDstStage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
1617 const VkSubmitInfo submitInfo =
1644 const VkPresentInfoKHR presentInfo =
1658 for (const auto& result : results)
1680 const InstanceHelper instHelper (context, wsiType, vector<string>(1, string("VK_KHR_device_group_creation")));
1681 const tcu::CommandLine& cmdLine = context.getTestContext().getCommandLine();
1683 const Extensions& supportedExtensions = enumerateDeviceExtensionProperties(instHelper.vki, physicalDevice, DE_NULL);
1685 std::vector<const char*> deviceExtensions;
1696 const tcu::UVec2 desiredSize (256, 256);
1697 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
1698 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
1700 const deUint32 devGroupIdx = cmdLine.getVKDeviceGroupId() - 1;
1701 const deUint32 deviceIdx = context.getTestContext().getCommandLine().getVKDeviceId() - 1u;
1702 const vector<VkPhysicalDeviceGroupProperties> deviceGroupProps = enumeratePhysicalDeviceGroups(instHelper.vki, instHelper.instance);
1704 const VkPhysicalDevice* physicalDevicesInGroup = deviceGroupProps[devGroupIdx].physicalDevices;
1706 const std::vector<VkQueueFamilyProperties> queueProps = getPhysicalDeviceQueueFamilyProperties(instHelper.vki, physicalDevicesInGroup[deviceIdx]);
1707 const float queuePriority = 1.0f;
1708 const deUint32 firstDeviceID = 0;
1709 const deUint32 secondDeviceID = 1;
1712 const VkDeviceGroupDeviceCreateInfo groupDeviceInfo =
1719 const VkDeviceQueueCreateInfo deviceQueueCreateInfo =
1729 const VkDeviceCreateInfo deviceCreateInfo =
1744 const DeviceDriver vkd (context.getPlatformInterface(), instHelper.instance, *groupDevice, context.getUsedApiVersion());
1760 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(vkd, *groupDevice, &swapchainInfo));
1761 const vector<VkImage> swapchainImages = getSwapchainImages(vkd, *groupDevice, *swapchain);
1763 const WsiTriangleRenderer renderer (vkd,
1773 const Unique<VkCommandPool> commandPool (createCommandPool(vkd, *groupDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
1775 const size_t maxQueuedFrames = swapchainImages.size()*2;
1779 const vector<FenceSp> imageReadyFences (createFences(vkd, *groupDevice, maxQueuedFrames));
1783 const vector<SemaphoreSp> imageReadySemaphores (createSemaphores(vkd, *groupDevice, maxQueuedFrames+1));
1787 const vector<SemaphoreSp> renderingCompleteSemaphores (createSemaphores(vkd, *groupDevice, maxQueuedFrames));
1788 const vector<CommandBufferSp> commandBuffers (allocateCommandBuffers(vkd, *groupDevice, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, maxQueuedFrames));
1792 const deUint32 numFramesToRender = 60*10;
1796 const VkFence imageReadyFence = **imageReadyFences[frameNdx%imageReadyFences.size()];
1797 const VkSemaphore imageReadySemaphore = **imageReadySemaphores[frameNdx%imageReadySemaphores.size()];
1815 const VkResult acquireResult = vkd.acquireNextImage2KHR(*groupDevice, &acquireNextImageInfo, &imageNdx);
1826 const VkSemaphore renderingCompleteSemaphore = **renderingCompleteSemaphores[frameNdx%renderingCompleteSemaphores.size()];
1827 const VkCommandBuffer commandBuffer = **commandBuffers[frameNdx%commandBuffers.size()];
1828 const VkPipelineStageFlags waitDstStage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
1841 const VkDeviceGroupSubmitInfo deviceGroupSubmitInfo =
1852 const VkSubmitInfo submitInfo =
1868 const VkDeviceGroupPresentInfoKHR deviceGroupPresentInfo =
1876 const VkPresentInfoKHR presentInfo =
1905 const InstanceHelper instHelper (context, wsiType, vector<string>(1, string("VK_KHR_device_group_creation")));
1906 const tcu::CommandLine& cmdLine = context.getTestContext().getCommandLine();
1908 const Extensions& deviceExtensions = enumerateDeviceExtensionProperties(instHelper.vki, physicalDevice, DE_NULL);
1914 std::vector<const char*> requiredExtensions;
1923 const tcu::UVec2 desiredSize (256, 256);
1924 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
1925 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
1927 const deUint32 devGroupIdx = cmdLine.getVKDeviceGroupId() - 1;
1928 const deUint32 deviceIdx = context.getTestContext().getCommandLine().getVKDeviceId() - 1u;
1929 const vector<VkPhysicalDeviceGroupProperties> deviceGroupProps = enumeratePhysicalDeviceGroups(instHelper.vki, instHelper.instance);
1931 const VkPhysicalDevice* physicalDevicesInGroup = deviceGroupProps[devGroupIdx].physicalDevices;
1933 const std::vector<VkQueueFamilyProperties> queueProps = getPhysicalDeviceQueueFamilyProperties(instHelper.vki, physicalDevicesInGroup[deviceIdx]);
1934 const float queuePriority = 1.0f;
1935 const deUint32 firstDeviceID = 0;
1936 const deUint32 secondDeviceID = 1;
1937 const deUint32 deviceIndices[] = { firstDeviceID, secondDeviceID };
1943 const VkDeviceGroupDeviceCreateInfo groupDeviceInfo =
1950 const VkDeviceQueueCreateInfo deviceQueueCreateInfo =
1960 const VkDeviceCreateInfo deviceCreateInfo =
1975 const DeviceDriver vkd (context.getPlatformInterface(), instHelper.instance, *groupDevice, context.getUsedApiVersion());
1980 const VkSurfaceCapabilitiesKHR capabilities = getPhysicalDeviceSurfaceCapabilities(instHelper.vki, physicalDevice, *surface);
1981 const vector<VkSurfaceFormatKHR> formats = getPhysicalDeviceSurfaceFormats(instHelper.vki, physicalDevice, *surface);
1982 const PlatformProperties& platformProperties = getPlatformProperties(wsiType);
1983 const VkSurfaceTransformFlagBitsKHR transform = (capabilities.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR) ? VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR : capabilities.currentTransform;
1984 const deUint32 desiredImageCount = 2;
1992 const VkSwapchainCreateInfoKHR swapchainInfo =
2007 (const deUint32*)DE_NULL,
2015 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(vkd, *groupDevice, &swapchainInfo));
2105 const deUint32 halfWidth = desiredSize.x() / 2;
2106 const deUint32 height = desiredSize.y();
2107 const VkRect2D sfrRects[] =
2146 const WsiTriangleRenderer renderer (vkd,
2156 const Unique<VkCommandPool> commandPool (createCommandPool(vkd, *groupDevice, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, queueFamilyIndex));
2158 const size_t maxQueuedFrames = rawImagesSfr.size()*2;
2162 const vector<FenceSp> imageReadyFences (createFences(vkd, *groupDevice, maxQueuedFrames));
2166 const vector<SemaphoreSp> imageReadySemaphores (createSemaphores(vkd, *groupDevice, maxQueuedFrames+1));
2170 const vector<SemaphoreSp> renderingCompleteSemaphores (createSemaphores(vkd, *groupDevice, maxQueuedFrames));
2171 const vector<CommandBufferSp> commandBuffers (allocateCommandBuffers(vkd, *groupDevice, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, maxQueuedFrames));
2175 const deUint32 numFramesToRender = 60*10;
2179 const VkFence imageReadyFence = **imageReadyFences[frameNdx%imageReadyFences.size()];
2180 const VkSemaphore imageReadySemaphore = **imageReadySemaphores[frameNdx%imageReadySemaphores.size()];
2198 const VkResult acquireResult = vkd.acquireNextImage2KHR(*groupDevice, &acquireNextImageInfo, &imageNdx);
2209 const VkSemaphore renderingCompleteSemaphore = **renderingCompleteSemaphores[frameNdx%renderingCompleteSemaphores.size()];
2210 const VkCommandBuffer commandBuffer = **commandBuffers[frameNdx%commandBuffers.size()];
2211 const VkPipelineStageFlags waitDstStage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
2218 const VkDeviceGroupSubmitInfo deviceGroupSubmitInfo =
2229 const VkSubmitInfo submitInfo =
2245 const VkDeviceGroupPresentInfoKHR deviceGroupPresentInfo =
2253 const VkPresentInfoKHR presentInfo =
2280 vector<tcu::UVec2> getSwapchainSizeSequence (const VkSurfaceCapabilitiesKHR& capabilities, const tcu::UVec2& defaultSize)
2298 const tcu::UVec2 desiredSize (256, 256);
2299 const InstanceHelper instHelper (context, wsiType);
2300 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
2301 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2302 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
2303 const PlatformProperties& platformProperties = getPlatformProperties(wsiType);
2304 const VkSurfaceCapabilitiesKHR capabilities = getPhysicalDeviceSurfaceCapabilities(instHelper.vki, devHelper.physicalDevice, *surface);
2305 const DeviceInterface& vkd = devHelper.vkd;
2306 const VkDevice device = *devHelper.device;
2327 const vector<VkImage> swapchainImages = getSwapchainImages(vkd, device, *swapchain);
2328 const WsiTriangleRenderer renderer (vkd,
2337 const Unique<VkCommandPool> commandPool (createCommandPool(vkd, device, VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT, devHelper.queueFamilyIndex));
2338 const size_t maxQueuedFrames = swapchainImages.size()*2;
2342 const vector<FenceSp> imageReadyFences (createFences(vkd, device, maxQueuedFrames));
2346 const vector<SemaphoreSp> imageReadySemaphores (createSemaphores(vkd, device, maxQueuedFrames+1));
2351 const vector<SemaphoreSp> renderingCompleteSemaphores (createSemaphores(vkd, device, maxQueuedFrames));
2352 const vector<CommandBufferSp> commandBuffers (allocateCommandBuffers(vkd, device, *commandPool, VK_COMMAND_BUFFER_LEVEL_PRIMARY, maxQueuedFrames));
2356 const deUint32 numFramesToRender = 60;
2360 const VkFence imageReadyFence = **imageReadyFences[frameNdx%imageReadyFences.size()];
2361 const VkSemaphore imageReadySemaphore = **imageReadySemaphores[frameNdx%imageReadySemaphores.size()];
2368 const VkResult acquireResult = vkd.acquireNextImageKHR(device,
2384 const VkSemaphore renderingCompleteSemaphore = **renderingCompleteSemaphores[frameNdx%renderingCompleteSemaphores.size()];
2385 const VkCommandBuffer commandBuffer = **commandBuffers[frameNdx%commandBuffers.size()];
2386 const VkPipelineStageFlags waitDstStage = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
2387 const VkSubmitInfo submitInfo =
2399 const VkPresentInfoKHR presentInfo =
2434 const tcu::UVec2 desiredSize (256, 256);
2435 const InstanceHelper instHelper (context, wsiType);
2436 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
2437 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2438 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
2439 const VkSwapchainCreateInfoKHR swapchainInfo = getBasicSwapchainParameters(wsiType, instHelper.vki, devHelper.physicalDevice, *surface, desiredSize, 2);
2440 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &swapchainInfo));
2446 const deUint32 usedCount = static_cast<deUint32>(swapchainImages.size() / 2);
2448 const VkResult result = devHelper.vkd.getSwapchainImagesKHR(*devHelper.device, *swapchain, &count, &swapchainImages[0]);
2458 const tcu::UVec2 desiredSize(256, 256);
2459 const InstanceHelper instHelper(context, wsiType);
2460 const NativeObjects native(context, instHelper.supportedExtensions, wsiType, 1u, tcu::just(desiredSize));
2461 const Unique<VkSurfaceKHR> surface(createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2462 const DeviceHelper devHelper(context, instHelper.vki, instHelper.instance, *surface);
2463 const VkSwapchainCreateInfoKHR swapchainInfo = getBasicSwapchainParameters(wsiType, instHelper.vki, devHelper.physicalDevice, *surface, desiredSize, 2);
2464 const Unique<VkSwapchainKHR> swapchain(createSwapchainKHR(devHelper.vkd, *devHelper.device, &swapchainInfo));
2473 const deUint32 numImagesOrig = numImages;
2488 const InstanceHelper instHelper (context, wsiType);
2489 const NativeObjects native (context, instHelper.supportedExtensions, wsiType);
2490 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2491 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
2492 const VkSwapchainKHR nullHandle = DE_NULL;
2512 const tcu::UVec2 desiredSize (256, 256);
2513 const InstanceHelper instHelper (context, wsiType);
2514 const NativeObjects native (context, instHelper.supportedExtensions, wsiType);
2515 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2516 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
2539 const tcu::UVec2 desiredSize (256, 256);
2540 const InstanceHelper instHelper (context, wsiType);
2541 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, tcu::just(desiredSize));
2542 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2543 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
2544 const VkSwapchainCreateInfoKHR swapchainInfo = getBasicSwapchainParameters(wsiType, instHelper.vki, devHelper.physicalDevice, *surface, desiredSize, 2);
2545 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &swapchainInfo));
2549 const deUint32 minImageCount = getPhysicalDeviceSurfaceCapabilities(instHelper.vki, devHelper.physicalDevice, *surface).minImageCount;
2551 const deUint32 numAcquirableImages = numImages - minImageCount + 1;
2553 const auto fences = createFences(devHelper.vkd, *devHelper.device, numAcquirableImages + 1, false);
2560 const auto result = devHelper.vkd.acquireNextImageKHR(*devHelper.device, *swapchain, 0, (VkSemaphore)0, **fences[numAcquirableImages], &unused);
2567 const deUint32 numFences = (result == VK_NOT_READY) ? static_cast<deUint32>(fences.size() - 1) : static_cast<deUint32>(fences.size());
2569 std::transform(fences.begin(), fences.begin() + numFences, fencesRaw.begin(), [](const FenceSp& f) -> vk::VkFence{ return **f; });
2577 const tcu::UVec2 desiredSize (256, 256);
2578 const InstanceHelper instHelper (context, wsiType);
2579 const NativeObjects native (context, instHelper.supportedExtensions, wsiType, tcu::just(desiredSize));
2580 const Unique<VkSurfaceKHR> surface (createSurface(instHelper.vki, instHelper.instance, wsiType, native.getDisplay(), native.getWindow(), context.getTestContext().getCommandLine()));
2581 const DeviceHelper devHelper (context, instHelper.vki, instHelper.instance, *surface);
2582 const VkSwapchainCreateInfoKHR swapchainInfo = getBasicSwapchainParameters(wsiType, instHelper.vki, devHelper.physicalDevice, *surface, desiredSize, 2);
2583 const Unique<VkSwapchainKHR> swapchain (createSwapchainKHR(devHelper.vkd, *devHelper.device, &swapchainInfo));
2587 const deUint32 minImageCount = getPhysicalDeviceSurfaceCapabilities(instHelper.vki, devHelper.physicalDevice, *surface).minImageCount;
2589 const deUint32 numAcquirableImages = numImages - minImageCount + 1;
2591 const auto fences = createFences(devHelper.vkd, *devHelper.device, numAcquirableImages + 1, false);
2598 const deUint64 millisecond = 1000000;
2599 const deUint64 timeout = 50 * millisecond; // arbitrary realistic non-0 non-infinite timeout
2600 const auto result = devHelper.vkd.acquireNextImageKHR(*devHelper.device, *swapchain, timeout, (VkSemaphore)0, **fences[numAcquirableImages], &unused);
2607 const deUint32 numFences = (result == VK_TIMEOUT) ? static_cast<deUint32>(fences.size() - 1) : static_cast<deUint32>(fences.size());
2609 std::transform(fences.begin(), fences.begin() + numFences, fencesRaw.begin(), [](const FenceSp& f) -> vk::VkFence{ return **f; });
2636 const MultiSwapchainParams kTwoSwapchains { wsiType, 2u };
2637 const MultiSwapchainParams kTenSwapchains { wsiType, 10u };
2659 const PlatformProperties& platformProperties = getPlatformProperties(wsiType);