mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-08 02:17:13 +00:00
(D3D) Cleanups
This commit is contained in:
parent
a943609c1a
commit
345900ae3a
@ -102,7 +102,7 @@ static void gfx_ctx_d3d_swap_buffers(void *data)
|
||||
d3d_video_t *d3d = (d3d_video_t*)data;
|
||||
LPDIRECT3DDEVICE d3dr = (LPDIRECT3DDEVICE)d3d->dev;
|
||||
|
||||
D3DDevice_Presents(d3d, d3dr);
|
||||
d3d_swap(d3d, d3dr);
|
||||
}
|
||||
|
||||
static void gfx_ctx_d3d_update_title(void *data)
|
||||
|
@ -59,39 +59,19 @@
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#if defined(_XBOX)
|
||||
#if defined(_XBOX1)
|
||||
#define D3DDevice_Presents(d3d, device) D3DDevice_Swap(0)
|
||||
#elif defined(_XBOX360)
|
||||
#define D3DDevice_Presents(d3d, device) D3DDevice_Present(device)
|
||||
#endif
|
||||
#else
|
||||
#ifndef _XBOX
|
||||
#define D3DDevice_SetSamplerState_AddressU(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_ADDRESSU, type)
|
||||
#define D3DDevice_SetSamplerState_AddressV(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_ADDRESSV, type)
|
||||
#define D3DDevice_SetSamplerState_MinFilter(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_MINFILTER, type)
|
||||
#define D3DDevice_SetSamplerState_MagFilter(dev, sampler, type) dev->SetSamplerState(sampler, D3DSAMP_MAGFILTER, type)
|
||||
#define D3DDevice_DrawPrimitive(dev, type, start, count) \
|
||||
if (SUCCEEDED(dev->BeginScene())) \
|
||||
{ \
|
||||
dev->DrawPrimitive(type, start, count); \
|
||||
dev->EndScene(); \
|
||||
}
|
||||
#define D3DTexture_LockRectClear(pass, tex, level, lockedrect, rect, flags) \
|
||||
if (SUCCEEDED(tex->LockRect(level, &lockedrect, rect, flags))) \
|
||||
{ \
|
||||
memset(lockedrect.pBits, level, pass.info.tex_h * lockedrect.Pitch); \
|
||||
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; \
|
||||
}
|
||||
#define D3DDevice_CreateVertexBuffers(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, pUnusedSharedHandle) device->CreateVertexBuffer(Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, NULL)
|
||||
|
||||
#define D3DDevice_SetStreamSources(device, streamNumber, pStreamData, OffsetInBytes, Stride) device->SetStreamSource(streamNumber, pStreamData, OffsetInBytes, Stride)
|
||||
|
||||
#define D3DTexture_Blit(d3d, desc, d3dlr, frame, width, height, pitch) \
|
||||
if (SUCCEEDED(first.tex->LockRect(0, &d3dlr, NULL, D3DLOCK_NOSYSLOCK))) \
|
||||
{ \
|
||||
|
@ -212,7 +212,7 @@ static bool texture_image_render(void *data,
|
||||
vp.MaxZ = 1.0f;
|
||||
d3dr->SetViewport(&vp);
|
||||
}
|
||||
D3DDevice_DrawPrimitive(d3dr, D3DPT_QUADLIST, 0, 1);
|
||||
d3d_draw_primitive(d3dr, D3DPT_QUADLIST, 0, 1);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -292,7 +292,7 @@ static bool d3d_frame(void *data, const void *frame,
|
||||
/* Insert black frame first, so we can screenshot, etc. */
|
||||
if (g_settings.video.black_frame_insertion)
|
||||
{
|
||||
D3DDevice_Presents(d3d, d3dr);
|
||||
d3d_swap(d3d, d3dr);
|
||||
if (d3d->needs_restore)
|
||||
return true;
|
||||
d3dr->Clear(0, 0, D3DCLEAR_TARGET, 0, 1, 0);
|
||||
|
@ -31,10 +31,8 @@
|
||||
#define RD3DVertexBuffer_Lock(device, OffsetToLock, SizeToLock, ppbData, Flags) *ppbData = D3DVertexBuffer_Lock2(device, Flags) + OffsetToLock
|
||||
#define RD3DVertexBuffer_Unlock(device)
|
||||
#define RD3DDevice_SetTexture(device, Stage, pTexture) D3DDevice_SetTexture(Stage, pTexture)
|
||||
#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_SetViewport(device, viewport) D3DDevice_SetViewport(viewport)
|
||||
#define D3DDevice_Presents(d3d, device) D3DDevice_Swap(0)
|
||||
#define D3DDevice_CreateVertexBuffers(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, pUnusedSharedHandle) IDirect3DDevice8_CreateVertexBuffer(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer)
|
||||
|
||||
#elif defined(_XBOX360)
|
||||
@ -48,16 +46,12 @@
|
||||
D3DDevice_SetTexture(device, Stage, pTexture, pendingMask3)
|
||||
|
||||
#define D3DDevice_CreateVertexBuffers(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, pUnusedSharedHandle) IDirect3DDevice9_CreateVertexBuffer(device, Length, Usage, UnusedFVF, UnusedPool, ppVertexBuffer, NULL)
|
||||
#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_SetViewport(device, viewport) D3DDevice_SetViewport(device, viewport)
|
||||
#define D3DDevice_Presents(d3d, dev) D3DDevice_Present(dev)
|
||||
#endif
|
||||
|
||||
#define D3DTexture_LockRectClear(pass, tex, level, lockedrect, rect, flags) \
|
||||
D3DTexture_LockRect(tex, level, &lockedrect, rect, flags); \
|
||||
memset(lockedrect.pBits, 0, pass->tex_h * lockedrect.Pitch)
|
||||
|
||||
#define D3DDevice_DrawPrimitive(dev, type, start, count) dev->DrawPrimitive(type, start, count)
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user