| @@ -79,6 +79,7 @@ typedef struct VulkanDeviceFeatures { · 78 unmodified lines |
| 79 | 79 | VkPhysicalDeviceVulkan12Features vulkan_1_2; |
| 80 | 80 | VkPhysicalDeviceVulkan13Features vulkan_1_3; |
| 81 | 81 | VkPhysicalDeviceTimelineSemaphoreFeatures timeline_semaphore; |
| 82 | + VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR subgroup_rotate; |
| 82 | 83 | |
| 83 | 84 | #ifdef VK_KHR_shader_expect_assume |
| 84 | 85 | VkPhysicalDeviceShaderExpectAssumeFeaturesKHR expect_assume; |
| @@ -205,6 +206,8 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f · 120 unmodified lines |
| 205 | 206 | |
| 206 | 207 | FF_VK_STRUCT_EXT(s, &feats->device, &feats->timeline_semaphore, FF_VK_EXT_PORTABILITY_SUBSET, |
| 207 | 208 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES); |
| 209 | + FF_VK_STRUCT_EXT(s, &feats->device, &feats->subgroup_rotate, FF_VK_EXT_SUBGROUP_ROTATE, |
| 210 | + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES); |
| 208 | 211 | |
| 209 | 212 | #ifdef VK_KHR_shader_expect_assume |
| 210 | 213 | FF_VK_STRUCT_EXT(s, &feats->device, &feats->expect_assume, FF_VK_EXT_EXPECT_ASSUME, |
| @@ -283,6 +286,7 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF · 72 unmodified lines |
| 283 | 286 | COPY_VAL(vulkan_1_3.dynamicRendering); |
| 284 | 287 | |
| 285 | 288 | COPY_VAL(timeline_semaphore.timelineSemaphore); |
| 289 | + COPY_VAL(subgroup_rotate.shaderSubgroupRotate); |
| 286 | 290 | |
| 287 | 291 | COPY_VAL(video_maintenance_1.videoMaintenance1); |
| 288 | 292 | #ifdef VK_KHR_video_maintenance2 |
| @@ -588,6 +592,7 @@ static const VulkanOptExtension optional_device_exts[] = { · 299 unmodified lines |
| 588 | 592 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, |
| 589 | 593 | { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, |
| 590 | 594 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, |
| 595 | + { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, |
| 591 | 596 | #ifdef VK_KHR_shader_expect_assume |
| 592 | 597 | { VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME, FF_VK_EXT_EXPECT_ASSUME }, |
| 593 | 598 | #endif |