mirror of
https://github.com/libretro/RetroArch
synced 2025-03-26 02:37:23 +00:00
(D3D) Create macro for D3DDevice_Present
This commit is contained in:
parent
1f5769f1db
commit
e64775ba7a
@ -109,15 +109,7 @@ static void gfx_ctx_d3d_swap_buffers(void *data)
|
|||||||
d3d_video_t *d3d = (d3d_video_t*)data;
|
d3d_video_t *d3d = (d3d_video_t*)data;
|
||||||
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
|
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
|
||||||
|
|
||||||
#ifdef _XBOX
|
D3DDevice_Presents(d3d, d3dr);
|
||||||
RD3DDevice_Present(d3dr);
|
|
||||||
#else
|
|
||||||
if (d3dr->Present(NULL, NULL, NULL, NULL) != D3D_OK)
|
|
||||||
{
|
|
||||||
d3d->needs_restore = true;
|
|
||||||
RARCH_ERR("[D3D]: Present() failed.\n");
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gfx_ctx_d3d_update_title(void *data)
|
static void gfx_ctx_d3d_update_title(void *data)
|
||||||
|
@ -740,18 +740,10 @@ static bool d3d_frame(void *data, const void *frame,
|
|||||||
// Insert black frame first, so we can screenshot, etc.
|
// Insert black frame first, so we can screenshot, etc.
|
||||||
if (g_settings.video.black_frame_insertion)
|
if (g_settings.video.black_frame_insertion)
|
||||||
{
|
{
|
||||||
#ifdef _XBOX
|
D3DDevice_Presents(d3d, d3dr);
|
||||||
d3dr->Present(NULL, NULL, NULL, NULL);
|
if (d3d->needs_restore)
|
||||||
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
|
||||||
#else
|
|
||||||
if (d3dr->Present(NULL, NULL, NULL, NULL) != D3D_OK)
|
|
||||||
{
|
|
||||||
RARCH_ERR("[D3D]: Present() failed.\n");
|
|
||||||
d3d->needs_restore = true;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!renderchain_render(d3d->chain, frame, width, height, pitch, d3d->dev_rotation))
|
if (!renderchain_render(d3d->chain, frame, width, height, pitch, d3d->dev_rotation))
|
||||||
|
@ -70,6 +70,12 @@ class RenderChain;
|
|||||||
memset(lockedrect.pBits, level, pass.info.tex_h * lockedrect.Pitch); \
|
memset(lockedrect.pBits, level, pass.info.tex_h * lockedrect.Pitch); \
|
||||||
tex->UnlockRect(0); \
|
tex->UnlockRect(0); \
|
||||||
}
|
}
|
||||||
|
#define D3DDevice_Presents(d3d, dev) \
|
||||||
|
if (dev->Present(NULL, NULL, NULL, NULL) != D3D_OK) \
|
||||||
|
{ \
|
||||||
|
RARCH_ERR("[D3D]: Present() failed.\n"); \
|
||||||
|
d3d->needs_restore = true; \
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -899,18 +899,10 @@ static bool d3d_frame(void *data, const void *frame,
|
|||||||
// Insert black frame first, so we can screenshot, etc.
|
// Insert black frame first, so we can screenshot, etc.
|
||||||
if (g_settings.video.black_frame_insertion)
|
if (g_settings.video.black_frame_insertion)
|
||||||
{
|
{
|
||||||
#ifdef _XBOX
|
D3DDevice_Presents(d3d, d3dr);
|
||||||
d3dr->Present(NULL, NULL, NULL, NULL);
|
if (d3d->needs_restore)
|
||||||
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
|
||||||
#else
|
|
||||||
if (d3dr->Present(NULL, NULL, NULL, NULL) != D3D_OK)
|
|
||||||
{
|
|
||||||
RARCH_ERR("[D3D]: Present() failed.\n");
|
|
||||||
d3d->needs_restore = true;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _XBOX
|
#ifdef _XBOX
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#define RD3DDevice_DrawPrimitive(device, PrimitiveType, StartVertex, PrimitiveCount) D3DDevice_DrawVertices(PrimitiveType, StartVertex, D3DVERTEXCOUNT(PrimitiveType, PrimitiveCount))
|
#define RD3DDevice_DrawPrimitive(device, PrimitiveType, StartVertex, PrimitiveCount) D3DDevice_DrawVertices(PrimitiveType, StartVertex, D3DVERTEXCOUNT(PrimitiveType, PrimitiveCount))
|
||||||
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(Count, pRects, Flags, Color, Z, Stencil)
|
#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_SetViewport(device, viewport) D3DDevice_SetViewport(viewport)
|
||||||
#define RD3DDevice_Present(device) D3DDevice_Swap(0)
|
#define D3DDevice_Presents(device, returnval) D3DDevice_Swap(0)
|
||||||
#define D3DDevice_SetSamplerState_MinFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MINFILTER, value)
|
#define D3DDevice_SetSamplerState_MinFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MINFILTER, value)
|
||||||
#define D3DDevice_SetSamplerState_MagFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MAGFILTER, value)
|
#define D3DDevice_SetSamplerState_MagFilter(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_MAGFILTER, value)
|
||||||
#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSU, value)
|
#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) SetSamplerState_function(device, sampler, D3DTSS_ADDRESSU, value)
|
||||||
@ -90,12 +90,11 @@
|
|||||||
#define RD3DDevice_DrawPrimitive(device, PrimitiveType, StartVertex, PrimitiveCount) D3DDevice_DrawVertices(device, PrimitiveType, StartVertex, D3DVERTEXCOUNT(PrimitiveType, PrimitiveCount))
|
#define RD3DDevice_DrawPrimitive(device, PrimitiveType, StartVertex, PrimitiveCount) D3DDevice_DrawVertices(device, PrimitiveType, StartVertex, D3DVERTEXCOUNT(PrimitiveType, PrimitiveCount))
|
||||||
#define RD3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil) D3DDevice_Clear(device, Count, pRects, Flags, Color, Z, Stencil, false)
|
#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_SetViewport(device, viewport) D3DDevice_SetViewport(device, viewport)
|
||||||
#define RD3DDevice_Present(device) D3DDevice_Present(device)
|
|
||||||
#define D3DDevice_SetSamplerState_MinFilter(device, sampler, value) D3DDevice_SetSamplerState_MinFilter(device, sampler, value)
|
#define D3DDevice_SetSamplerState_MinFilter(device, sampler, value) D3DDevice_SetSamplerState_MinFilter(device, sampler, value)
|
||||||
#define D3DDevice_SetSamplerState_MagFilter(device, sampler, value) D3DDevice_SetSamplerState_MagFilter(device, sampler, value)
|
#define D3DDevice_SetSamplerState_MagFilter(device, sampler, value) D3DDevice_SetSamplerState_MagFilter(device, sampler, value)
|
||||||
#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) D3DDevice_SetSamplerState_AddressU_Inline(device, sampler, value)
|
#define D3DDevice_SetSamplerState_AddressU(device, sampler, value) D3DDevice_SetSamplerState_AddressU_Inline(device, sampler, value)
|
||||||
#define D3DDevice_SetSamplerState_AddressV(device, sampler, value) D3DDevice_SetSamplerState_AddressV_Inline(device, sampler, value)
|
#define D3DDevice_SetSamplerState_AddressV(device, sampler, value) D3DDevice_SetSamplerState_AddressV_Inline(device, sampler, value)
|
||||||
|
#define D3DDevice_Presents(dev, returnval) D3DDevice_Present(dev)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define D3DTexture_LockRectClear(pass, tex, level, lockedrect, rect, flags) \
|
#define D3DTexture_LockRectClear(pass, tex, level, lockedrect, rect, flags) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user