Add start/end render

This commit is contained in:
twinaphex 2018-05-17 04:19:35 +02:00
parent fef586b887
commit 7afad7a84b

View File

@ -1022,6 +1022,21 @@ static void hlsl_d3d9_renderchain_render_pass(
d3d9_set_sampler_magfilter(chain->dev, 0, D3DTEXF_POINT);
}
static void d3d9_hlsl_renderchain_start_render(hlsl_d3d9_renderchain_t *chain)
{
chain->passes->data[0].tex = chain->prev.tex[chain->prev.ptr];
chain->passes->data[0].vertex_buf = chain->prev.vertex_buf[chain->prev.ptr];
chain->passes->data[0].last_width = chain->prev.last_width[chain->prev.ptr];
chain->passes->data[0].last_height = chain->prev.last_height[chain->prev.ptr];
}
static void d3d9_hlsl_renderchain_end_render(hlsl_d3d9_renderchain_t *chain)
{
chain->prev.last_width[chain->prev.ptr] = chain->passes->data[0].last_width;
chain->prev.last_height[chain->prev.ptr] = chain->passes->data[0].last_height;
chain->prev.ptr = (chain->prev.ptr + 1) & TEXTURESMASK;
}
static bool hlsl_d3d9_renderchain_render(
d3d9_video_t *d3d,
const video_frame_info_t *video_info,
@ -1037,6 +1052,8 @@ static bool hlsl_d3d9_renderchain_render(
hlsl_d3d9_renderchain_t *chain = (hlsl_d3d9_renderchain_t*)
d3d->renderchain_data;
d3d9_hlsl_renderchain_start_render(chain);
current_width = width;
current_height = height;
@ -1078,6 +1095,8 @@ static bool hlsl_d3d9_renderchain_render(
chain->frame_count++;
d3d9_hlsl_renderchain_end_render(chain);
d3d9_hlsl_renderchain_calc_and_set_shader_mvp(chain,
/* chain->vStock, */ chain->final_viewport->Width,
chain->final_viewport->Height, 0);