Module webrender::texture_cache [] [src]

Structs

AllocationResult
CacheTextureIdList
FreeListIndex
FreeRectList

A binning free list. Binning is important to avoid sifting through lots of small strips when allocating many texture items.

FreeTextureLevel

FIXME(pcwalton): Would probably be more efficient as a bit vector.

TextureCache
TextureCacheArena
TextureCacheItem
TexturePage

A texture allocator using the guillotine algorithm with the rectangle merge improvement. See sections 2.2 and 2.2.5 in "A Thousand Ways to Pack the Bin - A Practical Approach to Two- Dimensional Rectangle Bin Packing":

Enums

AllocationKind
CoalescingStatus
FreeListBin

Constants

COALESCING_TIMEOUT

The amount of time in milliseconds we give ourselves to coalesce rects before giving up.

COALESCING_TIMEOUT_CHECKING_INTERVAL

The number of items that we process in the coalescing work list before checking whether we hit the timeout.

INITIAL_TEXTURE_SIZE

The desired initial size of each texture, in pixels.

MAX_BYTES_PER_TEXTURE

The number of bytes we're allowed to use for a texture.

MAX_RGBA_PIXELS_PER_TEXTURE

The number of RGBA pixels we're allowed to use for a texture.

MINIMUM_LARGE_RECT_SIZE

The minimum number of pixels on each side that we require for rects to be classified as "large" within the free list.

MINIMUM_MEDIUM_RECT_SIZE

The minimum number of pixels on each side that we require for rects to be classified as "medium" within the free list.

SQRT_MAX_RGBA_PIXELS_PER_TEXTURE

The square root of the number of RGBA pixels we're allowed to use for a texture, rounded down. to the next power of two.

Traits

FitsInside

Functions

initial_texture_size

Returns the number of pixels on a side we start out with for our texture atlases.

texture_create_op
texture_grow_op

Type Definitions

TextureCacheItemId