Add a way to describe an adapter

This commit is contained in:
Paul Kernfeld 2019-09-07 12:05:17 -04:00
parent 88204b9d86
commit 36cccb827d
2 changed files with 17 additions and 0 deletions

View File

@ -5,6 +5,7 @@ use crate::{
hub::{GfxBackend, Token, GLOBAL},
id::{Input, Output},
AdapterId,
AdapterInfo,
Backend,
Device,
DeviceId,
@ -488,3 +489,18 @@ pub extern "C" fn wgpu_adapter_request_device(
let desc = &desc.cloned().unwrap_or_default();
gfx_select!(adapter_id => adapter_request_device(adapter_id, desc, PhantomData))
}
pub fn adapter_get_info<B: GfxBackend>(adapter_id: AdapterId) -> AdapterInfo {
let hub = B::hub();
let mut token = Token::root();
let (adapter_guard, _) = hub.adapters.read(&mut token);
let adapter = &adapter_guard[adapter_id];
adapter.raw.info.clone()
}
#[cfg(not(feature = "remote"))]
pub fn wgpu_adapter_get_info(
adapter_id: AdapterId
) -> AdapterInfo {
gfx_select!(adapter_id => adapter_get_info(adapter_id))
}

View File

@ -32,6 +32,7 @@ pub use self::pipeline::*;
pub use self::resource::*;
pub use self::swap_chain::*;
pub use hal::pso::read_spirv;
pub use hal::adapter::AdapterInfo;
use std::{
os::raw::c_char,