diff options
| author | Valentin Popov <valentin@popov.link> | 2026-06-25 06:55:08 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-06-25 10:45:39 +0300 |
| commit | e79d26ea68a562c95c13405516547acbbc23cefd (patch) | |
| tree | ec42ca0595207960ee7568b1663e43de5018a50f /adapters/fparkan-render-vulkan/src/ffi/tests.rs | |
| parent | e3c74485f1d3d2aff94de2a12486cf34c4bce0ed (diff) | |
| download | fparkan-e79d26ea68a562c95c13405516547acbbc23cefd.tar.xz fparkan-e79d26ea68a562c95c13405516547acbbc23cefd.zip | |
feat(vulkan-policy): report rejected device diagnostics
Diffstat (limited to 'adapters/fparkan-render-vulkan/src/ffi/tests.rs')
| -rw-r--r-- | adapters/fparkan-render-vulkan/src/ffi/tests.rs | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/adapters/fparkan-render-vulkan/src/ffi/tests.rs b/adapters/fparkan-render-vulkan/src/ffi/tests.rs index 524dbcb..c242d97 100644 --- a/adapters/fparkan-render-vulkan/src/ffi/tests.rs +++ b/adapters/fparkan-render-vulkan/src/ffi/tests.rs @@ -140,6 +140,14 @@ fn device_selection_skips_rejected_candidates_before_accepting_valid_gpu() { assert_eq!(report.device_name, "Accepted"); assert_eq!(report.graphics_queue_family, 2); assert_eq!(report.present_queue_family, 2); + assert_eq!( + report.rejected_devices, + vec![VulkanRejectedDeviceReport { + device_name: "Rejected".to_string(), + reason_code: "no_present_queue", + reason: "Vulkan device Rejected has no present queue".to_string(), + }] + ); } #[test] @@ -281,18 +289,17 @@ fn rejects_missing_graphics_present_swapchain_and_format() { #[test] fn capability_report_json_is_stable() { - let report = select_physical_device(&[device( - "GPU \"A\"", - VulkanDeviceType::DiscreteGpu, - 3, - true, - false, - )]) + let mut rejected = device("Rejected", VulkanDeviceType::IntegratedGpu, 0, true, false); + rejected.present_modes.clear(); + let report = select_physical_device(&[ + rejected, + device("GPU \"A\"", VulkanDeviceType::DiscreteGpu, 3, true, false), + ]) .expect("selected device"); assert_eq!( render_capability_report_json(&report), - "{\"schema\":1,\"vulkan_api\":\"1.1.0\",\"device_name\":\"GPU \\\"A\\\"\",\"score\":1101,\"graphics_queue_family\":3,\"present_queue_family\":3,\"portability_subset\":false,\"enabled_extensions\":[\"VK_KHR_swapchain\"]}" + "{\"schema\":1,\"vulkan_api\":\"1.1.0\",\"device_name\":\"GPU \\\"A\\\"\",\"score\":1101,\"graphics_queue_family\":3,\"present_queue_family\":3,\"portability_subset\":false,\"enabled_extensions\":[\"VK_KHR_swapchain\"],\"rejected_devices\":[{\"device_name\":\"Rejected\",\"reason_code\":\"missing_present_mode\",\"reason\":\"Vulkan device Rejected has no supported present mode\"}]}" ); } |
