(D3D) Create d3d_clear

This commit is contained in:
twinaphex 2014-09-13 20:09:55 +02:00
parent 22dd54e1f5
commit 5f48e85b65
5 changed files with 21 additions and 13 deletions

View File

@ -1527,7 +1527,7 @@ static bool d3d_frame(void *data, const void *frame,
screen_vp.Width = d3d->screen_width;
screen_vp.Height = d3d->screen_height;
d3d_set_viewport(d3dr, &screen_vp);
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
d3d_clear(d3dr, 0, 0, D3DCLEAR_TARGET, 0, 1, 0);
/* Insert black frame first, so we
* can screenshot, etc. */
@ -1536,7 +1536,7 @@ static bool d3d_frame(void *data, const void *frame,
d3d_swap(d3d, d3dr);
if (d3d->needs_restore)
return true;
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
d3d_clear(d3dr, 0, 0, D3DCLEAR_TARGET, 0, 1, 0);
}
#ifdef _XBOX

View File

@ -229,6 +229,20 @@ void d3d_draw_primitive(LPDIRECT3DDEVICE dev,
#endif
}
void d3d_clear(LPDIRECT3DDEVICE dev,
unsigned count, const D3DRECT *rects, unsigned flags,
D3DCOLOR color, float z, unsigned stencil)
{
#if defined(_XBOX1)
D3DDevice_Clear(count, rects, flags, color, z, stencil);
#elif defined(_XBOX360)
D3DDevice_Clear(dev, count, rects, flags, color, z,
stencil, false);
#else
dev->Clear(count, rects, flags, color, z, stencil);
#endif
}
void d3d_lockrectangle_clear(void *data,
LPDIRECT3DTEXTURE tex,
unsigned level, D3DLOCKED_RECT *lock_rect, RECT *rect,

View File

@ -59,6 +59,10 @@ void d3d_set_sampler_magfilter(LPDIRECT3DDEVICE dev,
void d3d_draw_primitive(LPDIRECT3DDEVICE dev,
D3DPRIMITIVETYPE type, unsigned start, unsigned count);
void d3d_clear(LPDIRECT3DDEVICE dev,
unsigned count, const D3DRECT *rects, unsigned flags,
D3DCOLOR color, float z, unsigned stencil);
void d3d_lockrectangle_clear(void *data,
LPDIRECT3DTEXTURE tex,
unsigned level, D3DLOCKED_RECT *lock_rect, RECT *rect,

View File

@ -295,7 +295,7 @@ bool renderchain_render(void *chain_data, const void *data,
viewport.MinZ = 0.0f;
viewport.MaxZ = 1.0f;
d3d_set_viewport(d3dr, &viewport);
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
d3d_clear(d3dr, 0, 0, D3DCLEAR_TARGET, 0, 1, 0);
viewport.Width = out_width;
viewport.Height = out_height;

View File

@ -17,18 +17,8 @@
#ifndef _XDK_DEFINES_H
#define _XDK_DEFINES_H
#if defined(_XBOX1)
/* XBox 1*/
#define RD3DDevice_SetTransform(device, State, pMatrix) D3DDevice_SetTransform(State, pMatrix)
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(Count, pRects, Flags, Color, Z, Stencil)
#elif defined(_XBOX360)
/* XBox 360*/
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil, false)
#endif
#endif