Home | History | Annotate | Download | only in softpipe

Lines Matching refs:tile

29  * Render target tile caching.
46 * Return the position in the cache for the tile that contains win pos (x,y).
64 * Is the tile at (x,y) in cleared state?
78 * Mark the tile at (x,y) as not cleared.
118 tc->tile = MALLOC_STRUCT( softpipe_cached_tile );
119 if (!tc->tile)
149 FREE( tc->tile );
235 * Set pixels in a tile to the given clear color/value, float.
238 clear_tile_rgba(struct softpipe_cached_tile *tile,
246 memset(tile->data.color, 0, sizeof(tile->data.color));
254 tile->data.colorui128[i][j][0] = clear_value->ui[0];
255 tile->data.colorui128[i][j][1] = clear_value->ui[1];
256 tile->data.colorui128[i][j][2] = clear_value->ui[2];
257 tile->data.colorui128[i][j][3] = clear_value->ui[3];
263 tile->data.colori128[i][j][0] = clear_value->i[0];
264 tile->data.colori128[i][j][1] = clear_value->i[1];
265 tile->data.colori128[i][j][2] = clear_value->i[2];
266 tile->data.colori128[i][j][3] = clear_value->i[3];
272 tile->data.color[i][j][0] = clear_value->f[0];
273 tile->data.color[i][j][1] = clear_value->f[1];
274 tile->data.color[i][j][2] = clear_value->f[2];
275 tile->data.color[i][j][3] = clear_value->f[3];
284 * Set a tile to a solid value/color.
287 clear_tile(struct softpipe_cached_tile *tile,
295 memset(tile->data.any, (int) clear_value, TILE_SIZE * TILE_SIZE);
299 memset(tile->data.any, 0, 2 * TILE_SIZE * TILE_SIZE);
304 tile->data.depth16[i][j] = (ushort) clear_value;
311 memset(tile->data.any, 0, 4 * TILE_SIZE * TILE_SIZE);
316 tile->data.depth32[i][j] = (uint) clear_value;
323 memset(tile->data.any, 0, 8 * TILE_SIZE * TILE_SIZE);
328 tile->data.depth64[i][j] = clear_value;
353 /* clear the scratch tile to the clear value */
355 clear_tile(tc->tile, pt->resource->format, tc->clear_val);
357 clear_tile_rgba(tc->tile, pt->resource->format, &tc->clear_color);
360 /* push the tile to all positions marked as clear */
366 /* write the scratch tile to the surface */
370 tc->tile->data.any, 0/*STRIDE*/);
377 (unsigned *) tc->tile->data.colorui128);
382 (int *) tc->tile->data.colori128);
386 (float *) tc->tile->data.color);
441 * Flush the tile cache: write all dirty tiles back to the transfer.
452 struct softpipe_cached_tile *tile = tc->entries[pos];
453 if (!tile)
462 if (!tc->tile)
463 tc->tile = sp_alloc_tile(tc);
481 struct softpipe_cached_tile * tile = MALLOC_STRUCT(softpipe_cached_tile);
482 if (!tile)
484 /* in this case, steal an existing tile */
485 if (!tc->tile)
493 tc->tile = tc->entries[pos];
499 if (!tc->tile)
503 tile = tc->tile;
504 tc->tile = NULL;
508 return tile;
512 * Get a tile from the cache.
513 * \param x, y position of tile, in pixels
523 struct softpipe_cached_tile *tile = tc->entries[pos];
525 if (!tile) {
526 tile = sp_alloc_tile(tc);
527 tc->entries[pos] = tile;
534 /* put dirty tile back in framebuffer */
540 tile->data.depth32, 0/*STRIDE*/);
549 (unsigned *) tile->data.colorui128);
556 (int *) tile->data.colori128);
563 (float *) tile->data.color);
575 /* don't get tile from framebuffer, just clear it */
577 clear_tile(tile, pt->resource->format, tc->clear_val);
580 clear_tile_rgba(tile, pt->resource->format, &tc->clear_color);
585 /* get new tile data from transfer */
591 tile->data.depth32, 0/*STRIDE*/);
600 (unsigned *) tile->data.colorui128);
607 (int *) tile->data.colori128);
614 (float *) tile->data.color);
620 tc->last_tile = tile;
622 return tile;
632 * Save the color and set a 'clearflag' for each tile of the screen.