Lines Matching defs:features
107 bool validateFeatureLimits(VkPhysicalDeviceProperties* properties, VkPhysicalDeviceFeatures* features, TestLog& log)
119 if (features->tessellationShader)
124 if (features->geometryShader)
337 if (*((VkBool32*)((deUint8*)features+unsupportedFeatureTable[featureLimitTable[ndx].unsuppTableNdx].featureOffset)) == VK_FALSE)
379 if (*((VkBool32*)((deUint8*)features+unsupportedFeatureTable[featureLimitTable[ndx].unsuppTableNdx].featureOffset)) == VK_FALSE)
411 if (*((VkBool32*)((deUint8*)features+unsupportedFeatureTable[featureLimitTable[ndx].unsuppTableNdx].featureOffset)) == VK_FALSE)
442 if (*((VkBool32*)((deUint8*)features+unsupportedFeatureTable[featureLimitTable[ndx].unsuppTableNdx].featureOffset)) == VK_FALSE)
474 if (*((VkBool32*)((deUint8*)features+unsupportedFeatureTable[featureLimitTable[ndx].unsuppTableNdx].featureOffset)) == VK_FALSE)
699 const VkPhysicalDeviceFeatures& features = features2.features;
728 if (features.tessellationShader)
733 if (features.geometryShader)
740 if (features.geometryShader == VK_FALSE && features12.shaderOutputLayer == VK_FALSE)
761 { PN(features.sparseBinding), PN(limits.sparseAddressSpaceSize), LIM_MIN_DEVSIZE((1ull<<31)) },
783 { PN(features.tessellationShader), PN(limits.maxTessellationGenerationLevel), LIM_MIN_UINT32(64) },
784 { PN(features.tessellationShader), PN(limits.maxTessellationPatchSize), LIM_MIN_UINT32(32) },
785 { PN(features.tessellationShader), PN(limits.maxTessellationControlPerVertexInputComponents), LIM_MIN_UINT32(64) },
786 { PN(features.tessellationShader), PN(limits.maxTessellationControlPerVertexOutputComponents), LIM_MIN_UINT32(64) },
787 { PN(features.tessellationShader), PN(limits.maxTessellationControlPerPatchOutputComponents), LIM_MIN_UINT32(120) },
788 { PN(features.tessellationShader), PN(limits.maxTessellationControlTotalOutputComponents), LIM_MIN_UINT32(2048) },
789 { PN(features.tessellationShader), PN(limits.maxTessellationEvaluationInputComponents), LIM_MIN_UINT32(64) },
790 { PN(features.tessellationShader), PN(limits.maxTessellationEvaluationOutputComponents), LIM_MIN_UINT32(64) },
791 { PN(features.geometryShader), PN(limits.maxGeometryShaderInvocations), LIM_MIN_UINT32(32) },
792 { PN(features.geometryShader), PN(limits.maxGeometryInputComponents), LIM_MIN_UINT32(64) },
793 { PN(features.geometryShader), PN(limits.maxGeometryOutputComponents), LIM_MIN_UINT32(64) },
794 { PN(features.geometryShader), PN(limits.maxGeometryOutputVertices), LIM_MIN_UINT32(256) },
795 { PN(features.geometryShader), PN(limits.maxGeometryTotalOutputComponents), LIM_MIN_UINT32(1024) },
798 { PN(features.dualSrcBlend), PN(limits.maxFragmentDualSrcAttachments), LIM_MIN_UINT32(1) },
811 { PN(features.fullDrawIndexUint32), PN(limits.maxDrawIndexedIndexValue), LIM_MIN_UINT32((deUint32)~0) },
812 { PN(features.multiDrawIndirect), PN(limits.maxDrawIndirectCount), LIM_MIN_UINT32(65535) },
814 { PN(features.samplerAnisotropy), PN(limits.maxSamplerAnisotropy), LIM_MIN_FLOAT(16.0f) },
815 { PN(features.multiViewport), PN(limits.maxViewports), LIM_MIN_UINT32(16) },
830 { PN(features.shaderImageGatherExtended), PN(limits.minTexelGatherOffset), LIM_MAX_INT32(-8) },
831 { PN(features.shaderImageGatherExtended), PN(limits.maxTexelGatherOffset), LIM_MIN_INT32(7) },
832 { PN(features.sampleRateShading), PN(limits.minInterpolationOffset), LIM_MAX_FLOAT(-0.5f) },
833 { PN(features.sampleRateShading), PN(limits.maxInterpolationOffset), LIM_MIN_FLOAT(0.5f - (1.0f/deFloatPow(2.0f, (float)limits.subPixelInterpolationOffsetBits))) },
834 { PN(features.sampleRateShading), PN(limits.subPixelInterpolationOffsetBits), LIM_MIN_UINT32(4) },
848 { PN(features.shaderStorageImageMultisample), PN(limits.storageImageSampleCounts), LIM_MIN_BITI32(VK_SAMPLE_COUNT_1_BIT|VK_SAMPLE_COUNT_4_BIT) },
852 { PN(features.shaderClipDistance), PN(limits.maxClipDistances), LIM_MIN_UINT32(8) },
853 { PN(features.shaderCullDistance), PN(limits.maxCullDistances), LIM_MIN_UINT32(8) },
854 { PN(features.shaderClipDistance), PN(limits.maxCombinedClipAndCullDistances), LIM_MIN_UINT32(8) },
856 { PN(features.largePoints), PN(limits.pointSizeRange[0]), LIM_MIN_FLOAT(0.0f) },
857 { PN(features.largePoints), PN(limits.pointSizeRange[0]), LIM_MAX_FLOAT(1.0f) },
858 { PN(features.largePoints), PN(limits.pointSizeRange[1]), LIM_MIN_FLOAT(64.0f - limits.pointSizeGranularity) },
859 { PN(features.wideLines), PN(limits.lineWidthRange[0]), LIM_MIN_FLOAT(0.0f) },
860 { PN(features.wideLines), PN(limits.lineWidthRange[0]), LIM_MAX_FLOAT(1.0f) },
861 { PN(features.wideLines), PN(limits.lineWidthRange[1]), LIM_MIN_FLOAT(8.0f - limits.lineWidthGranularity) },
862 { PN(features.largePoints), PN(limits.pointSizeGranularity), LIM_MIN_FLOAT(0.0f) },
863 { PN(features.largePoints), PN(limits.pointSizeGranularity), LIM_MAX_FLOAT(1.0f) },
864 { PN(features.wideLines), PN(limits.lineWidthGranularity), LIM_MIN_FLOAT(0.0f) },
865 { PN(features.wideLines), PN(limits.lineWidthGranularity), LIM_MAX_FLOAT(1.0f) },
1254 // Extension string is present, then extension is really supported and should have been added into chain in DefaultDevice properties and features
1263 const VkPhysicalDeviceFeatures& features = context.getDeviceFeatures();
1264 const deUint32 tessellationShaderCount = (features.tessellationShader) ? 2 : 0;
1265 const deUint32 geometryShaderCount = (features.geometryShader) ? 1 : 0;
1612 if (robustness2Features.robustBufferAccess2 && !features2.features.robustBufferAccess)
2652 VkPhysicalDeviceFeatures* features;
2716 features = reinterpret_cast<VkPhysicalDeviceFeatures*>(buffer);
2718 context.getInstanceInterface().getPhysicalDeviceFeatures(context.getPhysicalDevice(), features);
2721 << TestLog::Message << *features << TestLog::EndMessage;
2725 if (!features->robustBufferAccess)
2875 VkPhysicalDeviceFeatures features;
2882 context.getInstanceInterface().getPhysicalDeviceFeatures(context.getPhysicalDevice(), &features);
2887 if (!validateFeatureLimits(props, &features, log))
3100 // Need at least 2 devices for peer memory features.
3228 return tcu::TestStatus::pass("Querying deviceGroup peer memory features succeeded");
3301 return tcu::TestStatus::fail("Not all mandatory features are supported ( see: vkspec.html#features-requirements )");
3700 // \todo [2017-05-18 pyry] Any other color conversion related features that can't be supported by regular formats?
3703 // Compressed formats have optional support for some features
3704 // TODO: Is this really correct? It looks like it should be checking the different compressed features
3778 // Formats for which SamplerYCbCrConversion is required may not support certain features.
3859 bool optimalTilingFeaturesSupported (Context& context, VkFormat format, VkFormatFeatureFlags features)
3870 return (supported & features) == features;
3873 bool optimalTilingFeaturesSupportedForAll (Context& context, const VkFormat* begin, const VkFormat* end, VkFormatFeatureFlags features)
3877 if (!optimalTilingFeaturesSupported(context, *cur, features))
3978 const VkPhysicalDeviceFeatures& features = context.getDeviceFeatures();
3987 const bool featureBitSet = features.*s_compressedFormatSets[setNdx].feature == VK_TRUE;
4507 deMemset(&extFeatures.features, 0xcd, sizeof(extFeatures.features));
4519 if (deMemCmp(&coreFeatures, &extFeatures.features, sizeof(VkPhysicalDeviceFeatures)) != 0)
4520 TCU_FAIL("Mismatch between features reported by vkGetPhysicalDeviceFeatures and vkGetPhysicalDeviceFeatures2");
4524 return tcu::TestStatus::pass("Querying device features succeeded");
5450 deMemset(&extFeatures.features, 0x00, sizeof(extFeatures.features));
5482 return tcu::TestStatus::pass("Querying Vulkan 1.2 device features succeeded");
5554 deMemset(&extFeatures.features, 0x00, sizeof(extFeatures.features));
5574 return tcu::TestStatus::pass("Querying Vulkan 1.3 device features succeeded");
5884 // collect all extension features
6060 return tcu::TestStatus::pass("Vulkan 1.2 device features are consistent with extensions");
6104 // collect all extension features
6119 // those two structures are part of extensions promoted in vk1.2 but now in 1.3 have required features
6183 // check required features from extensions that were promoted in earlier vulkan version
6192 return tcu::TestStatus::pass("Vulkan 1.3 device features are consistent with extensions");
6880 de::MovePtr<tcu::TestCaseGroup> subgroup(new tcu::TestCaseGroup(testCtx, "features", ""));
6898 addFunctionCase(extendedPropertiesTests.get(), "features", deviceFeaturesVulkan12);
6911 addFunctionCase(extendedPropertiesTests.get(), "features", deviceFeaturesVulkan13);
6974 // Limits and features check for roadmap 2022