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 cg_d3d9_renderchain_deinit_shader(cg_renderchain_t *chain) { if (!chain || !chain->cgCtx) return; cgD3D9UnloadAllPrograms(); cgD3D9SetDevice(NULL); cgDestroyContext(chain->cgCtx); chain->cgCtx = NULL; }
void d3d_deinit_shader(void *data) { D3DVideo *d3d = reinterpret_cast<D3DVideo*>(data); if (!d3d->cgCtx) return; cgD3D9UnloadAllPrograms(); cgD3D9SetDevice(NULL); cgDestroyContext(d3d->cgCtx); d3d->cgCtx = NULL; }
static void d3d_deinit_shader(void *data) { d3d_video_t *d3d = (d3d_video_t*)data; (void)d3d; (void)data; #ifdef HAVE_CG if (!d3d->cgCtx) return; cgD3D9UnloadAllPrograms(); cgD3D9SetDevice(NULL); cgDestroyContext(d3d->cgCtx); d3d->cgCtx = NULL; #endif }
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); }