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§

source§

impl Debug for Capabilities

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.