diff --git a/gfx/common/d3d9_common.c b/gfx/common/d3d9_common.c index 23dadc22f0..ca1ef81bdc 100644 --- a/gfx/common/d3d9_common.c +++ b/gfx/common/d3d9_common.c @@ -1067,7 +1067,9 @@ void d3d9_overlay_render(d3d9_video_t *d3d, memcpy(verts, vert, sizeof(vert)); d3d9_vertex_buffer_unlock((LPDIRECT3DVERTEXBUFFER9)overlay->vert_buf); - d3d9_enable_blend_func(d3d->dev); + IDirect3DDevice9_SetRenderState(d3d->dev, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); + IDirect3DDevice9_SetRenderState(d3d->dev, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); + IDirect3DDevice9_SetRenderState(d3d->dev, D3DRS_ALPHABLENDENABLE, true); /* set vertex declaration for overlay. */ d3d9_vertex_declaration_new(dev, &vElems, (void**)&vertex_decl); @@ -1117,7 +1119,8 @@ void d3d9_overlay_render(d3d9_video_t *d3d, void d3d9_free_overlay(d3d9_video_t *d3d, overlay_t *overlay) { - d3d9_texture_free((LPDIRECT3DTEXTURE9)overlay->tex); + if ((LPDIRECT3DTEXTURE9)overlay->tex) + IDirect3DTexture9_Release((LPDIRECT3DTEXTURE9)overlay->tex); d3d9_vertex_buffer_free(overlay->vert_buf, NULL); } #endif @@ -1179,7 +1182,7 @@ void d3d9_set_menu_texture_frame(void *data, d3d->menu->tex_w != width || d3d->menu->tex_h != height) { - d3d9_texture_free((LPDIRECT3DTEXTURE9)d3d->menu->tex); + IDirect3DTexture9_Release((LPDIRECT3DTEXTURE9)d3d->menu->tex); d3d->menu->tex = d3d9_texture_new(d3d->dev, NULL, width, height, 1, @@ -1238,7 +1241,7 @@ void d3d9_set_menu_texture_frame(void *data, } if (d3d->menu) - d3d9_unlock_rectangle((LPDIRECT3DTEXTURE9)d3d->menu->tex); + IDirect3DTexture9_UnlockRect((LPDIRECT3DTEXTURE9)d3d->menu->tex, 0); } } @@ -1301,7 +1304,7 @@ static void d3d9_video_texture_load_d3d( for (i = 0; i < ti->height; i++, dst += pitch, src += ti->width) memcpy(dst, src, ti->width << 2); - d3d9_unlock_rectangle(tex); + IDirect3DTexture9_UnlockRect(tex, 0); } *id = (uintptr_t)tex; @@ -1347,7 +1350,7 @@ void d3d9_unload_texture(void *data, return; texid = (LPDIRECT3DTEXTURE9)id; - d3d9_texture_free(texid); + IDirect3DTexture9_Release(texid); } void d3d9_set_video_mode(void *data, @@ -1530,7 +1533,7 @@ void d3d9_blit_to_texture( { d3d9_texture_blit(pixel_size, tex, &d3dlr, frame, width, height, pitch); - d3d9_unlock_rectangle(tex); + IDirect3DTexture9_UnlockRect(tex, 0); } } @@ -1627,7 +1630,7 @@ static bool d3d9_overlay_load(void *data, for (y = 0; y < height; y++, dst += pitch, src += width) memcpy(dst, src, width << 2); - d3d9_unlock_rectangle((LPDIRECT3DTEXTURE9)overlay->tex); + IDirect3DTexture9_UnlockRect((LPDIRECT3DTEXTURE9)overlay->tex, 0); } overlay->tex_w = width; diff --git a/gfx/common/d3d9_common.h b/gfx/common/d3d9_common.h index dc50079752..7679e28ef3 100644 --- a/gfx/common/d3d9_common.h +++ b/gfx/common/d3d9_common.h @@ -149,84 +149,14 @@ static INLINE void d3d9_set_stream_source( stride); } -static INLINE void d3d9_texture_free(LPDIRECT3DTEXTURE9 tex) -{ - if (tex) - IDirect3DTexture9_Release(tex); -} - -static INLINE void d3d9_set_sampler_address_u( - LPDIRECT3DDEVICE9 dev, - unsigned sampler, unsigned value) -{ - IDirect3DDevice9_SetSamplerState(dev, - sampler, D3DSAMP_ADDRESSU, value); -} - -static INLINE void d3d9_set_sampler_address_v( - LPDIRECT3DDEVICE9 dev, - unsigned sampler, unsigned value) -{ - IDirect3DDevice9_SetSamplerState(dev, - sampler, D3DSAMP_ADDRESSV, value); -} - -static INLINE void d3d9_set_sampler_minfilter( - LPDIRECT3DDEVICE9 dev, - unsigned sampler, unsigned value) -{ - if (dev) - IDirect3DDevice9_SetSamplerState(dev, - sampler, D3DSAMP_MINFILTER, value); -} - -static INLINE void d3d9_set_sampler_magfilter( - LPDIRECT3DDEVICE9 dev, - unsigned sampler, unsigned value) -{ - if (dev) - IDirect3DDevice9_SetSamplerState(dev, - sampler, D3DSAMP_MAGFILTER, value); -} - -static INLINE void d3d9_set_sampler_mipfilter( - LPDIRECT3DDEVICE9 dev, - unsigned sampler, unsigned value) -{ - if (dev) - IDirect3DDevice9_SetSamplerState(dev, sampler, - D3DSAMP_MIPFILTER, value); -} - -static INLINE bool d3d9_begin_scene(LPDIRECT3DDEVICE9 dev) -{ - if (!dev) - return false; -#if defined(_XBOX) - IDirect3DDevice9_BeginScene(dev); -#else - if (FAILED(IDirect3DDevice9_BeginScene(dev))) - return false; -#endif - - return true; -} - -static INLINE void d3d9_end_scene(LPDIRECT3DDEVICE9 dev) -{ - if (dev) - IDirect3DDevice9_EndScene(dev); -} - static INLINE void d3d9_draw_primitive( LPDIRECT3DDEVICE9 dev, D3DPRIMITIVETYPE type, unsigned start, unsigned count) { - if (!dev || !d3d9_begin_scene(dev)) - return; + IDirect3DDevice9_BeginScene(dev); IDirect3DDevice9_DrawPrimitive(dev, type, start, count); - d3d9_end_scene(dev); + IDirect3DDevice9_EndScene(dev); } static INLINE bool d3d9_lock_rectangle( @@ -248,12 +178,6 @@ static INLINE bool d3d9_lock_rectangle( return true; } -static INLINE void d3d9_unlock_rectangle(LPDIRECT3DTEXTURE9 tex) -{ - if (tex) - IDirect3DTexture9_UnlockRect(tex, 0); -} - static INLINE void d3d9_lock_rectangle_clear(void *tex, unsigned level, D3DLOCKED_RECT *lr, RECT *rect, unsigned rectangle_height, unsigned flags) @@ -262,7 +186,7 @@ static INLINE void d3d9_lock_rectangle_clear(void *tex, level = 0; #endif memset(lr->pBits, level, rectangle_height * lr->Pitch); - d3d9_unlock_rectangle((LPDIRECT3DTEXTURE9)tex); + IDirect3DTexture9_UnlockRect((LPDIRECT3DTEXTURE9)tex, 0); } static INLINE void d3d9_set_texture( @@ -390,37 +314,6 @@ static INLINE void d3d9_vertex_declaration_free( IDirect3DVertexDeclaration9_Release(decl); } -static INLINE void d3d9_set_viewports(LPDIRECT3DDEVICE9 dev, - void *vp) -{ - if (dev) - IDirect3DDevice9_SetViewport(dev, (D3DVIEWPORT9*)vp); -} - -static INLINE void d3d9_set_scissor_rect( - LPDIRECT3DDEVICE9 dev, RECT *rect) -{ - IDirect3DDevice9_SetScissorRect(dev, rect); -} - -static INLINE void d3d9_set_render_state( - LPDIRECT3DDEVICE9 dev, D3DRENDERSTATETYPE state, DWORD value) -{ - IDirect3DDevice9_SetRenderState(dev, state, value); -} - -static INLINE void d3d9_enable_blend_func(LPDIRECT3DDEVICE9 dev) -{ - IDirect3DDevice9_SetRenderState(dev, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA); - IDirect3DDevice9_SetRenderState(dev, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA); - IDirect3DDevice9_SetRenderState(dev, D3DRS_ALPHABLENDENABLE, true); -} - -static INLINE void d3d9_disable_blend_func(LPDIRECT3DDEVICE9 dev) -{ - IDirect3DDevice9_SetRenderState(dev, D3DRS_ALPHABLENDENABLE, false); -} - static INLINE void d3d9_set_vertex_declaration(LPDIRECT3DDEVICE9 dev, LPDIRECT3DVERTEXDECLARATION9 vertex_data) diff --git a/gfx/drivers/d3d9_renderchain.h b/gfx/drivers/d3d9_renderchain.h index 5cb04e79ca..1e5296a2ef 100644 --- a/gfx/drivers/d3d9_renderchain.h +++ b/gfx/drivers/d3d9_renderchain.h @@ -127,8 +127,8 @@ static INLINE bool d3d9_renderchain_add_pass(d3d9_renderchain_t *chain, pass->tex = tex; d3d9_set_texture(chain->dev, 0, pass->tex); - d3d9_set_sampler_address_u(chain->dev, 0, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(chain->dev, 0, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); d3d9_set_texture(chain->dev, 0, NULL); shader_pass_vector_list_append(chain->passes, *pass); @@ -167,8 +167,8 @@ static INLINE bool d3d9_renderchain_add_lut(d3d9_renderchain_t *chain, return false; d3d9_set_texture(chain->dev, 0, lut); - d3d9_set_sampler_address_u(chain->dev, 0, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(chain->dev, 0, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); d3d9_set_texture(chain->dev, 0, NULL); lut_info_vector_list_append(chain->luts, info); @@ -208,12 +208,12 @@ static INLINE void d3d9_renderchain_add_lut_internal( unsigned index, unsigned i) { d3d9_set_texture(chain->dev, index, chain->luts->data[i].tex); - d3d9_set_sampler_magfilter(chain->dev, index, + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MAGFILTER, d3d_translate_filter(chain->luts->data[i].smooth ? RARCH_FILTER_LINEAR : RARCH_FILTER_NEAREST)); - d3d9_set_sampler_minfilter(chain->dev, index, + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MINFILTER, d3d_translate_filter(chain->luts->data[i].smooth ? RARCH_FILTER_LINEAR : RARCH_FILTER_NEAREST)); - d3d9_set_sampler_address_u(chain->dev, index, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(chain->dev, index, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); unsigned_vector_list_append(chain->bound_tex, index); } @@ -245,10 +245,10 @@ static INLINE void d3d9_renderchain_unbind_all(d3d9_renderchain_t *chain) */ for (i = 0; i < chain->bound_tex->count; i++) { - d3d9_set_sampler_minfilter(chain->dev, - chain->bound_tex->data[i], D3DTEXF_POINT); - d3d9_set_sampler_magfilter(chain->dev, - chain->bound_tex->data[i], D3DTEXF_POINT); + IDirect3DDevice9_SetSamplerState(chain->dev, + chain->bound_tex->data[i], D3DSAMP_MINFILTER, D3DTEXF_POINT); + IDirect3DDevice9_SetSamplerState(chain->dev, + chain->bound_tex->data[i], D3DSAMP_MAGFILTER, D3DTEXF_POINT); d3d9_set_texture(chain->dev, chain->bound_tex->data[i], NULL); } @@ -278,7 +278,7 @@ static INLINE bool d3d9_renderchain_set_pass_size( { if (width != pass->info.tex_w || height != pass->info.tex_h) { - d3d9_texture_free(pass->tex); + IDirect3DTexture9_Release(pass->tex); pass->info.tex_w = width; pass->info.tex_h = height; @@ -296,8 +296,8 @@ static INLINE bool d3d9_renderchain_set_pass_size( return false; d3d9_set_texture(dev, 0, pass->tex); - d3d9_set_sampler_address_u(dev, 0, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(dev, 0, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); d3d9_set_texture(dev, 0, NULL); } diff --git a/gfx/drivers/d3d9cg.c b/gfx/drivers/d3d9cg.c index b33daac56f..fbce6852eb 100644 --- a/gfx/drivers/d3d9cg.c +++ b/gfx/drivers/d3d9cg.c @@ -478,12 +478,12 @@ static void d3d9_cg_renderchain_bind_orig( { unsigned index = cgGetParameterResourceIndex(param); d3d9_set_texture(chain->dev, index, first_pass->tex); - d3d9_set_sampler_magfilter(chain->dev, index, - d3d_translate_filter(first_pass->info.pass->filter)); - d3d9_set_sampler_minfilter(chain->dev, index, - d3d_translate_filter(first_pass->info.pass->filter)); - d3d9_set_sampler_address_u(chain->dev, index, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(chain->dev, index, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, + index, D3DSAMP_MINFILTER, d3d_translate_filter(first_pass->info.pass->filter)); + IDirect3DDevice9_SetSamplerState(chain->dev, + index, D3DSAMP_MAGFILTER, d3d_translate_filter(first_pass->info.pass->filter)); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); unsigned_vector_list_append(chain->bound_tex, index); } @@ -568,12 +568,12 @@ static void d3d9_cg_renderchain_bind_prev(d3d9_renderchain_t *chain, d3d9_set_texture(chain->dev, index, tex); unsigned_vector_list_append(chain->bound_tex, index); - d3d9_set_sampler_magfilter(chain->dev, index, + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MINFILTER, d3d_translate_filter(chain->passes->data[0].info.pass->filter)); - d3d9_set_sampler_minfilter(chain->dev, index, + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MAGFILTER, d3d_translate_filter(chain->passes->data[0].info.pass->filter)); - d3d9_set_sampler_address_u(chain->dev, index, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(chain->dev, index, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); } param = cgGetNamedParameter(vprg, attr_coord); @@ -647,12 +647,12 @@ static void d3d9_cg_renderchain_bind_pass( unsigned_vector_list_append(chain->bound_tex, index); d3d9_set_texture(chain->dev, index, curr_pass->tex); - d3d9_set_sampler_magfilter(chain->dev, index, + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MINFILTER, d3d_translate_filter(curr_pass->info.pass->filter)); - d3d9_set_sampler_minfilter(chain->dev, index, + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_MAGFILTER, d3d_translate_filter(curr_pass->info.pass->filter)); - d3d9_set_sampler_address_u(chain->dev, index, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(chain->dev, index, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(chain->dev, index, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); } param = cgGetNamedParameter(vprg, attr_coord); @@ -680,7 +680,7 @@ static void d3d9_cg_deinit_progs(cg_renderchain_t *chain) for (i = 1; i < chain->chain.passes->count; i++) { if (chain->chain.passes->data[i].tex) - d3d9_texture_free(chain->chain.passes->data[i].tex); + IDirect3DTexture9_Release(chain->chain.passes->data[i].tex); chain->chain.passes->data[i].tex = NULL; d3d9_vertex_buffer_free( chain->chain.passes->data[i].vertex_buf, @@ -706,7 +706,7 @@ static void d3d9_cg_destroy_resources(cg_renderchain_t *chain) for (i = 0; i < TEXTURES; i++) { if (chain->chain.prev.tex[i]) - d3d9_texture_free(chain->chain.prev.tex[i]); + IDirect3DTexture9_Release(chain->chain.prev.tex[i]); if (chain->chain.prev.vertex_buf[i]) d3d9_vertex_buffer_free(chain->chain.prev.vertex_buf[i], NULL); } @@ -716,7 +716,7 @@ static void d3d9_cg_destroy_resources(cg_renderchain_t *chain) for (i = 0; i < chain->chain.luts->count; i++) { if (chain->chain.luts->data[i].tex) - d3d9_texture_free(chain->chain.luts->data[i].tex); + IDirect3DTexture9_Release(chain->chain.luts->data[i].tex); } cgD3D9UnloadAllPrograms(); @@ -820,12 +820,12 @@ static bool d3d9_cg_renderchain_create_first_pass( return false; d3d9_set_texture(chain->dev, 0, chain->prev.tex[i]); - d3d9_set_sampler_minfilter(dev, 0, - d3d_translate_filter(info->pass->filter)); - d3d9_set_sampler_magfilter(dev, 0, - d3d_translate_filter(info->pass->filter)); - d3d9_set_sampler_address_u(dev, 0, D3DTADDRESS_BORDER); - d3d9_set_sampler_address_v(dev, 0, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(dev, + 0, D3DSAMP_MINFILTER, d3d_translate_filter(info->pass->filter)); + IDirect3DDevice9_SetSamplerState(dev, + 0, D3DSAMP_MAGFILTER, d3d_translate_filter(info->pass->filter)); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); + IDirect3DDevice9_SetSamplerState(dev, 0, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); d3d9_set_texture(chain->dev, 0, NULL); } @@ -1050,10 +1050,10 @@ static void d3d9_cg_renderchain_render_pass( cgD3D9BindProgram((CGprogram)pass->vprg); d3d9_set_texture(chain->dev, 0, pass->tex); - d3d9_set_sampler_minfilter(chain->dev, 0, - d3d_translate_filter(pass->info.pass->filter)); - d3d9_set_sampler_magfilter(chain->dev, 0, - d3d_translate_filter(pass->info.pass->filter)); + IDirect3DDevice9_SetSamplerState(chain->dev, + 0, D3DSAMP_MINFILTER, d3d_translate_filter(pass->info.pass->filter)); + IDirect3DDevice9_SetSamplerState(chain->dev, + 0, D3DSAMP_MAGFILTER, d3d_translate_filter(pass->info.pass->filter)); d3d9_set_vertex_declaration(chain->dev, pass->vertex_decl); for (i = 0; i < 4; i++) @@ -1102,8 +1102,10 @@ static void d3d9_cg_renderchain_render_pass( /* So we don't render with linear filter into render targets, * which apparently looked odd (too blurry). */ - d3d9_set_sampler_minfilter(chain->dev, 0, D3DTEXF_POINT); - d3d9_set_sampler_magfilter(chain->dev, 0, D3DTEXF_POINT); + IDirect3DDevice9_SetSamplerState(chain->dev, + 0, D3DSAMP_MINFILTER, D3DTEXF_POINT); + IDirect3DDevice9_SetSamplerState(chain->dev, + 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT); d3d9_renderchain_unbind_all(chain); } @@ -1167,14 +1169,14 @@ static bool d3d9_cg_renderchain_render( viewport.MinZ = 0.0f; viewport.MaxZ = 1.0f; - d3d9_set_viewports(chain->dev, &viewport); + IDirect3DDevice9_SetViewport(chain->dev, (D3DVIEWPORT9*)&viewport); IDirect3DDevice9_Clear(chain->dev, 0, 0, D3DCLEAR_TARGET, 0, 1, 0); viewport.Width = out_width; viewport.Height = out_height; - d3d9_set_viewports(chain->dev, &viewport); + IDirect3DDevice9_SetViewport(chain->dev, (D3DVIEWPORT9*)&viewport); d3d9_cg_renderchain_set_vertices( chain, from_pass, @@ -1201,7 +1203,7 @@ static bool d3d9_cg_renderchain_render( &out_width, &out_height, current_width, current_height, chain->final_viewport); - d3d9_set_viewports(chain->dev, chain->final_viewport); + IDirect3DDevice9_SetViewport(chain->dev, (D3DVIEWPORT9*)chain->final_viewport); d3d9_cg_renderchain_set_vertices( chain, last_pass, @@ -1489,8 +1491,8 @@ static bool d3d9_cg_initialize(d3d9_video_t *d3d, const video_info_t *info) d3d_matrix_ortho_off_center_lh(&d3d->mvp_transposed, 0, 1, 0, 1, 0, 1); d3d_matrix_transpose(&d3d->mvp, &d3d->mvp_transposed); - d3d9_set_render_state(d3d->dev, D3DRS_CULLMODE, D3DCULL_NONE); - d3d9_set_render_state(d3d->dev, D3DRS_SCISSORTESTENABLE, TRUE); + IDirect3DDevice9_SetRenderState(d3d->dev, D3DRS_CULLMODE, D3DCULL_NONE); + IDirect3DDevice9_SetRenderState(d3d->dev, D3DRS_SCISSORTESTENABLE, TRUE); return true; } @@ -1803,7 +1805,7 @@ static bool d3d9_cg_frame(void *data, const void *frame, screen_vp.MaxZ = 1; screen_vp.Width = width; screen_vp.Height = height; - d3d9_set_viewports(d3d->dev, &screen_vp); + IDirect3DDevice9_SetViewport(d3d->dev, (D3DVIEWPORT9*)&screen_vp); IDirect3DDevice9_Clear(d3d->dev, 0, 0, D3DCLEAR_TARGET, 0, 1, 0); @@ -1850,18 +1852,18 @@ static bool d3d9_cg_frame(void *data, const void *frame, d3d9_set_vertex_declaration(d3d->dev, (LPDIRECT3DVERTEXDECLARATION9)d3d->menu_display.decl); d3d9_set_stream_source(d3d->dev, 0, (LPDIRECT3DVERTEXBUFFER9)d3d->menu_display.buffer, 0, sizeof(Vertex)); - d3d9_set_viewports(d3d->dev, &screen_vp); + IDirect3DDevice9_SetViewport(d3d->dev, (D3DVIEWPORT9*)&screen_vp); menu_driver_frame(menu_is_alive, video_info); } else if (statistics_show) { if (osd_params) { - d3d9_set_viewports(d3d->dev, &screen_vp); - d3d9_begin_scene(d3d->dev); + IDirect3DDevice9_SetViewport(d3d->dev, (D3DVIEWPORT9*)&screen_vp); + IDirect3DDevice9_BeginScene(d3d->dev); font_driver_render_msg(d3d, stat_text, (const struct font_params*)osd_params, NULL); - d3d9_end_scene(d3d->dev); + IDirect3DDevice9_EndScene(d3d->dev); } } #endif @@ -1883,10 +1885,10 @@ static bool d3d9_cg_frame(void *data, const void *frame, if (msg && *msg) { - d3d9_set_viewports(d3d->dev, &screen_vp); - d3d9_begin_scene(d3d->dev); + IDirect3DDevice9_SetViewport(d3d->dev, (D3DVIEWPORT9*)&screen_vp); + IDirect3DDevice9_BeginScene(d3d->dev); font_driver_render_msg(d3d, msg, NULL, NULL); - d3d9_end_scene(d3d->dev); + IDirect3DDevice9_EndScene(d3d->dev); } win32_update_title();