mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(D3D9) Start getting rid of inline D3D9 functions
This commit is contained in:
parent
cedf77d87f
commit
b231ae7c41
@ -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;
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user