(Cg renderchain) Refactor vStock/fStock

This commit is contained in:
twinaphex 2018-05-17 22:38:17 +02:00
parent 3b7a1a8a73
commit c412e2ec97
1 changed files with 12 additions and 12 deletions

View File

@ -78,8 +78,7 @@ static INLINE void d3d9_cg_set_param_matrix(void *data, void *userdata,
typedef struct cg_renderchain typedef struct cg_renderchain
{ {
struct d3d9_renderchain chain; struct d3d9_renderchain chain;
CGprogram vStock; struct shader_pass stock_shader;
CGprogram fStock;
CGcontext cgCtx; CGcontext cgCtx;
} cg_renderchain_t; } cg_renderchain_t;
@ -618,10 +617,10 @@ static void d3d9_cg_deinit_progs(cg_renderchain_t *chain)
} }
} }
if (chain->fStock) if (chain->stock_shader.fprg)
cgDestroyProgram(chain->fStock); cgDestroyProgram(chain->stock_shader.fprg);
if (chain->vStock) if (chain->stock_shader.vprg)
cgDestroyProgram(chain->vStock); cgDestroyProgram(chain->stock_shader.vprg);
} }
static void d3d9_cg_destroy_resources(cg_renderchain_t *chain) static void d3d9_cg_destroy_resources(cg_renderchain_t *chain)
@ -793,11 +792,12 @@ static bool d3d9_cg_renderchain_init(
if (!d3d9_cg_renderchain_create_first_pass(dev, chain, &chain->chain, info, fmt)) if (!d3d9_cg_renderchain_create_first_pass(dev, chain, &chain->chain, info, fmt))
return false; return false;
if (!d3d9_cg_load_program(chain, if (!d3d9_cg_load_program(chain,
(void**)&chain->fStock, (void**)&chain->vStock, NULL, false)) (void**)&chain->stock_shader.fprg,
(void**)&chain->stock_shader.vprg, NULL, false))
return false; return false;
cgD3D9BindProgram(chain->fStock); cgD3D9BindProgram((CGprogram)chain->stock_shader.fprg);
cgD3D9BindProgram(chain->vStock); cgD3D9BindProgram((CGprogram)chain->stock_shader.vprg);
return true; return true;
} }
@ -1101,10 +1101,10 @@ static bool d3d9_cg_renderchain_render(
d3d9_surface_free(back_buffer); d3d9_surface_free(back_buffer);
d3d9_renderchain_end_render(chain); d3d9_renderchain_end_render(chain);
cgD3D9BindProgram(_chain->fStock); cgD3D9BindProgram((CGprogram)_chain->stock_shader.fprg);
cgD3D9BindProgram(_chain->vStock); cgD3D9BindProgram((CGprogram)_chain->stock_shader.vprg);
d3d9_cg_renderchain_calc_and_set_shader_mvp( d3d9_cg_renderchain_calc_and_set_shader_mvp(
_chain->vStock, _chain->stock_shader.vprg,
chain->final_viewport->Width, chain->final_viewport->Width,
chain->final_viewport->Height, 0); chain->final_viewport->Height, 0);