Tile pool creation

A tile pool is created via the ID3D11Device::CreateBuffer API by passing the D3D11_RESOURCE_MISC_TILE_POOL flag in the MiscFlags member of the D3D11_BUFFER_DESC structure that the pDesc parameter points to.

Applications can create one or more tile pools per Direct3D device. The total size of each tile pool is restricted to Direct3D 11's resource size limit, which is roughly 1/4 of graphics processing unit (GPU) RAM.

A tile pool is made of 64KB tiles, but the operating system (display driver) manages the entire pool as one or more allocations behind the scenes—the breakdown is not visible to applications. Tiled resources define content by pointing at tiles within a tile pool. Unmapping a tile from a tiled resource is done by pointing the tile to NULL. Such unmapped tiles have rules about the behavior of reads or writes. For info, see Hazard tracking versus tile pool resources.

Mappings are into a tile pool