mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 06:44:27 +00:00
(D3D) Use pointer arguments instead of references
This commit is contained in:
parent
583855a85c
commit
249a0b898d
@ -85,7 +85,7 @@ bool renderchain_init(void *data, const video_info_t *video_info,
|
|||||||
if (!renderchain_create_first_pass(chain, info, fmt))
|
if (!renderchain_create_first_pass(chain, info, fmt))
|
||||||
return false;
|
return false;
|
||||||
renderchain_log_info(chain, info);
|
renderchain_log_info(chain, info);
|
||||||
if (!renderchain_compile_shaders(chain, chain->fStock, chain->vStock, ""))
|
if (!renderchain_compile_shaders(chain, &chain->fStock, &chain->vStock, ""))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -181,8 +181,8 @@ bool renderchain_add_pass(void *data, const void *info_data)
|
|||||||
pass.last_width = 0;
|
pass.last_width = 0;
|
||||||
pass.last_height = 0;
|
pass.last_height = 0;
|
||||||
|
|
||||||
renderchain_compile_shaders(chain, pass.fPrg,
|
renderchain_compile_shaders(chain, &pass.fPrg,
|
||||||
pass.vPrg, info->pass->source.path);
|
&pass.vPrg, info->pass->source.path);
|
||||||
|
|
||||||
if (!renderchain_init_shader_fvf(chain, &pass))
|
if (!renderchain_init_shader_fvf(chain, &pass))
|
||||||
return false;
|
return false;
|
||||||
@ -369,7 +369,7 @@ bool renderchain_render(void *chain_data, const void *data,
|
|||||||
back_buffer->Release();
|
back_buffer->Release();
|
||||||
|
|
||||||
renderchain_end_render(chain);
|
renderchain_end_render(chain);
|
||||||
renderchain_set_shaders(chain, chain->fStock, chain->vStock);
|
renderchain_set_shaders(chain, &chain->fStock, &chain->vStock);
|
||||||
renderchain_set_mvp(chain, chain->vStock, chain->final_viewport->Width,
|
renderchain_set_mvp(chain, chain->vStock, chain->final_viewport->Width,
|
||||||
chain->final_viewport->Height, 0);
|
chain->final_viewport->Height, 0);
|
||||||
|
|
||||||
@ -435,8 +435,8 @@ bool renderchain_create_first_pass(void *data, const void *info_data,
|
|||||||
d3d_set_texture(d3dr, 0, NULL);
|
d3d_set_texture(d3dr, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
renderchain_compile_shaders(chain, pass.fPrg,
|
renderchain_compile_shaders(chain, &pass.fPrg,
|
||||||
pass.vPrg, info->pass->source.path);
|
&pass.vPrg, info->pass->source.path);
|
||||||
|
|
||||||
if (!renderchain_init_shader_fvf(chain, &pass))
|
if (!renderchain_init_shader_fvf(chain, &pass))
|
||||||
return false;
|
return false;
|
||||||
@ -553,7 +553,7 @@ void renderchain_set_mvp(void *data, void *vertex_program,
|
|||||||
D3DXMatrixMultiply(&proj, &ortho, &rot);
|
D3DXMatrixMultiply(&proj, &ortho, &rot);
|
||||||
D3DXMatrixTranspose(&tmp, &proj);
|
D3DXMatrixTranspose(&tmp, &proj);
|
||||||
|
|
||||||
renderchain_set_shader_mvp(chain, vPrg, tmp);
|
renderchain_set_shader_mvp(chain, &vPrg, tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void renderchain_convert_geometry(
|
void renderchain_convert_geometry(
|
||||||
@ -625,7 +625,7 @@ void renderchain_render_pass(void *data, void *pass_data, unsigned pass_index)
|
|||||||
renderchain_t *chain = (renderchain_t*)data;
|
renderchain_t *chain = (renderchain_t*)data;
|
||||||
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)chain->dev;
|
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)chain->dev;
|
||||||
|
|
||||||
renderchain_set_shaders(chain, pass->fPrg, pass->vPrg);
|
renderchain_set_shaders(chain, &pass->fPrg, &pass->vPrg);
|
||||||
|
|
||||||
d3d_set_texture(d3dr, 0, pass->tex);
|
d3d_set_texture(d3dr, 0, pass->tex);
|
||||||
d3d_set_sampler_minfilter(d3dr, 0,
|
d3d_set_sampler_minfilter(d3dr, 0,
|
||||||
|
@ -169,16 +169,16 @@ void renderchain_log_info(void *data, const void *info_data);
|
|||||||
|
|
||||||
void renderchain_unbind_all(void *data);
|
void renderchain_unbind_all(void *data);
|
||||||
|
|
||||||
bool renderchain_compile_shaders(void *data, CGprogram &fPrg,
|
bool renderchain_compile_shaders(void *data, CGprogram *fPrg,
|
||||||
CGprogram &vPrg, const std::string &shader);
|
CGprogram *vPrg, const std::string &shader);
|
||||||
|
|
||||||
void renderchain_set_shaders(void *data, CGprogram &fPrg, CGprogram &vPrg);
|
void renderchain_set_shaders(void *data, CGprogram *fPrg, CGprogram *vPrg);
|
||||||
|
|
||||||
void renderchain_destroy_stock_shader(void *data);
|
void renderchain_destroy_stock_shader(void *data);
|
||||||
|
|
||||||
void renderchain_destroy_shader(void *data, int i);
|
void renderchain_destroy_shader(void *data, int i);
|
||||||
|
|
||||||
void renderchain_set_shader_mvp(void *data, CGprogram &vPrg, D3DXMATRIX &tmp);
|
void renderchain_set_shader_mvp(void *data, CGprogram *vPrg, D3DXMATRIX &tmp);
|
||||||
|
|
||||||
void renderchain_set_shader_params(void *data, void *pass_data,
|
void renderchain_set_shader_params(void *data, void *pass_data,
|
||||||
unsigned video_w, unsigned video_h,
|
unsigned video_w, unsigned video_h,
|
||||||
|
@ -88,8 +88,8 @@ static INLINE CGparameter find_param_from_semantic(CGprogram prog,
|
|||||||
prog, CG_PROGRAM), sem);
|
prog, CG_PROGRAM), sem);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool renderchain_compile_shaders(void *data, CGprogram &fPrg,
|
bool renderchain_compile_shaders(void *data, CGprogram *fPrg,
|
||||||
CGprogram &vPrg, const std::string &shader)
|
CGprogram *vPrg, const std::string &shader)
|
||||||
{
|
{
|
||||||
renderchain_t *chain = (renderchain_t*)data;
|
renderchain_t *chain = (renderchain_t*)data;
|
||||||
CGprofile vertex_profile = cgD3D9GetLatestVertexProfile();
|
CGprofile vertex_profile = cgD3D9GetLatestVertexProfile();
|
||||||
@ -103,13 +103,13 @@ bool renderchain_compile_shaders(void *data, CGprogram &fPrg,
|
|||||||
if (shader.length() > 0)
|
if (shader.length() > 0)
|
||||||
{
|
{
|
||||||
RARCH_LOG("[D3D Cg]: Compiling shader: %s.\n", shader.c_str());
|
RARCH_LOG("[D3D Cg]: Compiling shader: %s.\n", shader.c_str());
|
||||||
fPrg = cgCreateProgramFromFile(chain->cgCtx, CG_SOURCE,
|
*fPrg = cgCreateProgramFromFile(chain->cgCtx, CG_SOURCE,
|
||||||
shader.c_str(), fragment_profile, "main_fragment", fragment_opts);
|
shader.c_str(), fragment_profile, "main_fragment", fragment_opts);
|
||||||
|
|
||||||
if (cgGetLastListing(chain->cgCtx))
|
if (cgGetLastListing(chain->cgCtx))
|
||||||
RARCH_ERR("[D3D Cg]: Fragment error:\n%s\n", cgGetLastListing(chain->cgCtx));
|
RARCH_ERR("[D3D Cg]: Fragment error:\n%s\n", cgGetLastListing(chain->cgCtx));
|
||||||
|
|
||||||
vPrg = cgCreateProgramFromFile(chain->cgCtx, CG_SOURCE,
|
*vPrg = cgCreateProgramFromFile(chain->cgCtx, CG_SOURCE,
|
||||||
shader.c_str(), vertex_profile, "main_vertex", vertex_opts);
|
shader.c_str(), vertex_profile, "main_vertex", vertex_opts);
|
||||||
|
|
||||||
if (cgGetLastListing(chain->cgCtx))
|
if (cgGetLastListing(chain->cgCtx))
|
||||||
@ -119,13 +119,13 @@ bool renderchain_compile_shaders(void *data, CGprogram &fPrg,
|
|||||||
{
|
{
|
||||||
RARCH_LOG("[D3D Cg]: Compiling stock shader.\n");
|
RARCH_LOG("[D3D Cg]: Compiling stock shader.\n");
|
||||||
|
|
||||||
fPrg = cgCreateProgram(chain->cgCtx, CG_SOURCE, stock_program,
|
*fPrg = cgCreateProgram(chain->cgCtx, CG_SOURCE, stock_program,
|
||||||
fragment_profile, "main_fragment", fragment_opts);
|
fragment_profile, "main_fragment", fragment_opts);
|
||||||
|
|
||||||
if (cgGetLastListing(chain->cgCtx))
|
if (cgGetLastListing(chain->cgCtx))
|
||||||
RARCH_ERR("[D3D Cg]: Fragment error:\n%s\n", cgGetLastListing(chain->cgCtx));
|
RARCH_ERR("[D3D Cg]: Fragment error:\n%s\n", cgGetLastListing(chain->cgCtx));
|
||||||
|
|
||||||
vPrg = cgCreateProgram(chain->cgCtx, CG_SOURCE, stock_program,
|
*vPrg = cgCreateProgram(chain->cgCtx, CG_SOURCE, stock_program,
|
||||||
vertex_profile, "main_vertex", vertex_opts);
|
vertex_profile, "main_vertex", vertex_opts);
|
||||||
|
|
||||||
if (cgGetLastListing(chain->cgCtx))
|
if (cgGetLastListing(chain->cgCtx))
|
||||||
@ -135,15 +135,15 @@ bool renderchain_compile_shaders(void *data, CGprogram &fPrg,
|
|||||||
if (!fPrg || !vPrg)
|
if (!fPrg || !vPrg)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
cgD3D9LoadProgram(fPrg, true, 0);
|
cgD3D9LoadProgram(*fPrg, true, 0);
|
||||||
cgD3D9LoadProgram(vPrg, true, 0);
|
cgD3D9LoadProgram(*vPrg, true, 0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void renderchain_set_shaders(void *data, CGprogram &fPrg, CGprogram &vPrg)
|
void renderchain_set_shaders(void *data, CGprogram *fPrg, CGprogram *vPrg)
|
||||||
{
|
{
|
||||||
cgD3D9BindProgram(fPrg);
|
cgD3D9BindProgram(*fPrg);
|
||||||
cgD3D9BindProgram(vPrg);
|
cgD3D9BindProgram(*vPrg);
|
||||||
}
|
}
|
||||||
|
|
||||||
void renderchain_destroy_stock_shader(void *data)
|
void renderchain_destroy_stock_shader(void *data)
|
||||||
@ -176,9 +176,9 @@ void renderchain_destroy_shader(void *data, int i)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void renderchain_set_shader_mvp(void *data, CGprogram &vPrg, D3DXMATRIX &tmp)
|
void renderchain_set_shader_mvp(void *data, CGprogram *vPrg, D3DXMATRIX &tmp)
|
||||||
{
|
{
|
||||||
CGparameter cgpModelViewProj = cgGetNamedParameter(vPrg, "modelViewProj");
|
CGparameter cgpModelViewProj = cgGetNamedParameter(*vPrg, "modelViewProj");
|
||||||
if (cgpModelViewProj)
|
if (cgpModelViewProj)
|
||||||
cgD3D9SetUniformMatrix(cgpModelViewProj, &tmp);
|
cgD3D9SetUniformMatrix(cgpModelViewProj, &tmp);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user