Beispiel #1
0
/**
 * Called when we're done writing to a color tile.
 */
static void
lp_rast_tile_end(struct lp_rasterizer_task *task)
{
#ifdef DEBUG
    if (LP_DEBUG & (DEBUG_SHOW_SUBTILES | DEBUG_SHOW_TILES)) {
        const struct lp_scene *scene = task->scene;
        unsigned buf;

        for (buf = 0; buf < scene->fb.nr_cbufs; buf++) {
            uint8_t *color = lp_rast_get_color_block_pointer(task, buf,
                             task->x, task->y);

            if (LP_DEBUG & DEBUG_SHOW_SUBTILES)
                outline_subtiles(color);
            else if (LP_DEBUG & DEBUG_SHOW_TILES)
                outline_tile(color);
        }
    }
#else
    (void) outline_subtiles;
#endif

    lp_rast_store_linear_color(task);

    if (task->query) {
        union lp_rast_cmd_arg dummy = {0};
        lp_rast_end_query(task, dummy);
    }

    /* debug */
    memset(task->color_tiles, 0, sizeof(task->color_tiles));
    task->depth_tile = NULL;

    task->bin = NULL;
}
Beispiel #2
0
/**
 * Called when we're done writing to a color tile.
 */
static void
lp_rast_tile_end(struct lp_rasterizer_task *task)
{
   unsigned i;

   for (i = 0; i < task->scene->num_active_queries; ++i) {
      lp_rast_end_query(task, lp_rast_arg_query(task->scene->active_queries[i]));
   }

   /* debug */
   memset(task->color_tiles, 0, sizeof(task->color_tiles));
   task->depth_tile = NULL;

   task->bin = NULL;
}
Beispiel #3
0
/**
 * Called when we're done writing to a color tile.
 */
static void
lp_rast_tile_end(struct lp_rasterizer_task *task)
{
   unsigned i;

   for (i = 0; i < PIPE_QUERY_TYPES; ++i) {
      if (task->query[i]) {
         lp_rast_end_query(task, lp_rast_arg_query(task->query[i]));
      }
   }

   /* debug */
   memset(task->color_tiles, 0, sizeof(task->color_tiles));
   task->depth_tile = NULL;

   task->bin = NULL;
}