(Cg) Refactor/cleanups

This commit is contained in:
twinaphex 2016-04-17 03:56:20 +02:00
parent ade309d1f1
commit e7ab158a3b
2 changed files with 15 additions and 12 deletions

View File

@ -205,10 +205,10 @@ end:
return ret;
}
static INLINE void renderchain_set_shaders(void *data, CGprogram *fPrg, CGprogram *vPrg)
static INLINE void renderchain_set_shaders(CGprogram frag, CGprogram vert)
{
cgD3D9BindProgram(*fPrg);
cgD3D9BindProgram(*vPrg);
cgD3D9BindProgram(frag);
cgD3D9BindProgram(vert);
}
static void renderchain_set_shader_mvp(cg_renderchain_t *chain, void *shader_data, void *matrix_data)
@ -860,7 +860,7 @@ static bool cg_d3d9_renderchain_init(void *data,
if (!d3d9_cg_load_program(chain, &chain->fStock, &chain->vStock, NULL, false))
return false;
renderchain_set_shaders(chain, &chain->fStock, &chain->vStock);
renderchain_set_shaders(chain->fStock, chain->vStock);
return true;
}
@ -1275,7 +1275,7 @@ static void renderchain_render_pass(
if (!chain)
return;
renderchain_set_shaders(chain, &pass->fPrg, &pass->vPrg);
renderchain_set_shaders(pass->fPrg, pass->vPrg);
d3d_set_texture(chain->dev, 0, pass->tex);
d3d_set_sampler_minfilter(chain->dev, 0,
@ -1443,7 +1443,7 @@ static bool cg_d3d9_renderchain_render(
back_buffer->Release();
renderchain_end_render(chain);
renderchain_set_shaders(chain, &chain->fStock, &chain->vStock);
renderchain_set_shaders(chain->fStock, chain->vStock);
renderchain_set_mvp(chain, chain->vStock, chain->final_viewport->Width,
chain->final_viewport->Height, 0);

View File

@ -974,6 +974,12 @@ static void gl_cg_set_pass_attrib(
fbo->coord = cgGetNamedParameter(program->vprg, attr_buf);
}
static INLINE void gl_cg_set_shaders(CGprogram frag, CGprogram vert)
{
cgGLBindProgram(frag);
cgGLBindProgram(vert);
}
static void gl_cg_set_program_attributes(void *data, unsigned i)
{
unsigned j;
@ -982,8 +988,7 @@ static void gl_cg_set_program_attributes(void *data, unsigned i)
if (!cg_data)
return;
cgGLBindProgram(cg_data->prg[i].fprg);
cgGLBindProgram(cg_data->prg[i].vprg);
gl_cg_set_shaders(cg_data->prg[i].fprg, cg_data->prg[i].vprg);
gl_cg_set_program_base_attrib(cg_data, i);
@ -1153,8 +1158,7 @@ static void *gl_cg_init(void *data, const char *path)
/* No need to apply Android hack in Cg. */
cg_data->prg[VIDEO_SHADER_STOCK_BLEND] = cg_data->prg[0];
cgGLBindProgram(cg_data->prg[1].fprg);
cgGLBindProgram(cg_data->prg[1].vprg);
gl_cg_set_shaders(cg_data->prg[1].fprg, cg_data->prg[1].vprg);
return cg_data;
@ -1176,8 +1180,7 @@ static void gl_cg_use(void *data, void *shader_data, unsigned idx, bool set_acti
cg_data->active_idx = idx;
}
cgGLBindProgram(cg_data->prg[idx].vprg);
cgGLBindProgram(cg_data->prg[idx].fprg);
gl_cg_set_shaders(cg_data->prg[idx].fprg, cg_data->prg[idx].vprg);
}
}