diff options
Diffstat (limited to 'adapters/fparkan-render-vulkan/src')
| -rw-r--r-- | adapters/fparkan-render-vulkan/src/ffi/smoke.rs | 7 | ||||
| -rw-r--r-- | adapters/fparkan-render-vulkan/src/ffi/smoke_types.rs | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/adapters/fparkan-render-vulkan/src/ffi/smoke.rs b/adapters/fparkan-render-vulkan/src/ffi/smoke.rs index b911b1e..f10cd7c 100644 --- a/adapters/fparkan-render-vulkan/src/ffi/smoke.rs +++ b/adapters/fparkan-render-vulkan/src/ffi/smoke.rs @@ -13,6 +13,7 @@ use super::{ VulkanSurfaceProbe, VulkanSwapchainProbe, VulkanSwapchainResources, VulkanValidationMessenger, VulkanValidationReport, }; +use crate::policy::KHR_PORTABILITY_SUBSET_EXTENSION; use crate::shader_manifest::{triangle_shader_manifest, validate_shader_manifest}; fn take_runtime_owners_in_dependency_order<Instance, Validation, Surface, Device, Swapchain>( @@ -142,6 +143,7 @@ impl VulkanSmokeRenderer { report: VulkanSmokeRendererReport { shader_manifest_hash: shader_manifest.manifest_hash.clone(), portability_enumeration: instance_config.enable_portability_enumeration, + portability_subset_enabled: false, device_name: String::new(), graphics_queue_family: 0, present_queue_family: 0, @@ -159,6 +161,11 @@ impl VulkanSmokeRenderer { .instance .as_ref() .is_some_and(|instance| instance.report.create_flags != 0), + portability_subset_enabled: device_ref + .report + .enabled_extensions + .iter() + .any(|extension| extension == KHR_PORTABILITY_SUBSET_EXTENSION), device_name: device_ref.report.device_name.clone(), graphics_queue_family: device_ref.report.graphics_queue_family, present_queue_family: device_ref.report.present_queue_family, diff --git a/adapters/fparkan-render-vulkan/src/ffi/smoke_types.rs b/adapters/fparkan-render-vulkan/src/ffi/smoke_types.rs index 7c581c3..87d7992 100644 --- a/adapters/fparkan-render-vulkan/src/ffi/smoke_types.rs +++ b/adapters/fparkan-render-vulkan/src/ffi/smoke_types.rs @@ -29,6 +29,8 @@ pub struct VulkanSmokeRendererReport { pub shader_manifest_hash: String, /// Whether portability enumeration was enabled at instance creation. pub portability_enumeration: bool, + /// Whether the logical device enabled `VK_KHR_portability_subset`. + pub portability_subset_enabled: bool, /// Selected device name. pub device_name: String, /// Graphics queue-family index. |
