Module webrender::renderer[][src]

The webrender API.

The webrender::renderer module provides the interface to webrender, which is accessible through Renderer

Modules

desc

Structs

ActiveTexture
CacheRow
CacheTexture

The device-specific representation of the cache texture in gpu_cache.rs

CpuProfile
DebugFlags
DebugServer
ExternalImage

The data that an external client should provide about an external image. The timestamp is used to test if the renderer should upload new texture data this frame. For instance, if providing video frames, the application could call wr.render() whenever a new video frame is ready. If the callback increments the returned timestamp for a given image, the renderer will know to re-upload the image data to the GPU. Note that the UV coords are supplied in texel-space!

FileWatcher
FrameOutput
GpuGlyphRenderer
GpuProfile
GraphicsApiInfo
LazyInitializedDebugRenderer
PackedVertex
PipelineInfo
PlainRenderer
PlainTexture
Renderer

The renderer is responsible for submitting to the GPU the work prepared by the RenderBackend.

RendererOptions
RendererStats
RendererVAOs
SourceTextureResolver
StenciledGlyphPage
TargetSelector
VertexDataTexture

Enums

BlendMode
CacheBus

The bus over which CPU and GPU versions of the cache get synchronized.

ExternalImageSource
GraphicsApi
ImageBufferKind
RendererError
RendererKind
ShaderColorMode
TextureSampler
VertexArrayKind

Constants

BLOCKS_PER_UV_RECT

Number of GPU blocks per UV rectangle provided for an image.

GPU_CACHE_RESIZE_TEST

Enabling this toggle would force the GPU cache scattered texture to be resized every frame, which enables GPU debuggers to see if this is performed correctly.

GPU_SAMPLER_TAG_ALPHA
GPU_SAMPLER_TAG_OPAQUE
GPU_SAMPLER_TAG_TRANSPARENT
GPU_TAG_BLIT
GPU_TAG_BLUR
GPU_TAG_BRUSH_BLEND
GPU_TAG_BRUSH_IMAGE
GPU_TAG_BRUSH_LINEAR_GRADIENT
GPU_TAG_BRUSH_MIXBLEND
GPU_TAG_BRUSH_RADIAL_GRADIENT
GPU_TAG_BRUSH_SOLID
GPU_TAG_BRUSH_YUV_IMAGE
GPU_TAG_CACHE_BORDER
GPU_TAG_CACHE_CLIP
GPU_TAG_PRIM_SPLIT_COMPOSITE
GPU_TAG_PRIM_TEXT_RUN
GPU_TAG_SETUP_DATA
GPU_TAG_SETUP_TARGET
MAX_VERTEX_TEXTURE_WIDTH
_IMPL_SERIALIZE_FOR_BlendMode
_IMPL_SERIALIZE_FOR_ImageBufferKind
_IMPL_SERIALIZE_FOR_PlainRenderer
_IMPL_SERIALIZE_FOR_PlainTexture

Traits

AsyncPropertySampler

Allows callers to hook into the main render_backend loop and provide additional frame ops for generate_frame transactions. These functions are all called from the render backend thread.

ExternalImageHandler

The interfaces that an application can implement to support providing external image buffers. When the the application passes an external image to WR, it should kepp that external image life time. People could check the epoch id in RenderNotifier at the client side to make sure that the external image is not used by WR. Then, do the clean up for that external image.

OutputImageHandler

Allows callers to receive a texture with the contents of a specific pipeline copied to it. Lock should return the native texture handle and the size of the texture. Unlock will only be called if the lock() call succeeds, when WR has issued the GL commands to copy the output to the texture handle.

SceneBuilderHooks

Allows callers to hook in at certain points of the async scene build. These functions are all called from the scene builder thread.

ThreadListener

Functions

flag_changed
get_vao