pub struct Adapter {
shared: Arc<AdapterShared>,
}
Fields§
Implementations§
source§impl Adapter
impl Adapter
sourcepub unsafe fn new_external(
fun: impl FnMut(&str) -> *const c_void,
) -> Option<ExposedAdapter<Api>>
pub unsafe fn new_external( fun: impl FnMut(&str) -> *const c_void, ) -> Option<ExposedAdapter<Api>>
Creates a new external adapter using the specified loader function.
§Safety
- The underlying OpenGL ES context must be current.
- The underlying OpenGL ES context must be current when interfacing with any objects returned by wgpu-hal from this adapter.
- The underlying OpenGL ES context must be current when dropping this adapter and when dropping any objects returned from this adapter.
pub fn adapter_context(&self) -> &AdapterContext
source§impl Adapter
impl Adapter
sourcefn parse_version(src: &str) -> Result<(u8, u8), InstanceError>
fn parse_version(src: &str) -> Result<(u8, u8), InstanceError>
Note that this function is intentionally lenient in regards to parsing,
and will try to recover at least the first two version numbers without
resulting in an Err
.
§Notes
WebGL 2
version returned as OpenGL ES 3.0
sourcepub(super) fn parse_full_version(src: &str) -> Result<(u8, u8), InstanceError>
pub(super) fn parse_full_version(src: &str) -> Result<(u8, u8), InstanceError>
According to the OpenGL specification, the version information is expected to follow the following syntax:
<major> ::= <number>
<minor> ::= <number>
<revision> ::= <number>
<vendor-info> ::= <string>
<release> ::= <major> "." <minor> ["." <release>]
<version> ::= <release> [" " <vendor-info>]
Note that this function is intentionally lenient in regards to parsing,
and will try to recover at least the first two version numbers without
resulting in an Err
.
fn make_info( vendor_orig: String, renderer_orig: String, version: String, ) -> AdapterInfo
pub(super) unsafe fn expose( context: AdapterContext, ) -> Option<ExposedAdapter<Api>>
unsafe fn compile_shader( source: &str, gl: &Context, shader_type: u32, es: bool, ) -> Option<Shader>
unsafe fn create_shader_clear_program( gl: &Context, es: bool, ) -> Option<ShaderClearProgram>
Trait Implementations§
source§impl Adapter for Adapter
impl Adapter for Adapter
type A = Api
unsafe fn open( &self, features: Features, _limits: &Limits, _memory_hints: &MemoryHints, ) -> Result<OpenDevice<Api>, DeviceError>
source§unsafe fn texture_format_capabilities(
&self,
format: TextureFormat,
) -> TextureFormatCapabilities
unsafe fn texture_format_capabilities( &self, format: TextureFormat, ) -> TextureFormatCapabilities
Return the set of supported capabilities for a texture format.
source§unsafe fn surface_capabilities(
&self,
surface: &Surface,
) -> Option<SurfaceCapabilities>
unsafe fn surface_capabilities( &self, surface: &Surface, ) -> Option<SurfaceCapabilities>
Returns the capabilities of working with a specified surface. Read more
source§unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp
unsafe fn get_presentation_timestamp(&self) -> PresentationTimestamp
Creates a
PresentationTimestamp
using the adapter’s WSI.source§impl DynResource for Adapter
impl DynResource for Adapter
impl Send for Adapter
impl Sync for Adapter
Auto Trait Implementations§
impl Freeze for Adapter
impl !RefUnwindSafe for Adapter
impl Unpin for Adapter
impl !UnwindSafe for Adapter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more