diff --git a/gfx/d3d/d3d.cpp b/gfx/d3d/d3d.cpp index 0b48e5e3f5..207fd88dc9 100644 --- a/gfx/d3d/d3d.cpp +++ b/gfx/d3d/d3d.cpp @@ -108,8 +108,8 @@ static bool d3d_init_shader(void *data) static void d3d_deinit_chain(d3d_video_t *d3d) { - renderchain_deinit(d3d->chain); - d3d->chain = NULL; + renderchain_deinit(d3d->renderchain_data); + d3d->renderchain_data = NULL; #ifdef _XBOX renderchain_free(d3d); #endif @@ -869,7 +869,7 @@ static bool d3d_init_imports(d3d_video_t *d3d) return false; } - renderchain_add_state_tracker(d3d->chain, state_tracker); + renderchain_add_state_tracker(d3d->renderchain_data, state_tracker); return true; } #endif @@ -901,9 +901,9 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info) video_info->input_scale * RARCH_SCALE_BASE; #endif - d3d->chain = renderchain_new(); + d3d->renderchain_data = renderchain_new(); - if (!d3d->chain) + if (!d3d->renderchain_data) return false; #ifdef _XBOX @@ -912,7 +912,7 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info) video_info->rgb32 ? RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565)) #else - if (!renderchain_init(d3d->chain, &d3d->video_info, + if (!renderchain_init(d3d->renderchain_data, &d3d->video_info, d3dr, &d3d->final_viewport, &link_info, d3d->video_info.rgb32 ? RETRO_PIXEL_FORMAT_XRGB8888 : RETRO_PIXEL_FORMAT_RGB565)) @@ -930,7 +930,8 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info) for (i = 1; i < d3d->shader.passes; i++) { - renderchain_convert_geometry(d3d->chain, &link_info, + renderchain_convert_geometry(d3d->renderchain_data, + &link_info, &out_width, &out_height, current_width, current_height, &d3d->final_viewport); @@ -941,7 +942,7 @@ static bool d3d_init_chain(d3d_video_t *d3d, const video_info_t *video_info) current_width = out_width; current_height = out_height; - if (!renderchain_add_pass(d3d->chain, &link_info)) + if (!renderchain_add_pass(d3d->renderchain_data, &link_info)) { RARCH_ERR("[D3D9]: Failed to add pass.\n"); return false; @@ -1225,7 +1226,8 @@ static bool d3d_init_luts(d3d_video_t *d3d) for (i = 0; i < d3d->shader.luts; i++) { bool ret = renderchain_add_lut( - d3d->chain, d3d->shader.lut[i].id, d3d->shader.lut[i].path, + d3d->renderchain_data, + d3d->shader.lut[i].id, d3d->shader.lut[i].path, d3d->shader.lut[i].filter == RARCH_FILTER_UNSPEC ? settings->video.smooth : (d3d->shader.lut[i].filter == RARCH_FILTER_LINEAR)); @@ -1559,7 +1561,7 @@ static bool d3d_frame(void *data, const void *frame, global->system.aspect_ratio); renderchain_set_final_viewport(d3d, - d3d->chain, &d3d->final_viewport); + d3d->renderchain_data, &d3d->final_viewport); d3d->should_resize = false; } @@ -1590,7 +1592,7 @@ static bool d3d_frame(void *data, const void *frame, #ifdef _XBOX d3d, #else - d3d->chain, + d3d->renderchain_data, #endif frame, width, height, pitch, d3d->dev_rotation)) diff --git a/gfx/d3d/d3d.h b/gfx/d3d/d3d.h index e54124403c..0e016006d8 100644 --- a/gfx/d3d/d3d.h +++ b/gfx/d3d/d3d.h @@ -140,7 +140,7 @@ typedef struct d3d_video #if defined(HAVE_MENU) && defined(HAVE_OVERLAY) overlay_t *menu; #endif - void *chain; + void *renderchain_data; #ifdef _XBOX /* TODO _ should all be refactored */ diff --git a/gfx/d3d/render_chain_cg.cpp b/gfx/d3d/render_chain_cg.cpp index c0d7b974a0..9e457a227f 100644 --- a/gfx/d3d/render_chain_cg.cpp +++ b/gfx/d3d/render_chain_cg.cpp @@ -974,7 +974,8 @@ static bool renderchain_set_pass_size(void *data, unsigned pass_index, return true; } -static void d3d_recompute_pass_sizes(d3d_video_t *d3d) +static void d3d_recompute_pass_sizes(d3d_video_t *d3d, + void *renderchain_data) { unsigned i; LinkInfo link_info = {0}; @@ -986,8 +987,9 @@ static void d3d_recompute_pass_sizes(d3d_video_t *d3d) unsigned current_height = link_info.tex_h; unsigned out_width = 0; unsigned out_height = 0; + cg_renderchain_t *chain = (cg_renderchain_t*)renderchain_data; - if (!renderchain_set_pass_size(d3d->chain, 0, + if (!renderchain_set_pass_size(chain, 0, current_width, current_height)) { RARCH_ERR("[D3D]: Failed to set pass size.\n"); @@ -996,21 +998,22 @@ static void d3d_recompute_pass_sizes(d3d_video_t *d3d) for (i = 1; i < d3d->shader.passes; i++) { - renderchain_convert_geometry(d3d->chain, &link_info, + renderchain_convert_geometry(chain, + &link_info, &out_width, &out_height, current_width, current_height, &d3d->final_viewport); link_info.tex_w = next_pow2(out_width); link_info.tex_h = next_pow2(out_height); - if (!renderchain_set_pass_size(d3d->chain, i, + if (!renderchain_set_pass_size(chain, i, link_info.tex_w, link_info.tex_h)) { RARCH_ERR("[D3D]: Failed to set pass size.\n"); return; } - current_width = out_width; + current_width = out_width; current_height = out_height; link_info.pass = &d3d->shader.pass[i]; @@ -1027,7 +1030,7 @@ void renderchain_set_final_viewport(void *data, if (chain) chain->final_viewport = (D3DVIEWPORT*)final_viewport; - d3d_recompute_pass_sizes(d3d); + d3d_recompute_pass_sizes(d3d, chain); } bool renderchain_add_pass(void *data, const void *info_data)