Skip to content

Commit

Permalink
Updated headers to 1.3.264
Browse files Browse the repository at this point in the history
Adds support for:
- VK_EXT_frame_boundary
- VK_NV_descriptor_pool_overallocation
- VK_MSFT_layered_driver
- VK_QCOM_image_processing2
- VK_QCOM_filter_cubic_weights
- VK_QCOM_ycbcr_degamma
- VK_QCOM_filter_cubic_clamp
  • Loading branch information
SaschaWillems committed Sep 8, 2023
1 parent 13dce0e commit 3024e31
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 2 deletions.
59 changes: 59 additions & 0 deletions VulkanDeviceInfoExtensions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -743,6 +743,15 @@ void VulkanDeviceInfoExtensions::readPhysicalProperties_KHR() {
pushProperty2(extension, "cooperativeMatrixSupportedStages", QVariant(extProps.cooperativeMatrixSupportedStages));
}
}
void VulkanDeviceInfoExtensions::readPhysicalProperties_MSFT() {
if (extensionSupported("VK_MSFT_layered_driver")) {
const char* extension("VK_MSFT_layered_driver");
VkPhysicalDeviceLayeredDriverPropertiesMSFT extProps { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT };
VkPhysicalDeviceProperties2 deviceProps2(initDeviceProperties2(&extProps));
vulkanContext.vkGetPhysicalDeviceProperties2KHR(device, &deviceProps2);
pushProperty2(extension, "underlyingAPI", QVariant(extProps.underlyingAPI));
}
}
void VulkanDeviceInfoExtensions::readPhysicalProperties_NV() {
if (extensionSupported("VK_NV_shader_sm_builtins")) {
const char* extension("VK_NV_shader_sm_builtins");
Expand Down Expand Up @@ -897,6 +906,13 @@ void VulkanDeviceInfoExtensions::readPhysicalProperties_QCOM() {
pushProperty2(extension, "maxBlockMatchRegion", QVariant::fromValue(QVariantList({ extProps.maxBlockMatchRegion.width, extProps.maxBlockMatchRegion.height })));
pushProperty2(extension, "maxBoxFilterBlockSize", QVariant::fromValue(QVariantList({ extProps.maxBoxFilterBlockSize.width, extProps.maxBoxFilterBlockSize.height })));
}
if (extensionSupported("VK_QCOM_image_processing2")) {
const char* extension("VK_QCOM_image_processing2");
VkPhysicalDeviceImageProcessing2PropertiesQCOM extProps { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM };
VkPhysicalDeviceProperties2 deviceProps2(initDeviceProperties2(&extProps));
vulkanContext.vkGetPhysicalDeviceProperties2KHR(device, &deviceProps2);
pushProperty2(extension, "maxBlockMatchWindow", QVariant::fromValue(QVariantList({ extProps.maxBlockMatchWindow.width, extProps.maxBlockMatchWindow.height })));
}
}


Expand All @@ -907,6 +923,7 @@ void VulkanDeviceInfoExtensions::readExtendedProperties() {
readPhysicalProperties_EXT();
readPhysicalProperties_HUAWEI();
readPhysicalProperties_KHR();
readPhysicalProperties_MSFT();
readPhysicalProperties_NV();
readPhysicalProperties_NVX();
readPhysicalProperties_QCOM();
Expand Down Expand Up @@ -1399,6 +1416,13 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_EXT() {
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "pipelinePropertiesIdentifier", extFeatures.pipelinePropertiesIdentifier);
}
if (extensionSupported("VK_EXT_frame_boundary")) {
const char* extension("VK_EXT_frame_boundary");
VkPhysicalDeviceFrameBoundaryFeaturesEXT extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAME_BOUNDARY_FEATURES_EXT };
VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures));
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "frameBoundary", extFeatures.frameBoundary);
}
if (extensionSupported("VK_EXT_multisampled_render_to_single_sampled")) {
const char* extension("VK_EXT_multisampled_render_to_single_sampled");
VkPhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_FEATURES_EXT };
Expand Down Expand Up @@ -2169,6 +2193,13 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_NV() {
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "rayTracingInvocationReorder", extFeatures.rayTracingInvocationReorder);
}
if (extensionSupported("VK_NV_descriptor_pool_overallocation")) {
const char* extension("VK_NV_descriptor_pool_overallocation");
VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV };
VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures));
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "descriptorPoolOverallocation", extFeatures.descriptorPoolOverallocation);
}
}
void VulkanDeviceInfoExtensions::readPhysicalFeatures_QCOM() {
if (extensionSupported("VK_QCOM_fragment_density_map_offset")) {
Expand Down Expand Up @@ -2208,6 +2239,34 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_QCOM() {
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "multiviewPerViewRenderAreas", extFeatures.multiviewPerViewRenderAreas);
}
if (extensionSupported("VK_QCOM_image_processing2")) {
const char* extension("VK_QCOM_image_processing2");
VkPhysicalDeviceImageProcessing2FeaturesQCOM extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM };
VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures));
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "textureBlockMatch2", extFeatures.textureBlockMatch2);
}
if (extensionSupported("VK_QCOM_filter_cubic_weights")) {
const char* extension("VK_QCOM_filter_cubic_weights");
VkPhysicalDeviceCubicWeightsFeaturesQCOM extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM };
VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures));
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "selectableCubicWeights", extFeatures.selectableCubicWeights);
}
if (extensionSupported("VK_QCOM_ycbcr_degamma")) {
const char* extension("VK_QCOM_ycbcr_degamma");
VkPhysicalDeviceYcbcrDegammaFeaturesQCOM extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM };
VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures));
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "ycbcrDegamma", extFeatures.ycbcrDegamma);
}
if (extensionSupported("VK_QCOM_filter_cubic_clamp")) {
const char* extension("VK_QCOM_filter_cubic_clamp");
VkPhysicalDeviceCubicClampFeaturesQCOM extFeatures { VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM };
VkPhysicalDeviceFeatures2 deviceFeatures2(initDeviceFeatures2(&extFeatures));
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
pushFeature2(extension, "cubicRangeClamp", extFeatures.cubicRangeClamp);
}
}
void VulkanDeviceInfoExtensions::readPhysicalFeatures_QNX() {
#if defined(VK_USE_PLATFORM_SCREEN_QNX)
Expand Down
3 changes: 2 additions & 1 deletion VulkanDeviceInfoExtensions.h
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ class VulkanDeviceInfoExtensions
void readPhysicalFeatures_INTEL();
void readPhysicalFeatures_KHR();
void readPhysicalProperties_KHR();
void readPhysicalProperties_MSFT();
void readPhysicalFeatures_NV();
void readPhysicalProperties_NV();
void readPhysicalProperties_NVX();
Expand All @@ -91,7 +92,7 @@ class VulkanDeviceInfoExtensions
void readPhysicalFeatures_VALVE();

public:
const uint32_t vkHeaderVersion = 261;
const uint32_t vkHeaderVersion = 264;
std::vector<Feature2> features2;
std::vector<Property2> properties2;
std::vector<VkExtensionProperties> extensions;
Expand Down

0 comments on commit 3024e31

Please sign in to comment.