Skip to content

Commit cf19f19

Browse files
committed
Updated to Vulkan headers 1.3.294
Adds support for: - VK_AMD_anti_lag - VK_KHR_pipeline_binary - VK_NV_command_buffer_inheritance
1 parent 257df74 commit cf19f19

4 files changed

Lines changed: 45 additions & 2 deletions

File tree

VulkanDeviceInfoExtensions.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -920,6 +920,19 @@ void VulkanDeviceInfoExtensions::readPhysicalProperties_KHR() {
920920
pushProperty2(extension, "nonStrictWideLinesUseParallelogram", QVariant(bool(extProps->nonStrictWideLinesUseParallelogram)));
921921
delete extProps;
922922
}
923+
if (extensionSupported("VK_KHR_pipeline_binary")) {
924+
const char* extension("VK_KHR_pipeline_binary");
925+
VkPhysicalDevicePipelineBinaryPropertiesKHR* extProps = new VkPhysicalDevicePipelineBinaryPropertiesKHR{};
926+
extProps->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_PROPERTIES_KHR;
927+
deviceProps2 = initDeviceProperties2(extProps);
928+
vulkanContext.vkGetPhysicalDeviceProperties2KHR(device, &deviceProps2);
929+
pushProperty2(extension, "pipelineBinaryInternalCache", QVariant(bool(extProps->pipelineBinaryInternalCache)));
930+
pushProperty2(extension, "pipelineBinaryInternalCacheControl", QVariant(bool(extProps->pipelineBinaryInternalCacheControl)));
931+
pushProperty2(extension, "pipelineBinaryPrefersInternalCache", QVariant(bool(extProps->pipelineBinaryPrefersInternalCache)));
932+
pushProperty2(extension, "pipelineBinaryPrecompiledInternalCache", QVariant(bool(extProps->pipelineBinaryPrecompiledInternalCache)));
933+
pushProperty2(extension, "pipelineBinaryCompressedData", QVariant(bool(extProps->pipelineBinaryCompressedData)));
934+
delete extProps;
935+
}
923936
if (extensionSupported("VK_KHR_cooperative_matrix")) {
924937
const char* extension("VK_KHR_cooperative_matrix");
925938
VkPhysicalDeviceCooperativeMatrixPropertiesKHR* extProps = new VkPhysicalDeviceCooperativeMatrixPropertiesKHR{};
@@ -1266,6 +1279,15 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_AMD() {
12661279
pushFeature2(extension, "shaderEarlyAndLateFragmentTests", extFeatures->shaderEarlyAndLateFragmentTests);
12671280
delete extFeatures;
12681281
}
1282+
if (extensionSupported("VK_AMD_anti_lag")) {
1283+
const char* extension("VK_AMD_anti_lag");
1284+
VkPhysicalDeviceAntiLagFeaturesAMD* extFeatures = new VkPhysicalDeviceAntiLagFeaturesAMD{};
1285+
extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ANTI_LAG_FEATURES_AMD;
1286+
deviceFeatures2 = initDeviceFeatures2(extFeatures);
1287+
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
1288+
pushFeature2(extension, "antiLag", extFeatures->antiLag);
1289+
delete extFeatures;
1290+
}
12691291
}
12701292
void VulkanDeviceInfoExtensions::readPhysicalFeatures_AMDX() {
12711293
VkPhysicalDeviceFeatures2 deviceFeatures2{};
@@ -2676,6 +2698,15 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_KHR() {
26762698
pushFeature2(extension, "rayTracingPositionFetch", extFeatures->rayTracingPositionFetch);
26772699
delete extFeatures;
26782700
}
2701+
if (extensionSupported("VK_KHR_pipeline_binary")) {
2702+
const char* extension("VK_KHR_pipeline_binary");
2703+
VkPhysicalDevicePipelineBinaryFeaturesKHR* extFeatures = new VkPhysicalDevicePipelineBinaryFeaturesKHR{};
2704+
extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_BINARY_FEATURES_KHR;
2705+
deviceFeatures2 = initDeviceFeatures2(extFeatures);
2706+
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
2707+
pushFeature2(extension, "pipelineBinaries", extFeatures->pipelineBinaries);
2708+
delete extFeatures;
2709+
}
26792710
if (extensionSupported("VK_KHR_cooperative_matrix")) {
26802711
const char* extension("VK_KHR_cooperative_matrix");
26812712
VkPhysicalDeviceCooperativeMatrixFeaturesKHR* extFeatures = new VkPhysicalDeviceCooperativeMatrixFeaturesKHR{};
@@ -3077,6 +3108,15 @@ void VulkanDeviceInfoExtensions::readPhysicalFeatures_NV() {
30773108
pushFeature2(extension, "shaderRawAccessChains", extFeatures->shaderRawAccessChains);
30783109
delete extFeatures;
30793110
}
3111+
if (extensionSupported("VK_NV_command_buffer_inheritance")) {
3112+
const char* extension("VK_NV_command_buffer_inheritance");
3113+
VkPhysicalDeviceCommandBufferInheritanceFeaturesNV* extFeatures = new VkPhysicalDeviceCommandBufferInheritanceFeaturesNV{};
3114+
extFeatures->sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMMAND_BUFFER_INHERITANCE_FEATURES_NV;
3115+
deviceFeatures2 = initDeviceFeatures2(extFeatures);
3116+
vulkanContext.vkGetPhysicalDeviceFeatures2KHR(device, &deviceFeatures2);
3117+
pushFeature2(extension, "commandBufferInheritance", extFeatures->commandBufferInheritance);
3118+
delete extFeatures;
3119+
}
30803120
if (extensionSupported("VK_NV_shader_atomic_float16_vector")) {
30813121
const char* extension("VK_NV_shader_atomic_float16_vector");
30823122
VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV* extFeatures = new VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV{};

VulkanDeviceInfoExtensions.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ class VulkanDeviceInfoExtensions
9797
void readPhysicalFeatures_VALVE();
9898

9999
public:
100-
const uint32_t vkHeaderVersion = 289;
100+
const uint32_t vkHeaderVersion = 294;
101101
std::vector<Feature2> features2;
102102
std::vector<Property2> properties2;
103103
std::vector<VkExtensionProperties> extensions;

extensionlist.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ VK_AMD_shader_core_properties
33
VK_AMD_shader_core_properties2
44
VK_AMD_device_coherent_memory
55
VK_AMD_shader_early_and_late_fragment_tests
6+
VK_AMD_anti_lag
67
AMDX
78
VK_AMDX_shader_enqueue
89
ANDROID
@@ -163,6 +164,7 @@ VK_KHR_shader_subgroup_rotate
163164
VK_KHR_shader_maximal_reconvergence
164165
VK_KHR_maintenance5
165166
VK_KHR_ray_tracing_position_fetch
167+
VK_KHR_pipeline_binary
166168
VK_KHR_cooperative_matrix
167169
VK_KHR_video_maintenance1
168170
VK_KHR_vertex_attribute_divisor
@@ -210,6 +212,7 @@ VK_NV_extended_sparse_address_space
210212
VK_NV_per_stage_descriptor_set
211213
VK_NV_descriptor_pool_overallocation
212214
VK_NV_raw_access_chains
215+
VK_NV_command_buffer_inheritance
213216
VK_NV_shader_atomic_float16_vector
214217
VK_NV_ray_tracing_validation
215218
NVX

0 commit comments

Comments
 (0)