From 6c95f389b1885ab897cc6673b2f53dd2e3da42bd Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 16 Jan 2018 03:22:13 +0100 Subject: [PATCH] (Cg D3D9) Cleanups --- gfx/drivers_renderchain/d3d9_cg_renderchain.c | 65 +++++++++---------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/gfx/drivers_renderchain/d3d9_cg_renderchain.c b/gfx/drivers_renderchain/d3d9_cg_renderchain.c index 6c622a479a..82b2997de9 100644 --- a/gfx/drivers_renderchain/d3d9_cg_renderchain.c +++ b/gfx/drivers_renderchain/d3d9_cg_renderchain.c @@ -1062,7 +1062,7 @@ static void d3d9_cg_renderchain_set_final_viewport( const void *viewport_data) { d3d_video_t *d3d = (d3d_video_t*)data; - cg_renderchain_t *chain = (cg_renderchain_t*)renderchain_data; + cg_renderchain_t *chain = (cg_renderchain_t*)renderchain_data; const D3DVIEWPORT *final_viewport = (const D3DVIEWPORT*)viewport_data; if (chain) @@ -1165,8 +1165,12 @@ static bool d3d9_cg_renderchain_add_lut(void *data, static void d3d9_cg_renderchain_add_state_tracker( void *data, void *tracker_data) { - state_tracker_t *tracker = (state_tracker_t*)tracker_data; + state_tracker_t *tracker = (state_tracker_t*)tracker_data; cg_renderchain_t *chain = (cg_renderchain_t*)data; + + if (!chain) + return; + if (chain->state_tracker) state_tracker_free(chain->state_tracker); chain->state_tracker = tracker; @@ -1317,16 +1321,13 @@ static void cg_d3d9_renderchain_set_vertices( d3d_vertex_buffer_unlock(pass->vertex_buf); } - if (chain) - { - d3d9_cg_renderchain_calc_and_set_shader_mvp( - chain, pass->vPrg, vp_width, vp_height, rotation); - if (pass) - d3d9_cg_renderchain_set_shader_params(chain, pass, - width, height, - info->tex_w, info->tex_h, - vp_width, vp_height); - } + d3d9_cg_renderchain_calc_and_set_shader_mvp( + chain, pass->vPrg, vp_width, vp_height, rotation); + if (pass) + d3d9_cg_renderchain_set_shader_params(chain, pass, + width, height, + info->tex_w, info->tex_h, + vp_width, vp_height); } static void cg_d3d9_renderchain_blit_to_texture( @@ -1482,18 +1483,17 @@ static bool d3d9_cg_renderchain_render( unsigned width, unsigned height, unsigned pitch, unsigned rotation) { - LPDIRECT3DDEVICE d3dr; LPDIRECT3DSURFACE back_buffer, target; unsigned i, current_width, current_height, out_width = 0, out_height = 0; struct Pass *last_pass = NULL; d3d_video_t *d3d = (d3d_video_t*)data; cg_renderchain_t *chain = d3d ? (cg_renderchain_t*)d3d->renderchain_data : NULL; + LPDIRECT3DDEVICE d3dr = chain ? (LPDIRECT3DDEVICE)chain->dev : NULL; - if (chain) - { - d3dr = (LPDIRECT3DDEVICE)chain->dev; - d3d9_cg_renderchain_start_render(chain); - } + if (!chain) + return false; + + d3d9_cg_renderchain_start_render(chain); current_width = width; current_height = height; @@ -1534,16 +1534,14 @@ static bool d3d9_cg_renderchain_render( viewport.Width = out_width; viewport.Height = out_height; - if (chain) - d3d_set_viewports(chain->dev, &viewport); + d3d_set_viewports(chain->dev, &viewport); cg_d3d9_renderchain_set_vertices(chain, from_pass, current_width, current_height, out_width, out_height, out_width, out_height, 0); - if (chain) - cg_d3d9_renderchain_render_pass(chain, from_pass, i + 1); + cg_d3d9_renderchain_render_pass(chain, from_pass, i + 1); current_width = out_width; current_height = out_height; @@ -1560,8 +1558,7 @@ static bool d3d9_cg_renderchain_render( &out_width, &out_height, current_width, current_height, chain->final_viewport); - if (chain) - d3d_set_viewports(chain->dev, chain->final_viewport); + d3d_set_viewports(chain->dev, chain->final_viewport); cg_d3d9_renderchain_set_vertices(chain, last_pass, current_width, current_height, @@ -1569,23 +1566,19 @@ static bool d3d9_cg_renderchain_render( chain->final_viewport->Width, chain->final_viewport->Height, rotation); - if (chain) - cg_d3d9_renderchain_render_pass(chain, - last_pass, chain->passes->count); + cg_d3d9_renderchain_render_pass(chain, + last_pass, chain->passes->count); chain->frame_count++; d3d_surface_free(back_buffer); - if (chain) - { - d3d9_cg_renderchain_end_render(chain); - cgD3D9BindProgram(chain->fStock); - cgD3D9BindProgram(chain->vStock); - d3d9_cg_renderchain_calc_and_set_shader_mvp( - chain, chain->vStock, chain->final_viewport->Width, - chain->final_viewport->Height, 0); - } + d3d9_cg_renderchain_end_render(chain); + cgD3D9BindProgram(chain->fStock); + cgD3D9BindProgram(chain->vStock); + d3d9_cg_renderchain_calc_and_set_shader_mvp( + chain, chain->vStock, chain->final_viewport->Width, + chain->final_viewport->Height, 0); return true; }