Lines Matching defs:texture

86 /* Copy from a full GPU texture to a transfer's staging one. */
92 /* level means sample_index - 1 with MSAA. Used by texture uploads. */
103 /* Copy from a transfer's staging texture to a full GPU one. */
149 /* Each texture is an array of slices. Each slice is an array
163 /* Each texture is an array of mipmap levels. Each level is
390 * Disable DCC for the texture. (first decompress, then discard metadata).
398 * to the texture via CB with DCC enabled, and the order of operations is
400 * context 2 queues draw calls rendering to the texture, but doesn't flush
453 /* Copy the pixels to the new texture. */
564 * cannot do frontbuffer rendering with the texture. */
707 /* Move a suballocated texture into a non-suballocated allocation. */
1076 /* Initialize DCC only if the texture is not being imported. */
1267 * piglit/bin/tex-miplevel-selection 'texture()' 2DShadow -auto
1288 /* Compute texture or plane layouts and offsets. */
1691 bool si_init_flushed_depth_texture(struct pipe_context *ctx, struct pipe_resource *texture)
1693 struct si_texture *tex = (struct si_texture *)texture;
1695 enum pipe_format pipe_format = texture->format;
1712 * simultaneously (a flushed Z24S8 texture
1728 resource.target = texture->target;
1730 resource.width0 = texture->width0;
1731 resource.height0 = texture->height0;
1732 resource.depth0 = texture->depth0;
1733 resource.array_size = texture->array_size;
1734 resource.last_level = texture->last_level;
1735 resource.nr_samples = texture->nr_samples;
1736 resource.nr_storage_samples = texture->nr_storage_samples;
1738 resource.bind = texture->bind & ~PIPE_BIND_DEPTH_STENCIL;
1739 resource.flags = texture->flags | SI_RESOURCE_FLAG_FLUSHED_DEPTH;
1744 PRINT_ERR("failed to create temporary texture to hold flushed depth\n");
1752 * which is supposed to hold a subregion of the texture "orig" at the given
1785 /* We must set the correct texture target and dimensions for a 3D box. */
1822 static void *si_texture_transfer_map(struct pipe_context *ctx, struct pipe_resource *texture,
1827 struct si_texture *tex = (struct si_texture *)texture;
1833 unsigned real_level = texture->nr_samples > 1 ? 0 : level;
1835 assert(texture->target != PIPE_BUFFER);
1836 assert(!(texture->flags & SI_RESOURCE_FLAG_FORCE_LINEAR));
1850 * On dGPUs, the staging texture is always faster.
1860 /* Tiled textures need to be converted into a linear texture for CPU
1861 * access. The staging texture is always linear and is placed in GART.
1863 * dGPU use a staging texture for VRAM, so that we don't map it and
1867 * texture in this case.
1869 * Use the staging texture for uploads if the underlying BO
1893 pipe_resource_reference(&trans->b.b.resource, texture);
1904 si_init_temp_resource_from_box(&resource, texture, box, real_level, bo_usage,
1914 /* Create the temporary texture. */
1917 PRINT_ERR("failed to create temporary texture to hold untiled copy\n");
1939 /* Always unmap texture CPU mappings on 32-bit architectures, so that
1962 struct pipe_resource *texture = transfer->resource;
1963 struct si_texture *tex = (struct si_texture *)texture;
1965 /* Always unmap texture CPU mappings on 32-bit architectures, so that
1984 * Flush the gfx IB if we've allocated too much texture storage.
2124 pipe_resource_reference(&surface->base.texture, tex);
2142 pipe_resource_reference(&surface->texture, NULL);
2340 * Only enabled for GFX9. GFX10+ removed MS texture support. By specification
2341 * ARB_sparse_texture2 need MS texture support, but we relax it by just return