(XDK D3D) Replace more functions with optimal inlined functions

This commit is contained in:
twinaphex 2013-04-16 16:47:20 +02:00
parent c54ed6789b
commit 671725cfdd
3 changed files with 14 additions and 11 deletions

View File

@ -69,10 +69,7 @@ static void gfx_ctx_xdk_swap_buffers(void)
{
xdk_d3d_video_t *d3d = (xdk_d3d_video_t*)driver.video_data;
LPDIRECT3DDEVICE d3dr = d3d->d3d_render_device;
#ifdef _XBOX1
d3dr->EndScene();
#endif
d3dr->Present(NULL, NULL, NULL, NULL);
RD3DDevice_Present(d3dr);
}
static bool gfx_ctx_xdk_window_has_focus(void)

View File

@ -212,7 +212,7 @@ static void xdk_d3d_set_viewport(bool force_full)
int m_viewport_x_temp, m_viewport_y_temp, m_viewport_width_temp, m_viewport_height_temp;
float m_zNear, m_zFar;
d3dr->Clear(0, NULL, D3DCLEAR_TARGET, 0xff000000, 1.0f, 0);
RD3DDevice_Clear(d3dr, 0, NULL, D3DCLEAR_TARGET, 0xff000000, 1.0f, 0);
d3d->ctx_driver->get_video_size(&width, &height);
m_viewport_x_temp = 0;
@ -260,7 +260,7 @@ static void xdk_d3d_set_viewport(bool force_full)
vp.Y = m_viewport_y_temp;
vp.MinZ = m_zNear;
vp.MaxZ = m_zFar;
d3dr->SetViewport(&vp);
RD3DDevice_SetViewport(d3d->d3d_render_device, &vp);
#ifdef HAVE_HLSL
if (d3d->shader)
@ -495,7 +495,7 @@ static void xdk_d3d_init_textures(void *data, const video_info_t *video)
#if defined(_XBOX1)
d3d->d3d_render_device->SetRenderState(D3DRS_LIGHTING, FALSE);
#elif defined(_XBOX360)
d3d->d3d_render_device->Clear(0, NULL, D3DCLEAR_TARGET,
RD3DDevice_Clear(d3d->d3d_render_device, 0, NULL, D3DCLEAR_TARGET,
0xff000000, 1.0f, 0);
#endif
vp.Width = d3d->win_width;
@ -506,7 +506,7 @@ static void xdk_d3d_init_textures(void *data, const video_info_t *video)
vp.MinZ = 0.0f;
vp.MaxZ = 1.0f;
d3d->d3d_render_device->SetViewport(&vp);
RD3DDevice_SetViewport(d3d->d3d_render_device, &vp);
if (g_extern.console.screen.viewports.custom_vp.width == 0)
g_extern.console.screen.viewports.custom_vp.width = vp.Width;
@ -585,7 +585,7 @@ static void *xdk_d3d_init(const video_info_t *video, const input_driver_t **inpu
if (ret != S_OK)
RARCH_ERR("Failed at CreateDevice.\n");
d3d->d3d_render_device->Clear(0, NULL, D3DCLEAR_TARGET, 0xff000000, 1.0f, 0);
RD3DDevice_Clear(d3d->d3d_render_device, 0, NULL, D3DCLEAR_TARGET, 0xff000000, 1.0f, 0);
}
else
{
@ -888,7 +888,7 @@ static bool xdk_d3d_frame(void *data, const void *frame,
vp.Y = 0;
vp.MinZ = 0.0f;
vp.MaxZ = 1.0f;
d3dr->SetViewport(&vp);
RD3DDevice_SetViewport(d3dr, &vp);
}
else
#endif
@ -927,7 +927,7 @@ NULL, NULL, NULL, 0);
d3dr->SetVertexShader(D3DFVF_XYZ | D3DFVF_TEX1);
d3dr->SetStreamSource(0, d3d->vertex_buf, sizeof(DrawVerticeFormats));
d3dr->Clear(0, NULL, D3DCLEAR_TARGET, 0xff000000, 1.0f, 0);
RD3DDevice_Clear(d3dr, 0, NULL, D3DCLEAR_TARGET, 0xff000000, 1.0f, 0);
d3dr->SetFlickerFilter(g_extern.console.screen.flicker_filter_index);
d3dr->SetSoftDisplayFilter(g_extern.lifecycle_mode_state & (1ULL << MODE_VIDEO_SOFT_FILTER_ENABLE));

View File

@ -39,6 +39,9 @@
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << 0); \
D3D__TextureState[0][sampler] = value;
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(Count, pRects, Flags, Color, Z, Stencil)
#define RD3DDevice_SetViewport(device, viewport) D3DDevice_SetViewport(viewport)
#define RD3DDevice_Present(device) D3DDevice_Swap(0)
#define RD3DDevice_SetSamplerState_MinFilter(device, sampler, value) SetSamplerState_function(device, sampler, value)
#define RD3DDevice_SetSamplerState_MagFilter(device, sampler, value) SetSamplerState_function(device, sampler, value)
#define RD3DDevice_SetSamplerState_AddressU(device, sampler, value) SetSamplerState_function(device, sampler, value)
@ -68,6 +71,9 @@
#define direct3d_create_ctx Direct3DCreate9
#define IDirect3DVertexDeclaration IDirect3DVertexDeclaration9
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil, false)
#define RD3DDevice_SetViewport(device, viewport) D3DDevice_SetViewport(device, viewport)
#define RD3DDevice_Present(device) D3DDevice_Present(device)
#define RD3DDevice_SetSamplerState_MinFilter(device, sampler, value) D3DDevice_SetSamplerState_MinFilter(device, sampler, value)
#define RD3DDevice_SetSamplerState_MagFilter(device, sampler, value) D3DDevice_SetSamplerState_MagFilter(device, sampler, value)
#define RD3DDevice_SetSamplerState_AddressU(device, sampler, value) D3DDevice_SetSamplerState_AddressU_Inline(device, sampler, value)