VkPhysicalDevice8BitStorageFeaturesKHR eightBitStorageFeatures;
VkPhysicalDevice16BitStorageFeatures sixteenBitStorageFeatures;
VkPhysicalDeviceVariablePointerFeatures variablePointerFeatures;
- VkPhysicalDeviceFloat16Int8FeaturesKHR float16Int8Features;
+ VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT vertexAttributeDivisorFeatures;
VkPhysicalDeviceDescriptorIndexingFeaturesEXT descriptorIndexingFeatures;
VkPhysicalDeviceInlineUniformBlockFeaturesEXT inlineUniformBlockFeatures;
VkPhysicalDeviceVulkanMemoryModelFeaturesKHR vulkanMemoryModelFeatures;
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR shaderAtomicInt64Features;
+ VkPhysicalDeviceConditionalRenderingFeaturesEXT conditionalRenderingFeatures;
VkPhysicalDeviceScalarBlockLayoutFeaturesEXT scalarBlockLayoutFeatures;
+ VkPhysicalDeviceFloat16Int8FeaturesKHR float16Int8Features;
DeviceFeatures (const InstanceInterface& vki,
const deUint32 apiVersion,
deMemset(&variablePointerFeatures, 0, sizeof(variablePointerFeatures));
deMemset(&descriptorIndexingFeatures, 0, sizeof(descriptorIndexingFeatures));
deMemset(&inlineUniformBlockFeatures, 0, sizeof(inlineUniformBlockFeatures));
+ deMemset(&float16Int8Features, 0, sizeof(float16Int8Features));
+ deMemset(&vertexAttributeDivisorFeatures, 0, sizeof(vertexAttributeDivisorFeatures));
+ deMemset(&descriptorIndexingFeatures, 0, sizeof(descriptorIndexingFeatures));
+ deMemset(&inlineUniformBlockFeatures, 0, sizeof(inlineUniformBlockFeatures));
deMemset(&vulkanMemoryModelFeatures, 0, sizeof(vulkanMemoryModelFeatures));
deMemset(&shaderAtomicInt64Features, 0, sizeof(shaderAtomicInt64Features));
+ deMemset(&conditionalRenderingFeatures, 0, sizeof(conditionalRenderingFeatures));
deMemset(&scalarBlockLayoutFeatures, 0, sizeof(scalarBlockLayoutFeatures));
+ deMemset(&float16Int8Features, 0, sizeof(float16Int8Features));
coreFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
samplerYCbCrConversionFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES;
variablePointerFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES_KHR;
descriptorIndexingFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
inlineUniformBlockFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
+ float16Int8Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR;
+ vertexAttributeDivisorFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_EXT;
+ descriptorIndexingFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT;
+ inlineUniformBlockFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT;
vulkanMemoryModelFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES_KHR;
shaderAtomicInt64Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR;
+ conditionalRenderingFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CONDITIONAL_RENDERING_FEATURES_EXT;
scalarBlockLayoutFeatures.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES_EXT;
+ float16Int8Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT16_INT8_FEATURES_KHR;
if (isPhysicalDeviceFeatures2Supported(apiVersion, instanceExtensions))
const VkPhysicalDevice8BitStorageFeaturesKHR& get8BitStorageFeatures (void) const { return m_deviceFeatures.eightBitStorageFeatures; }
const VkPhysicalDevice16BitStorageFeatures& get16BitStorageFeatures (void) const { return m_deviceFeatures.sixteenBitStorageFeatures; }
const VkPhysicalDeviceVariablePointerFeatures& getVariablePointerFeatures (void) const { return m_deviceFeatures.variablePointerFeatures; }
- const VkPhysicalDeviceFloat16Int8FeaturesKHR& getFloat16Int8Features (void) const { return m_deviceFeatures.float16Int8Features; }
+ const VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&getVertexAttributeDivisorFeatures (void) const { return m_deviceFeatures.vertexAttributeDivisorFeatures; }
const VkPhysicalDeviceVulkanMemoryModelFeaturesKHR& getVulkanMemoryModelFeatures (void) const { return m_deviceFeatures.vulkanMemoryModelFeatures; }
const VkPhysicalDeviceShaderAtomicInt64FeaturesKHR& getShaderAtomicInt64Features (void) const { return m_deviceFeatures.shaderAtomicInt64Features; }
+ const VkPhysicalDeviceConditionalRenderingFeaturesEXT& getConditionalRenderingFeatures (void) const { return m_deviceFeatures.conditionalRenderingFeatures; }
const VkPhysicalDeviceScalarBlockLayoutFeaturesEXT& getScalarBlockLayoutFeatures (void) const { return m_deviceFeatures.scalarBlockLayoutFeatures; }
+ const VkPhysicalDeviceFloat16Int8FeaturesKHR& getFloat16Int8Features (void) const { return m_deviceFeatures.float16Int8Features; }
VkDevice getDevice (void) const { return *m_device; }
const DeviceInterface& getDeviceInterface (void) const { return m_deviceInterface; }
const VkPhysicalDeviceProperties& getDeviceProperties (void) const { return m_deviceProperties; }
Context::get16BitStorageFeatures (void) const { return m_device->get16BitStorageFeatures(); }
const vk::VkPhysicalDeviceVariablePointerFeatures&
Context::getVariablePointerFeatures (void) const { return m_device->getVariablePointerFeatures(); }
- const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&
- Context::getFloat16Int8Features (void) const { return m_device->getFloat16Int8Features(); }
+const vk::VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT&
+ Context::getVertexAttributeDivisorFeatures (void) const { return m_device->getVertexAttributeDivisorFeatures(); }
const vk::VkPhysicalDeviceVulkanMemoryModelFeaturesKHR&
Context::getVulkanMemoryModelFeatures (void) const { return m_device->getVulkanMemoryModelFeatures(); }
const vk::VkPhysicalDeviceShaderAtomicInt64FeaturesKHR&
Context::getShaderAtomicInt64Features (void) const { return m_device->getShaderAtomicInt64Features(); }
+const vk::VkPhysicalDeviceConditionalRenderingFeaturesEXT&
+ Context::getConditionalRenderingFeatures(void) const { return m_device->getConditionalRenderingFeatures(); }
const vk::VkPhysicalDeviceScalarBlockLayoutFeaturesEXT&
Context::getScalarBlockLayoutFeatures (void) const { return m_device->getScalarBlockLayoutFeatures(); }
+ const vk::VkPhysicalDeviceFloat16Int8FeaturesKHR&
+ Context::getFloat16Int8Features (void) const { return m_device->getFloat16Int8Features(); }
const vk::VkPhysicalDeviceProperties& Context::getDeviceProperties (void) const { return m_device->getDeviceProperties(); }
const vector<string>& Context::getDeviceExtensions (void) const { return m_device->getDeviceExtensions(); }
vk::VkDevice Context::getDevice (void) const { return m_device->getDevice(); }