pub struct Capabilities {Show 24 fields
    pub supports_multisampling: bool,
    pub supports_copy_image_sub_data: bool,
    pub supports_color_buffer_float: bool,
    pub supports_buffer_storage: bool,
    pub supports_advanced_blend_equation: bool,
    pub supports_dual_source_blending: bool,
    pub supports_khr_debug: bool,
    pub supports_texture_swizzle: bool,
    pub supports_nonzero_pbo_offsets: bool,
    pub supports_texture_usage: bool,
    pub supports_render_target_partial_update: bool,
    pub supports_shader_storage_object: bool,
    pub requires_batched_texture_uploads: Option<bool>,
    pub supports_alpha_target_clears: bool,
    pub requires_alpha_target_full_clear: bool,
    pub prefers_clear_scissor: bool,
    pub supports_render_target_invalidate: bool,
    pub supports_r8_texture_upload: bool,
    pub supports_qcom_tiled_rendering: bool,
    pub uses_native_clip_mask: bool,
    pub uses_native_antialiasing: bool,
    pub supports_image_external_essl3: bool,
    pub requires_vao_rebind_after_orphaning: bool,
    pub renderer_name: String,
}Fields§
§supports_multisampling: boolWhether multisampled render targets are supported.
supports_copy_image_sub_data: boolWhether the function glCopyImageSubData is available.
supports_color_buffer_float: boolWhether the RGBAF32 textures can be bound to framebuffers.
supports_buffer_storage: boolWhether the device supports persistently mapped buffers, via glBufferStorage.
supports_advanced_blend_equation: boolWhether advanced blend equations are supported.
supports_dual_source_blending: boolWhether dual-source blending is supported.
supports_khr_debug: boolWhether KHR_debug is supported for getting debug messages from the driver.
supports_texture_swizzle: boolWhether we can configure texture units to do swizzling on sampling.
supports_nonzero_pbo_offsets: boolWhether the driver supports uploading to textures from a non-zero offset within a PBO.
supports_texture_usage: boolWhether the driver supports specifying the texture usage up front.
supports_render_target_partial_update: boolWhether offscreen render targets can be partially updated.
supports_shader_storage_object: boolWhether we can use SSBOs.
requires_batched_texture_uploads: Option<bool>Whether to enforce that texture uploads be batched regardless of what the pref says.
supports_alpha_target_clears: boolWhether we are able to ue glClear to clear regions of an alpha render target. If false, we must use a shader to clear instead.
requires_alpha_target_full_clear: boolWhether we must perform a full unscissored glClear on alpha targets prior to rendering.
prefers_clear_scissor: boolWhether clearing a render target (immediately after binding it) is faster using a scissor rect to clear just the required area, or clearing the entire target without a scissor rect.
supports_render_target_invalidate: boolWhether the driver can correctly invalidate render targets. This can be a worthwhile optimization, but is buggy on some devices.
supports_r8_texture_upload: boolWhether the driver can reliably upload data to R8 format textures.
supports_qcom_tiled_rendering: boolWhether the extension QCOM_tiled_rendering is supported.
uses_native_clip_mask: boolWhether clip-masking is supported natively by the GL implementation rather than emulated in shaders.
uses_native_antialiasing: boolWhether anti-aliasing is supported natively by the GL implementation rather than emulated in shaders.
supports_image_external_essl3: boolWhether the extension GL_OES_EGL_image_external_essl3 is supported. If true, external textures can be used as normal. If false, external textures can only be rendered with certain shaders, and must first be copied in to regular textures for others.
requires_vao_rebind_after_orphaning: boolWhether the VAO must be rebound after an attached VBO has been orphaned.
renderer_name: StringThe name of the renderer, as reported by GL
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnwindSafe for Capabilities
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
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more