Struct webrender::device::gl::Capabilities
source · 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: bool
Whether multisampled render targets are supported.
supports_copy_image_sub_data: bool
Whether the function glCopyImageSubData
is available.
supports_color_buffer_float: bool
Whether the RGBAF32 textures can be bound to framebuffers.
supports_buffer_storage: bool
Whether the device supports persistently mapped buffers, via glBufferStorage.
supports_advanced_blend_equation: bool
Whether advanced blend equations are supported.
supports_dual_source_blending: bool
Whether dual-source blending is supported.
supports_khr_debug: bool
Whether KHR_debug is supported for getting debug messages from the driver.
supports_texture_swizzle: bool
Whether we can configure texture units to do swizzling on sampling.
supports_nonzero_pbo_offsets: bool
Whether the driver supports uploading to textures from a non-zero offset within a PBO.
supports_texture_usage: bool
Whether the driver supports specifying the texture usage up front.
supports_render_target_partial_update: bool
Whether offscreen render targets can be partially updated.
supports_shader_storage_object: bool
Whether 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: bool
Whether 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: bool
Whether we must perform a full unscissored glClear on alpha targets prior to rendering.
prefers_clear_scissor: bool
Whether 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: bool
Whether the driver can correctly invalidate render targets. This can be a worthwhile optimization, but is buggy on some devices.
supports_r8_texture_upload: bool
Whether the driver can reliably upload data to R8 format textures.
supports_qcom_tiled_rendering: bool
Whether the extension QCOM_tiled_rendering is supported.
uses_native_clip_mask: bool
Whether clip-masking is supported natively by the GL implementation rather than emulated in shaders.
uses_native_antialiasing: bool
Whether anti-aliasing is supported natively by the GL implementation rather than emulated in shaders.
supports_image_external_essl3: bool
Whether 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: bool
Whether the VAO must be rebound after an attached VBO has been orphaned.
renderer_name: String
The 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