gpu-probe: say whether each adapter has compute, not just the preferred one

Compute is a downlevel capability rather than a feature -- unconditional
on any Vulkan 1.0 device, GLES 3.1 and up -- so the question shadows and
blur raise is what the *weakest* adapter iris can fall back to offers.
Both here answer yes: Venus and virgl each report COMPUTE_SHADERS, 1024
invocations per workgroup and 64 KB of workgroup storage, virgl because
it is ES 3.2. The only no-compute machine in this project is the
emulator's SwiftShader software GL at ES 3.0.

RUST.md gains that table, why DRM native context is unrelated to it, and
what each of shadows/blur/paths actually needs -- only vello proper turns
the compute question on.
This commit is contained in:
iris committed 2026-09-08 12:55:47 -04:00
1 parent b9924e7617
commit db0a41a7cd
2 files changed
+81

No files matched your search

+15
View File
@@ -79,6 +79,21 @@ fn main() {
" {:?} {} ({:?})",
info.backend, info.name, info.device_type
);
// Compute is a *downlevel* capability, not a feature: Vulkan
// grants it to any 1.0 device, and GLES only from ES 3.1. So
// "can iris use a compute pass here" is this flag on every
// adapter iris might fall back to, not just the preferred one.
let down = adapter.get_downlevel_capabilities();
let limits = adapter.limits();
println!(
" compute shaders: {} (shader model {:?})",
down.flags.contains(DownlevelFlags::COMPUTE_SHADERS),
down.shader_model
);
println!(
" max compute invocations/workgroup: {}, workgroup storage: {} bytes",
limits.max_compute_invocations_per_workgroup, limits.max_compute_workgroup_storage_size
);
}
let Some(adapter) = pollster::block_on(instance.request_adapter(&RequestAdapterOptions {