Esempio n. 1
0
void
trace_texture_destroy(struct trace_texture *tr_tex)
{
   struct trace_screen *tr_scr = trace_screen(tr_tex->base.screen);

   trace_screen_remove_from_list(tr_scr, textures, tr_tex);

   pipe_texture_reference(&tr_tex->texture, NULL);
   FREE(tr_tex);
}
Esempio n. 2
0
void
trace_surface_destroy(struct trace_surface *tr_surf)
{
   struct trace_screen *tr_scr = trace_screen(tr_surf->base.texture->screen);

   trace_screen_remove_from_list(tr_scr, surfaces, tr_surf);

   pipe_texture_reference(&tr_surf->base.texture, NULL);
   pipe_surface_reference(&tr_surf->surface, NULL);
   FREE(tr_surf);
}
Esempio n. 3
0
void
trace_transfer_destroy(struct trace_transfer *tr_trans)
{
   struct trace_screen *tr_scr = trace_screen(tr_trans->base.texture->screen);
   struct pipe_screen *screen = tr_trans->transfer->texture->screen;

   trace_screen_remove_from_list(tr_scr, transfers, tr_trans);

   pipe_texture_reference(&tr_trans->base.texture, NULL);
   screen->tex_transfer_destroy(tr_trans->transfer);
   FREE(tr_trans);
}
Esempio n. 4
0
static INLINE void
trace_context_destroy(struct pipe_context *_pipe)
{
   struct trace_screen *tr_scr = trace_screen(_pipe->screen);
   struct trace_context *tr_ctx = trace_context(_pipe);
   struct pipe_context *pipe = tr_ctx->pipe;

   trace_dump_call_begin("pipe_context", "destroy");
   trace_dump_arg(ptr, pipe);
   trace_dump_call_end();

   trace_screen_remove_from_list(tr_scr, contexts, tr_ctx);

   pipe->destroy(pipe);

   FREE(tr_ctx);
}
Esempio n. 5
0
void trace_shader_destroy(struct trace_context *tr_ctx,
                          struct trace_shader *tr_shdr)
{
   trace_screen_remove_from_list(tr_ctx, shaders, tr_shdr);

   if (tr_shdr->replaced) {
      if (tr_shdr->type == TRACE_SHADER_FRAGMENT)
         tr_ctx->pipe->delete_fs_state(tr_ctx->pipe, tr_shdr->replaced);
      else if (tr_shdr->type == TRACE_SHADER_VERTEX)
         tr_ctx->pipe->delete_vs_state(tr_ctx->pipe, tr_shdr->replaced);
      else
         assert(0);
   }

   FREE(tr_shdr->replaced_tokens);
   FREE(tr_shdr->tokens);
   FREE(tr_shdr);
}