Lines Matching defs:context
525 void checkApiVersionSupport(Context& context)
527 if (!context.contextSupports(vk::ApiVersion(0, MAJOR, MINOR, 0)))
691 tcu::TestStatus validateLimits12 (Context& context)
693 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
694 const InstanceInterface& vki = context.getInstanceInterface();
695 TestLog& log = context.getTestContext().getLog();
698 const VkPhysicalDeviceFeatures2& features2 = context.getDeviceFeatures2();
705 const VkPhysicalDeviceProperties2& properties2 = context.getDeviceProperties2();
979 void checkSupportKhrPushDescriptor (Context& context)
981 context.requireDeviceFunctionality("VK_KHR_push_descriptor");
984 tcu::TestStatus validateLimitsKhrPushDescriptor (Context& context)
987 const VkPhysicalDevicePushDescriptorPropertiesKHR& pushDescriptorPropertiesKHR = context.getPushDescriptorProperties();
988 TestLog& log = context.getTestContext().getLog();
1009 void checkSupportKhrMultiview (Context& context)
1011 context.requireDeviceFunctionality("VK_KHR_multiview");
1014 tcu::TestStatus validateLimitsKhrMultiview (Context& context)
1017 const VkPhysicalDeviceMultiviewProperties& multiviewProperties = context.getMultiviewProperties();
1018 TestLog& log = context.getTestContext().getLog();
1039 void checkSupportExtDiscardRectangles (Context& context)
1041 context.requireDeviceFunctionality("VK_EXT_discard_rectangles");
1044 tcu::TestStatus validateLimitsExtDiscardRectangles (Context& context)
1047 const VkPhysicalDeviceDiscardRectanglePropertiesEXT& discardRectanglePropertiesEXT = context.getDiscardRectanglePropertiesEXT();
1048 TestLog& log = context.getTestContext().getLog();
1067 void checkSupportExtSampleLocations (Context& context)
1069 context.requireDeviceFunctionality("VK_EXT_sample_locations");
1072 tcu::TestStatus validateLimitsExtSampleLocations (Context& context)
1075 const VkPhysicalDeviceSampleLocationsPropertiesEXT& sampleLocationsPropertiesEXT = context.getSampleLocationsPropertiesEXT();
1076 TestLog& log = context.getTestContext().getLog();
1100 void checkSupportExtExternalMemoryHost (Context& context)
1102 context.requireDeviceFunctionality("VK_EXT_external_memory_host");
1105 tcu::TestStatus validateLimitsExtExternalMemoryHost (Context& context)
1108 const VkPhysicalDeviceExternalMemoryHostPropertiesEXT& externalMemoryHostPropertiesEXT = context.getExternalMemoryHostPropertiesEXT();
1109 TestLog& log = context.getTestContext().getLog();
1128 void checkSupportExtBlendOperationAdvanced (Context& context)
1130 context.requireDeviceFunctionality("VK_EXT_blend_operation_advanced");
1133 tcu::TestStatus validateLimitsExtBlendOperationAdvanced (Context& context)
1136 const VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT& blendOperationAdvancedPropertiesEXT = context.getBlendOperationAdvancedPropertiesEXT();
1137 TestLog& log = context.getTestContext().getLog();
1156 void checkSupportKhrMaintenance3 (Context& context)
1158 context.requireDeviceFunctionality("VK_KHR_maintenance3");
1162 void checkSupportKhrMaintenance4 (Context& context)
1164 context.requireDeviceFunctionality("VK_KHR_maintenance4");
1168 tcu::TestStatus validateLimitsKhrMaintenance3 (Context& context)
1171 const VkPhysicalDeviceMaintenance3Properties& maintenance3Properties = context.getMaintenance3Properties();
1172 TestLog& log = context.getTestContext().getLog();
1193 tcu::TestStatus validateLimitsKhrMaintenance4 (Context& context)
1196 const VkPhysicalDeviceMaintenance4Properties& maintenance4Properties = context.getMaintenance4Properties();
1197 TestLog& log = context.getTestContext().getLog();
1217 void checkSupportExtConservativeRasterization (Context& context)
1219 context.requireDeviceFunctionality("VK_EXT_conservative_rasterization");
1222 tcu::TestStatus validateLimitsExtConservativeRasterization (Context& context)
1225 const VkPhysicalDeviceConservativeRasterizationPropertiesEXT& conservativeRasterizationPropertiesEXT = context.getConservativeRasterizationPropertiesEXT();
1226 TestLog& log = context.getTestContext().getLog();
1247 void checkSupportExtDescriptorIndexing (Context& context)
1251 if (!context.isDeviceFunctionalitySupported(requiredDeviceExtension))
1257 tcu::TestStatus validateLimitsExtDescriptorIndexing (Context& context)
1260 const VkPhysicalDeviceProperties2& properties2 = context.getDeviceProperties2();
1262 const VkPhysicalDeviceDescriptorIndexingProperties& descriptorIndexingProperties = context.getDescriptorIndexingProperties();
1263 const VkPhysicalDeviceFeatures& features = context.getDeviceFeatures();
1267 TestLog& log = context.getTestContext().getLog();
1318 void checkSupportExtInlineUniformBlock (Context& context)
1320 context.requireDeviceFunctionality("VK_EXT_inline_uniform_block");
1323 tcu::TestStatus validateLimitsExtInlineUniformBlock (Context& context)
1326 const VkPhysicalDeviceInlineUniformBlockProperties& inlineUniformBlockPropertiesEXT = context.getInlineUniformBlockProperties();
1327 TestLog& log = context.getTestContext().getLog();
1353 void checkSupportExtVertexAttributeDivisor (Context& context)
1355 context.requireDeviceFunctionality("VK_EXT_vertex_attribute_divisor");
1358 tcu::TestStatus validateLimitsExtVertexAttributeDivisor (Context& context)
1361 const VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT& vertexAttributeDivisorPropertiesEXT = context.getVertexAttributeDivisorPropertiesEXT();
1362 TestLog& log = context.getTestContext().getLog();
1383 void checkSupportNvMeshShader (Context& context)
1387 if (!context.isDeviceFunctionalitySupported(requiredDeviceExtension))
1391 tcu::TestStatus validateLimitsNvMeshShader (Context& context)
1394 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
1395 const InstanceInterface& vki = context.getInstanceInterface();
1396 TestLog& log = context.getTestContext().getLog();
1433 void checkSupportExtTransformFeedback (Context& context)
1435 context.requireDeviceFunctionality("VK_EXT_transform_feedback");
1438 tcu::TestStatus validateLimitsExtTransformFeedback (Context& context)
1441 const VkPhysicalDeviceTransformFeedbackPropertiesEXT& transformFeedbackPropertiesEXT = context.getTransformFeedbackPropertiesEXT();
1442 TestLog& log = context.getTestContext().getLog();
1466 void checkSupportExtFragmentDensityMap (Context& context)
1468 context.requireDeviceFunctionality("VK_EXT_fragment_density_map");
1471 tcu::TestStatus validateLimitsExtFragmentDensityMap (Context& context)
1474 const VkPhysicalDeviceFragmentDensityMapPropertiesEXT& fragmentDensityMapPropertiesEXT = context.getFragmentDensityMapPropertiesEXT();
1475 TestLog& log = context.getTestContext().getLog();
1497 void checkSupportNvRayTracing (Context& context)
1501 if (!context.isDeviceFunctionalitySupported(requiredDeviceExtension))
1505 tcu::TestStatus validateLimitsNvRayTracing (Context& context)
1508 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
1509 const InstanceInterface& vki = context.getInstanceInterface();
1510 TestLog& log = context.getTestContext().getLog();
1541 void checkSupportKhrTimelineSemaphore (Context& context)
1543 context.requireDeviceFunctionality("VK_KHR_timeline_semaphore");
1546 tcu::TestStatus validateLimitsKhrTimelineSemaphore (Context& context)
1549 const VkPhysicalDeviceTimelineSemaphoreProperties& timelineSemaphoreProperties = context.getTimelineSemaphoreProperties();
1551 TestLog& log = context.getTestContext().getLog();
1569 void checkSupportExtLineRasterization (Context& context)
1571 context.requireDeviceFunctionality("VK_EXT_line_rasterization");
1574 tcu::TestStatus validateLimitsExtLineRasterization (Context& context)
1577 const VkPhysicalDeviceLineRasterizationPropertiesEXT& lineRasterizationPropertiesEXT = context.getLineRasterizationPropertiesEXT();
1578 TestLog& log = context.getTestContext().getLog();
1597 void checkSupportRobustness2 (Context& context)
1599 context.requireDeviceFunctionality("VK_EXT_robustness2");
1602 tcu::TestStatus validateLimitsRobustness2 (Context& context)
1604 const InstanceInterface& vki = context.getInstanceInterface();
1605 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
1606 const VkPhysicalDeviceRobustness2PropertiesEXT& robustness2PropertiesEXT = context.getRobustness2PropertiesEXT();
1625 tcu::TestStatus validateLimitsMaxInlineUniformTotalSize (Context& context)
1628 const VkPhysicalDeviceVulkan13Properties& vulkan13Properties = context.getDeviceVulkan13Properties();
1630 TestLog& log = context.getTestContext().getLog();
1648 tcu::TestStatus validateRoadmap2022(Context& context)
1650 if (context.getUsedApiVersion() < VK_API_VERSION_1_3)
1655 TestLog& log = context.getTestContext().getLog();
1657 auto vk10Features = context.getDeviceFeatures();
1658 auto vk11Features = context.getDeviceVulkan11Features();
1659 auto vk12Features = context.getDeviceVulkan12Features();
1661 const auto& vk10Properties = context.getDeviceProperties2();
1662 const auto& vk11Properties = context.getDeviceVulkan11Properties();
1663 const auto& vk12Properties = context.getDeviceVulkan12Properties();
1664 const auto& vk13Properties = context.getDeviceVulkan13Properties();
1783 if (!context.isDeviceFunctionalitySupported("VK_KHR_global_priority"))
1799 void createTestDevice (Context& context, void* pNext, const char* const* ppEnabledExtensionNames, deUint32 enabledExtensionCount)
1801 const PlatformInterface& platformInterface = context.getPlatformInterface();
1802 const auto validationEnabled = context.getTestContext().getCommandLine().isValidationEnabled();
1803 const Unique<VkInstance> instance (createDefaultInstance(platformInterface, context.getUsedApiVersion(), context.getTestContext().getCommandLine()));
1805 const VkPhysicalDevice physicalDevice = chooseDevice(instanceDriver, instance.get(), context.getTestContext().getCommandLine());
1821 VkDeviceObjectReservationCreateInfo memReservationInfo = context.getTestContext().getCommandLine().isSubProcess() ? context.getResourceInterface()->getStatMax() : resetDeviceObjectReservationCreateInfo();
1831 if (context.getTestContext().getCommandLine().isSubProcess())
1833 if (context.getResourceInterface()->getCacheDataSize() > 0)
1841 context.getResourceInterface()->getCacheDataSize(), // deUintptr initialDataSize;
1842 context.getResourceInterface()->getCacheData() // const void* pInitialData;
1848 poolSizes = context.getResourceInterface()->getPipelinePoolSizes();
1871 const DeviceDriver deviceDriver (platformInterface, instance.get(), device.get(), context.getUsedApiVersion());
1893 tcu::TestStatus featureBitInfluenceOnDeviceCreate (Context& context)
1899 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
1900 const InstanceInterface& vki = context.getInstanceInterface();
1901 TestLog& log = context.getTestContext().getLog();
2104 createTestDevice(context, &features2, DE_NULL, 0u);
2139 createTestDevice(context, &features2, &extStringPtr, (extStringPtr == DE_NULL) ? 0u : 1u );
2153 virtual void getResult (Context& context, T* data) = 0;
2155 void operator() (Context& context, tcu::ResultCollector& results, const std::size_t expectedCompleteSize)
2167 getResult(context, &outputData[0]); // update m_count and m_result
2180 void getResult (Context& context, VkPhysicalDevice* data)
2182 m_result = context.getInstanceInterface().enumeratePhysicalDevices(context.getInstance(), &m_count, data);
2207 void getResult (Context& context, VkLayerProperties* data)
2209 m_result = context.getPlatformInterface().enumerateInstanceLayerProperties(&m_count, data);
2215 void getResult (Context& context, VkLayerProperties* data)
2217 m_result = context.getInstanceInterface().enumerateDeviceLayerProperties(context.getPhysicalDevice(), &m_count, data);
2225 void getResult (Context& context, VkExtensionProperties* data)
2228 m_result = context.getPlatformInterface().enumerateInstanceExtensionProperties(pLayerName, &m_count, data);
2239 void getResult (Context& context, VkExtensionProperties* data)
2242 m_result = context.getInstanceInterface().enumerateDeviceExtensionProperties(context.getPhysicalDevice(), pLayerName, &m_count, data);
2249 tcu::TestStatus enumeratePhysicalDevices (Context& context)
2251 TestLog& log = context.getTestContext().getLog();
2253 const vector<VkPhysicalDevice> devices = enumeratePhysicalDevices(context.getInstanceInterface(), context.getInstance());
2260 CheckEnumeratePhysicalDevicesIncompleteResult()(context, results, devices.size());
2265 tcu::TestStatus enumeratePhysicalDeviceGroups (Context& context)
2267 TestLog& log = context.getTestContext().getLog();
2269 CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_device_group_creation"));
2278 CheckEnumeratePhysicalDeviceGroupsIncompleteResult(vki, instance)(context, results, devicegroups.size());
2378 tcu::TestStatus enumerateInstanceLayers (Context& context)
2380 TestLog& log = context.getTestContext().getLog();
2382 const vector<VkLayerProperties> properties = enumerateInstanceLayerProperties(context.getPlatformInterface());
2393 CheckEnumerateInstanceLayerPropertiesIncompleteResult()(context, results, layerNames.size());
2398 tcu::TestStatus enumerateInstanceExtensions (Context& context)
2400 TestLog& log = context.getTestContext().getLog();
2405 const vector<VkExtensionProperties> properties = enumerateInstanceExtensionProperties(context.getPlatformInterface(), DE_NULL);
2417 CheckEnumerateInstanceExtensionPropertiesIncompleteResult()(context, results, properties.size());
2424 if (context.contextSupports(vk::ApiVersion(apiVariant, versionMajor, versionMinor, 0)))
2440 const vector<VkLayerProperties> layers = enumerateInstanceLayerProperties(context.getPlatformInterface());
2445 const vector<VkExtensionProperties> properties = enumerateInstanceExtensionProperties(context.getPlatformInterface(), layer->layerName);
2456 CheckEnumerateInstanceExtensionPropertiesIncompleteResult(layer->layerName)(context, results, properties.size());
2463 tcu::TestStatus validateDeviceLevelEntryPointsFromInstanceExtensions(Context& context)
2468 TestLog& log (context.getTestContext().getLog());
2470 const DeviceInterface& vk (context.getDeviceInterface());
2471 const VkDevice device (context.getDevice());
2476 if (!context.isInstanceFunctionalitySupported(extensionName))
2489 tcu::TestStatus testNoKhxExtensions (Context& context)
2491 VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
2492 const PlatformInterface& vkp = context.getPlatformInterface();
2493 const InstanceInterface& vki = context.getInstanceInterface();
2495 tcu::ResultCollector results(context.getTestContext().getLog());
2531 tcu::TestStatus enumerateDeviceLayers (Context& context)
2533 TestLog& log = context.getTestContext().getLog();
2535 const vector<VkLayerProperties> properties = enumerateDeviceLayerProperties(context.getInstanceInterface(), context.getPhysicalDevice());
2546 CheckEnumerateDeviceLayerPropertiesIncompleteResult()(context, results, layerNames.size());
2551 tcu::TestStatus enumerateDeviceExtensions (Context& context)
2553 TestLog& log = context.getTestContext().getLog();
2558 const vector<VkExtensionProperties> instanceExtensionProperties = enumerateInstanceExtensionProperties(context.getPlatformInterface(), DE_NULL);
2559 const vector<VkExtensionProperties> deviceExtensionProperties = enumerateDeviceExtensionProperties(context.getInstanceInterface(), context.getPhysicalDevice(), DE_NULL);
2570 CheckEnumerateDeviceExtensionPropertiesIncompleteResult()(context, results, deviceExtensionProperties.size());
2577 if (context.contextSupports(vk::ApiVersion(apiVariant, versionMajor, versionMinor, 0)))
2593 const vector<VkLayerProperties> layers = enumerateDeviceLayerProperties(context.getInstanceInterface(), context.getPhysicalDevice());
2598 const vector<VkExtensionProperties> properties = enumerateDeviceExtensionProperties(context.getInstanceInterface(), context.getPhysicalDevice(), layer->layerName);
2610 CheckEnumerateDeviceExtensionPropertiesIncompleteResult(layer->layerName)(context, results, properties.size());
2617 tcu::TestStatus extensionCoreVersions (Context& context)
2623 auto& log = context.getTestContext().getLog();
2626 const auto instanceExtensionProperties = enumerateInstanceExtensionProperties(context.getPlatformInterface(), DE_NULL);
2627 const auto deviceExtensionProperties = enumerateDeviceExtensionProperties(context.getInstanceInterface(), context.getPhysicalDevice(), DE_NULL);
2635 !context.contextSupports(vk::ApiVersion(0u, major, minor, 0u)))
2647 tcu::TestStatus deviceFeatures (Context& context)
2651 TestLog& log = context.getTestContext().getLog();
2718 context.getInstanceInterface().getPhysicalDeviceFeatures(context.getPhysicalDevice(), features);
2720 log << TestLog::Message << "device = " << context.getPhysicalDevice() << TestLog::EndMessage
2738 if (!validateInitComplete(context.getPhysicalDevice(), &InstanceInterface::getPhysicalDeviceFeatures, context.getInstanceInterface(), featureOffsetTable))
2869 tcu::TestStatus deviceProperties (Context& context)
2873 TestLog& log = context.getTestContext().getLog();
2881 context.getInstanceInterface().getPhysicalDeviceProperties(context.getPhysicalDevice(), props);
2882 context.getInstanceInterface().getPhysicalDeviceFeatures(context.getPhysicalDevice(), &features);
2884 log << TestLog::Message << "device = " << context.getPhysicalDevice() << TestLog::EndMessage
2899 if (!validateInitComplete(context.getPhysicalDevice(), &InstanceInterface::getPhysicalDeviceProperties, context.getInstanceInterface(), s_physicalDevicePropertiesOffsetTable))
2936 tcu::TestStatus deviceQueueFamilyProperties (Context& context)
2938 TestLog& log = context.getTestContext().getLog();
2939 const vector<VkQueueFamilyProperties> queueProperties = getPhysicalDeviceQueueFamilyProperties(context.getInstanceInterface(), context.getPhysicalDevice());
2941 log << TestLog::Message << "device = " << context.getPhysicalDevice() << TestLog::EndMessage;
2949 tcu::TestStatus deviceMemoryProperties (Context& context)
2951 TestLog& log = context.getTestContext().getLog();
2958 context.getInstanceInterface().getPhysicalDeviceMemoryProperties(context.getPhysicalDevice(), memProps);
2960 log << TestLog::Message << "device = " << context.getPhysicalDevice() << TestLog::EndMessage
3065 tcu::TestStatus deviceGroupPeerMemoryFeatures (Context& context)
3067 TestLog& log = context.getTestContext().getLog();
3068 const PlatformInterface& vkp = context.getPlatformInterface();
3069 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_device_group_creation"));
3071 const tcu::CommandLine& cmdLine = context.getTestContext().getCommandLine();
3073 const deUint32 deviceIdx = vk::chooseDeviceIndex(context.getInstanceInterface(), instance, cmdLine);
3104 if (!isCoreDeviceExtension(context.getUsedApiVersion(), deviceGroupExtName))
3134 VkDeviceObjectReservationCreateInfo memReservationInfo = context.getTestContext().getCommandLine().isSubProcess() ? context.getResourceInterface()->getStatMax() : resetDeviceObjectReservationCreateInfo();
3144 if (context.getTestContext().getCommandLine().isSubProcess())
3146 if (context.getResourceInterface()->getCacheDataSize() > 0)
3154 context.getResourceInterface()->getCacheDataSize(), // deUintptr initialDataSize;
3155 context.getResourceInterface()->getCacheData() // const void* pInitialData;
3161 poolSizes = context.getResourceInterface()->getPipelinePoolSizes();
3184 Move<VkDevice> deviceGroup = createCustomDevice(context.getTestContext().getCommandLine().isValidationEnabled(), vkp, instance, vki, deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx], &deviceCreateInfo);
3185 const DeviceDriver vk (vkp, instance, *deviceGroup, context.getUsedApiVersion());
3186 context.getInstanceInterface().getPhysicalDeviceMemoryProperties(deviceGroupProps[devGroupIdx].physicalDevices[deviceIdx], &memProps);
3231 tcu::TestStatus deviceMemoryBudgetProperties (Context& context)
3233 TestLog& log = context.getTestContext().getLog();
3236 if (!context.isDeviceFunctionalitySupported("VK_EXT_memory_budget"))
3250 context.getInstanceInterface().getPhysicalDeviceMemoryProperties2(context.getPhysicalDevice(), &memProps);
3252 log << TestLog::Message << "device = " << context.getPhysicalDevice() << TestLog::EndMessage
3297 tcu::TestStatus deviceMandatoryFeatures(Context& context)
3299 if ( checkMandatoryFeatures(context) )
3385 VkFormatFeatureFlags getRequiredOptimalExtendedTilingFeatures (Context& context, VkFormat format, VkFormatFeatureFlags queriedFlags)
3412 if (de::contains(context.getDeviceExtensions().begin(), context.getDeviceExtensions().end(), "VK_EXT_sampler_filter_minmax"))
3429 const InstanceInterface& vk = context.getInstanceInterface();
3430 vk.getPhysicalDeviceProperties2(context.getPhysicalDevice(), &physicalDeviceProperties);
3487 if ( (queriedFlags & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT) != 0 && de::contains(context.getDeviceExtensions().begin(), context.getDeviceExtensions().end(), "VK_EXT_filter_cubic") )
3492 const auto& coreFeatures = context.getDeviceFeatures();
3654 void checkYcbcrApiSupport (Context& context)
3660 if (!vk::isCoreDeviceExtension(context.getUsedApiVersion(), "VK_KHR_sampler_ycbcr_conversion"))
3662 if (!context.isDeviceFunctionalitySupported("VK_KHR_sampler_ycbcr_conversion"))
3666 TCU_CHECK(de::contains(context.getInstanceExtensions().begin(), context.getInstanceExtensions().end(), "VK_KHR_get_physical_device_properties2"));
3670 bool isYcbcrConversionSupported (Context& context)
3672 checkYcbcrApiSupport(context);
3674 const VkPhysicalDeviceSamplerYcbcrConversionFeatures ycbcrFeatures = getPhysicalDeviceSamplerYcbcrConversionFeatures(context.getInstanceInterface(), context.getPhysicalDevice());
3679 VkFormatFeatureFlags getRequiredYcbcrFormatFeatures (Context& context, VkFormat format)
3681 bool req = isYcbcrConversionSupported(context) && ( format == VK_FORMAT_G8_B8R8_2PLANE_420_UNORM ||
3691 VkFormatFeatureFlags getRequiredOptimalTilingFeatures (Context& context, VkFormat format)
3694 return getRequiredYcbcrFormatFeatures(context, format);
3701 ret |= getRequiredOptimalExtendedTilingFeatures(context, format, ret);
3715 bool requiresYCbCrConversion(Context& context, VkFormat format)
3720 if (!context.isDeviceFunctionalitySupported("VK_EXT_rgba10x6_formats"))
3732 const InstanceInterface &vk = context.getInstanceInterface();
3733 vk.getPhysicalDeviceFeatures2(context.getPhysicalDevice(), &coreFeatures);
3738 DE_UNREF(context);
3746 VkFormatFeatureFlags getAllowedOptimalTilingFeatures (Context &context, VkFormat format)
3751 if (context.isDeviceFunctionalitySupported(VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME))
3754 if (context.isDeviceFunctionalitySupported(VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME))
3779 if (requiresYCbCrConversion(context, format))
3788 VkFormatFeatureFlags getAllowedBufferFeatures (Context &context, VkFormat format)
3791 return requiresYCbCrConversion(context, format) ? (VkFormatFeatureFlags)0 : (VkFormatFeatureFlags)(~VK_FORMAT_FEATURE_DISJOINT_BIT);
3794 tcu::TestStatus formatProperties (Context& context, VkFormat format)
3798 checkYcbcrApiSupport(context);
3800 TestLog& log = context.getTestContext().getLog();
3801 const VkFormatProperties properties = getPhysicalDeviceFormatProperties(context.getInstanceInterface(), context.getPhysicalDevice(), format);
3802 const bool apiVersion10WithoutKhrMaintenance1 = isApiVersionEqual(context.getUsedApiVersion(), VK_API_VERSION_1_0) && !context.isDeviceFunctionalitySupported("VK_KHR_maintenance1");
3804 const VkFormatFeatureFlags reqImg = getRequiredOptimalTilingFeatures(context, format);
3806 const VkFormatFeatureFlags allowImg = getAllowedOptimalTilingFeatures(context, format);
3807 const VkFormatFeatureFlags allowBuf = getAllowedBufferFeatures(context, format);
3859 bool optimalTilingFeaturesSupported (Context& context, VkFormat format, VkFormatFeatureFlags features)
3861 const VkFormatProperties properties = getPhysicalDeviceFormatProperties(context.getInstanceInterface(), context.getPhysicalDevice(), format);
3862 const bool apiVersion10WithoutKhrMaintenance1 = isApiVersionEqual(context.getUsedApiVersion(), VK_API_VERSION_1_0) && !context.isDeviceFunctionalitySupported("VK_KHR_maintenance1");
3873 bool optimalTilingFeaturesSupportedForAll (Context& context, const VkFormat* begin, const VkFormat* end, VkFormatFeatureFlags features)
3877 if (!optimalTilingFeaturesSupported(context, *cur, features))
3884 tcu::TestStatus testDepthStencilSupported (Context& context)
3886 if (!optimalTilingFeaturesSupported(context, VK_FORMAT_X8_D24_UNORM_PACK32, VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT) &&
3887 !optimalTilingFeaturesSupported(context, VK_FORMAT_D32_SFLOAT, VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT))
3890 if (!optimalTilingFeaturesSupported(context, VK_FORMAT_D24_UNORM_S8_UINT, VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT) &&
3891 !optimalTilingFeaturesSupported(context, VK_FORMAT_D32_SFLOAT_S8_UINT, VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT))
3897 tcu::TestStatus testCompressedFormatsSupported (Context& context)
3977 TestLog& log = context.getTestContext().getLog();
3978 const VkPhysicalDeviceFeatures& features = context.getDeviceFeatures();
3991 const bool allSupported = optimalTilingFeaturesSupportedForAll(context,
4302 typedef tcu::TestStatus (*Function) (Context& context, const VkFormat format, const VkImageType imageType, const VkImageTiling tiling);
4324 tcu::TestStatus imageFormatProperties (Context& context, const VkFormat format, const VkImageType imageType, const VkImageTiling tiling)
4328 checkYcbcrApiSupport(context);
4330 TestLog& log = context.getTestContext().getLog();
4331 const VkPhysicalDeviceFeatures& deviceFeatures = context.getDeviceFeatures();
4332 const VkPhysicalDeviceLimits& deviceLimits = context.getDeviceProperties().limits;
4333 const VkFormatProperties formatProperties = getPhysicalDeviceFormatProperties(context.getInstanceInterface(), context.getPhysicalDevice(), format);
4334 const bool hasKhrMaintenance1 = context.isDeviceFunctionalitySupported("VK_KHR_maintenance1");
4347 if (isYcbcrConversionSupported(context) && (format == VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM || format == VK_FORMAT_G8_B8R8_2PLANE_420_UNORM))
4390 queryResult = context.getInstanceInterface().getPhysicalDeviceImageFormatProperties(context.getPhysicalDevice(),
4497 tcu::TestStatus deviceFeatures2 (Context& context)
4499 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
4500 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
4502 TestLog& log = context.getTestContext().getLog();
4508 std::vector<std::string> instExtensions = context.getInstanceExtensions();
4527 tcu::TestStatus deviceProperties2 (Context& context)
4529 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
4531 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
4532 TestLog& log = context.getTestContext().getLog();
4565 const bool khr_external_fence_capabilities = checkExtension(properties, "VK_KHR_external_fence_capabilities") || context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4566 const bool khr_external_memory_capabilities = checkExtension(properties, "VK_KHR_external_memory_capabilities") || context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4567 const bool khr_external_semaphore_capabilities = checkExtension(properties, "VK_KHR_external_semaphore_capabilities") || context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4568 const bool khr_multiview = checkExtension(properties, "VK_KHR_multiview") || context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4569 const bool khr_device_protected_memory = context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4570 const bool khr_device_subgroup = context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4571 const bool khr_maintenance2 = checkExtension(properties, "VK_KHR_maintenance2") || context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4572 const bool khr_maintenance3 = checkExtension(properties, "VK_KHR_maintenance3") || context.contextSupports(vk::ApiVersion(0, 1, 1, 0));
4573 const bool khr_depth_stencil_resolve = checkExtension(properties, "VK_KHR_depth_stencil_resolve") || context.contextSupports(vk::ApiVersion(0, 1, 2, 0));
4574 const bool khr_driver_properties = checkExtension(properties, "VK_KHR_driver_properties") || context.contextSupports(vk::ApiVersion(0, 1, 2, 0));
4575 const bool khr_shader_float_controls = checkExtension(properties, "VK_KHR_shader_float_controls") || context.contextSupports(vk::ApiVersion(0, 1, 2, 0));
4576 const bool khr_descriptor_indexing = checkExtension(properties, "VK_EXT_descriptor_indexing") || context.contextSupports(vk::ApiVersion(0, 1, 2, 0));
4577 const bool khr_sampler_filter_minmax = checkExtension(properties, "VK_EXT_sampler_filter_minmax") || context.contextSupports(vk::ApiVersion(0, 1, 2, 0));
4580 const bool khr_integer_dot_product = checkExtension(properties, "VK_KHR_shader_integer_dot_product") || context.contextSupports(vk::ApiVersion(0, 1, 3, 0));
4581 const bool khr_inline_uniform_block = checkExtension(properties, "VK_EXT_inline_uniform_block") || context.contextSupports(vk::ApiVersion(0, 1, 3, 0));
4582 const bool khr_maintenance4 = checkExtension(properties, "VK_KHR_maintenance4") || context.contextSupports(vk::ApiVersion(0, 1, 3, 0));
4583 const bool khr_subgroup_size_control = checkExtension(properties, "VK_EXT_subgroup_size_control") || context.contextSupports(vk::ApiVersion(0, 1, 3, 0));
4584 const bool khr_texel_buffer_alignment = checkExtension(properties, "VK_EXT_texel_buffer_alignment") || context.contextSupports(vk::ApiVersion(0, 1, 3, 0));
5183 tcu::TestStatus deviceFormatProperties2 (Context& context)
5185 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5187 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
5188 TestLog& log = context.getTestContext().getLog();
5217 tcu::TestStatus deviceQueueFamilyProperties2 (Context& context)
5219 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5221 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
5222 TestLog& log = context.getTestContext().getLog();
5268 tcu::TestStatus deviceMemoryProperties2 (Context& context)
5270 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5272 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
5273 TestLog& log = context.getTestContext().getLog();
5311 tcu::TestStatus deviceFeaturesVulkan12 (Context& context)
5424 TestLog& log = context.getTestContext().getLog();
5425 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5427 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
5439 if (!context.contextSupports(vk::ApiVersion(0, 1, 2, 0)))
5486 tcu::TestStatus deviceFeaturesVulkan13 (Context& context)
5534 TestLog& log = context.getTestContext().getLog();
5535 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
5536 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5545 if (!context.contextSupports(vk::ApiVersion(0, 1, 3, 0)))
5578 tcu::TestStatus devicePropertiesVulkan12 (Context& context)
5679 TestLog& log = context.getTestContext().getLog();
5680 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5682 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
5694 if (!context.contextSupports(vk::ApiVersion(0, 1, 2, 0)))
5742 tcu::TestStatus devicePropertiesVulkan13 (Context& context)
5807 TestLog& log = context.getTestContext().getLog();
5808 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
5809 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5818 if (!context.contextSupports(vk::ApiVersion(0, 1, 3, 0)))
5850 tcu::TestStatus deviceFeatureExtensionsConsistencyVulkan12(Context& context)
5852 TestLog& log = context.getTestContext().getLog();
5853 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
5855 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
5857 if (!context.contextSupports(vk::ApiVersion(0, 1, 2, 0)))
6064 tcu::TestStatus deviceFeatureExtensionsConsistencyVulkan13(Context& context)
6066 TestLog& log = context.getTestContext().getLog();
6067 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
6068 const CustomInstance instance = createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2");
6071 if (!context.contextSupports(vk::ApiVersion(0, 1, 3, 0)))
6196 tcu::TestStatus devicePropertyExtensionsConsistencyVulkan12(Context& context)
6198 TestLog& log = context.getTestContext().getLog();
6199 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
6201 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
6203 if (!context.contextSupports(vk::ApiVersion(0, 1, 2, 0)))
6363 tcu::TestStatus devicePropertyExtensionsConsistencyVulkan13(Context& context)
6365 TestLog& log = context.getTestContext().getLog();
6366 const VkPhysicalDevice physicalDevice = context.getPhysicalDevice();
6367 const CustomInstance instance = createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2");
6370 if (!context.contextSupports(vk::ApiVersion(0, 1, 3, 0)))
6460 tcu::TestStatus imageFormatProperties2 (Context& context, const VkFormat format, const VkImageType imageType, const VkImageTiling tiling)
6464 checkYcbcrApiSupport(context);
6466 TestLog& log = context.getTestContext().getLog();
6468 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
6470 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
6538 tcu::TestStatus sparseImageFormatProperties2 (Context& context, const VkFormat format, const VkImageType imageType, const VkImageTiling tiling)
6540 TestLog& log = context.getTestContext().getLog();
6542 const CustomInstance instance (createCustomInstanceWithExtension(context, "VK_KHR_get_physical_device_properties2"));
6544 const VkPhysicalDevice physicalDevice (chooseDevice(vki, instance, context.getTestContext().getCommandLine()));
6586 if (!context.getDeviceFeatures().sparseBinding)
6638 tcu::TestStatus execImageFormatTest (Context& context, ImageFormatPropertyCase testCase)
6640 return testCase.testFunction(context, testCase.format, testCase.imageType, testCase.tiling);
6735 tcu::TestStatus testNoUnknownExtensions (Context& context)
6737 TestLog& log = context.getTestContext().getLog();
6754 enumerateInstanceExtensionProperties(context.getPlatformInterface(), DE_NULL));
6758 const vector<VkLayerProperties> layers = enumerateInstanceLayerProperties(context.getPlatformInterface());
6764 enumerateInstanceExtensionProperties(context.getPlatformInterface(), layer->layerName));
6771 enumerateDeviceExtensionProperties(context.getInstanceInterface(), context.getPhysicalDevice(), DE_NULL));
6775 const vector<VkLayerProperties> layers = enumerateDeviceLayerProperties(context.getInstanceInterface(), context.getPhysicalDevice());
6781 enumerateDeviceExtensionProperties(context.getInstanceInterface(), context.getPhysicalDevice(), layer->layerName));
6788 tcu::TestStatus testNoLayers (Context& context)
6790 TestLog& log = context.getTestContext().getLog();
6794 const vector<VkLayerProperties> layers = enumerateInstanceLayerProperties(context.getPlatformInterface());
6801 const vector<VkLayerProperties> layers = enumerateDeviceLayerProperties(context.getInstanceInterface(), context.getPhysicalDevice());
6810 tcu::TestStatus testMandatoryExtensions (Context& context)
6812 TestLog& log = context.getTestContext().getLog();
6824 if (!context.isInstanceFunctionalitySupported(ext))
6838 if (!context.isDeviceFunctionalitySupported(ext))