static void d3d9_cg_destroy_resources(void *data) { unsigned i; cg_renderchain_t *cg_data = (cg_renderchain_t*)data; for (i = 0; i < TEXTURES; i++) { if (cg_data->prev.tex[i]) d3d_texture_free(cg_data->prev.tex[i]); if (cg_data->prev.vertex_buf[i]) d3d_vertex_buffer_free(cg_data->prev.vertex_buf[i], NULL); } d3d9_cg_deinit_progs(cg_data); for (i = 0; i < cg_data->luts.size(); i++) { if (cg_data->luts[i].tex) d3d_texture_free(cg_data->luts[i].tex); } cg_data->luts.clear(); if (cg_data->state_tracker) { state_tracker_free(cg_data->state_tracker); cg_data->state_tracker = NULL; } cgD3D9UnloadAllPrograms(); cgD3D9SetDevice(NULL); }
static void d3d9_cg_destroy_resources(cg_renderchain_t *chain) { unsigned i; for (i = 0; i < TEXTURES; i++) { if (chain->chain.prev.tex[i]) d3d9_texture_free(chain->chain.prev.tex[i]); if (chain->chain.prev.vertex_buf[i]) d3d9_vertex_buffer_free(chain->chain.prev.vertex_buf[i], NULL); } d3d9_cg_deinit_progs(chain); for (i = 0; i < chain->chain.luts->count; i++) { if (chain->chain.luts->data[i].tex) d3d9_texture_free(chain->chain.luts->data[i].tex); } cgD3D9UnloadAllPrograms(); cgD3D9SetDevice(NULL); }