mirror of
https://github.com/libretro/RetroArch
synced 2025-02-26 06:40:39 +00:00
Remove d3d_restore_device
This commit is contained in:
parent
b8d41df24f
commit
2199e22e63
@ -17,29 +17,8 @@
|
|||||||
|
|
||||||
#include "d3d_common.h"
|
#include "d3d_common.h"
|
||||||
|
|
||||||
static LPDIRECT3DDEVICE d3d_wrapper_dev;
|
|
||||||
|
|
||||||
static bool d3d_restore_device(LPDIRECT3DDEVICE dev)
|
|
||||||
{
|
|
||||||
if (!dev)
|
|
||||||
{
|
|
||||||
if (!d3d_wrapper_dev)
|
|
||||||
{
|
|
||||||
RARCH_ERR("[D3D]: restore device failed.\n");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
dev = d3d_wrapper_dev;
|
|
||||||
}
|
|
||||||
d3d_wrapper_dev = dev;
|
|
||||||
RARCH_LOG("[D3D]: restore device succeeded.\n");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool d3d_swap(void *data, LPDIRECT3DDEVICE dev)
|
bool d3d_swap(void *data, LPDIRECT3DDEVICE dev)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3DDevice_Swap(0);
|
D3DDevice_Swap(0);
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
@ -57,8 +36,6 @@ bool d3d_swap(void *data, LPDIRECT3DDEVICE dev)
|
|||||||
void d3d_set_transform(LPDIRECT3DDEVICE dev,
|
void d3d_set_transform(LPDIRECT3DDEVICE dev,
|
||||||
D3DTRANSFORMSTATETYPE state, CONST D3DMATRIX *matrix)
|
D3DTRANSFORMSTATETYPE state, CONST D3DMATRIX *matrix)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#ifdef _XBOX1
|
#ifdef _XBOX1
|
||||||
D3DDevice_SetTransform(state, matrix);
|
D3DDevice_SetTransform(state, matrix);
|
||||||
#elif !defined(_XBOX360)
|
#elif !defined(_XBOX360)
|
||||||
@ -77,9 +54,6 @@ LPDIRECT3DTEXTURE d3d_texture_new(LPDIRECT3DDEVICE dev,
|
|||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
LPDIRECT3DTEXTURE buf;
|
LPDIRECT3DTEXTURE buf;
|
||||||
|
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (path)
|
if (path)
|
||||||
hr = D3DXCreateTextureFromFileExA(dev,
|
hr = D3DXCreateTextureFromFileExA(dev,
|
||||||
path, width, height, miplevels, usage, format,
|
path, width, height, miplevels, usage, format,
|
||||||
@ -127,8 +101,6 @@ LPDIRECT3DVERTEXBUFFER d3d_vertex_buffer_new(LPDIRECT3DDEVICE dev,
|
|||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
LPDIRECT3DVERTEXBUFFER buf;
|
LPDIRECT3DVERTEXBUFFER buf;
|
||||||
|
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return NULL;
|
|
||||||
#ifndef _XBOX
|
#ifndef _XBOX
|
||||||
if (usage == 0)
|
if (usage == 0)
|
||||||
{
|
{
|
||||||
@ -208,8 +180,6 @@ void d3d_set_stream_source(LPDIRECT3DDEVICE dev, unsigned stream_no,
|
|||||||
LPDIRECT3DVERTEXBUFFER stream_vertbuf, unsigned offset_bytes,
|
LPDIRECT3DVERTEXBUFFER stream_vertbuf, unsigned offset_bytes,
|
||||||
unsigned stride)
|
unsigned stride)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(HAVE_D3D8)
|
#if defined(HAVE_D3D8)
|
||||||
IDirect3DDevice8_SetStreamSource(dev, stream_no, stream_vertbuf, stride);
|
IDirect3DDevice8_SetStreamSource(dev, stream_no, stream_vertbuf, stride);
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
@ -223,8 +193,6 @@ void d3d_set_stream_source(LPDIRECT3DDEVICE dev, unsigned stream_no,
|
|||||||
void d3d_set_sampler_address_u(LPDIRECT3DDEVICE dev,
|
void d3d_set_sampler_address_u(LPDIRECT3DDEVICE dev,
|
||||||
unsigned sampler, unsigned value)
|
unsigned sampler, unsigned value)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
||||||
D3D__TextureState[sampler][D3DTSS_ADDRESSU] = value;
|
D3D__TextureState[sampler][D3DTSS_ADDRESSU] = value;
|
||||||
@ -238,8 +206,6 @@ void d3d_set_sampler_address_u(LPDIRECT3DDEVICE dev,
|
|||||||
void d3d_set_sampler_address_v(LPDIRECT3DDEVICE dev,
|
void d3d_set_sampler_address_v(LPDIRECT3DDEVICE dev,
|
||||||
unsigned sampler, unsigned value)
|
unsigned sampler, unsigned value)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
||||||
D3D__TextureState[sampler][D3DTSS_ADDRESSV] = value;
|
D3D__TextureState[sampler][D3DTSS_ADDRESSV] = value;
|
||||||
@ -253,8 +219,6 @@ void d3d_set_sampler_address_v(LPDIRECT3DDEVICE dev,
|
|||||||
void d3d_set_sampler_minfilter(LPDIRECT3DDEVICE dev,
|
void d3d_set_sampler_minfilter(LPDIRECT3DDEVICE dev,
|
||||||
unsigned sampler, unsigned value)
|
unsigned sampler, unsigned value)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
||||||
D3D__TextureState[sampler][D3DTSS_MINFILTER] = value;
|
D3D__TextureState[sampler][D3DTSS_MINFILTER] = value;
|
||||||
@ -268,8 +232,6 @@ void d3d_set_sampler_minfilter(LPDIRECT3DDEVICE dev,
|
|||||||
void d3d_set_sampler_magfilter(LPDIRECT3DDEVICE dev,
|
void d3d_set_sampler_magfilter(LPDIRECT3DDEVICE dev,
|
||||||
unsigned sampler, unsigned value)
|
unsigned sampler, unsigned value)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
D3D__DirtyFlags |= (D3DDIRTYFLAG_TEXTURE_STATE_0 << sampler);
|
||||||
D3D__TextureState[sampler][D3DTSS_MAGFILTER] = value;
|
D3D__TextureState[sampler][D3DTSS_MAGFILTER] = value;
|
||||||
@ -283,8 +245,6 @@ void d3d_set_sampler_magfilter(LPDIRECT3DDEVICE dev,
|
|||||||
void d3d_draw_primitive(LPDIRECT3DDEVICE dev,
|
void d3d_draw_primitive(LPDIRECT3DDEVICE dev,
|
||||||
D3DPRIMITIVETYPE type, unsigned start, unsigned count)
|
D3DPRIMITIVETYPE type, unsigned start, unsigned count)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3DDevice_DrawVertices(type, start, D3DVERTEXCOUNT(type, count));
|
D3DDevice_DrawVertices(type, start, D3DVERTEXCOUNT(type, count));
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
@ -302,8 +262,6 @@ void d3d_clear(LPDIRECT3DDEVICE dev,
|
|||||||
unsigned count, const D3DRECT *rects, unsigned flags,
|
unsigned count, const D3DRECT *rects, unsigned flags,
|
||||||
D3DCOLOR color, float z, unsigned stencil)
|
D3DCOLOR color, float z, unsigned stencil)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3DDevice_Clear(count, rects, flags, color, z, stencil);
|
D3DDevice_Clear(count, rects, flags, color, z, stencil);
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
@ -348,8 +306,6 @@ void d3d_lock_rectangle_clear(LPDIRECT3DTEXTURE tex,
|
|||||||
|
|
||||||
void d3d_set_viewport(LPDIRECT3DDEVICE dev, D3DVIEWPORT *vp)
|
void d3d_set_viewport(LPDIRECT3DDEVICE dev, D3DVIEWPORT *vp)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX360)
|
#if defined(_XBOX360)
|
||||||
D3DDevice_SetViewport(dev, vp);
|
D3DDevice_SetViewport(dev, vp);
|
||||||
#elif defined(_XBOX1)
|
#elif defined(_XBOX1)
|
||||||
@ -362,8 +318,6 @@ void d3d_set_viewport(LPDIRECT3DDEVICE dev, D3DVIEWPORT *vp)
|
|||||||
void d3d_set_texture(LPDIRECT3DDEVICE dev, unsigned sampler,
|
void d3d_set_texture(LPDIRECT3DDEVICE dev, unsigned sampler,
|
||||||
LPDIRECT3DTEXTURE tex)
|
LPDIRECT3DTEXTURE tex)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
D3DDevice_SetTexture(sampler, tex);
|
D3DDevice_SetTexture(sampler, tex);
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
@ -382,8 +336,6 @@ void d3d_set_texture(LPDIRECT3DDEVICE dev, unsigned sampler,
|
|||||||
HRESULT d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
|
HRESULT d3d_set_vertex_shader(LPDIRECT3DDEVICE dev, unsigned index,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return -1;
|
|
||||||
#if defined(_XBOX1)
|
#if defined(_XBOX1)
|
||||||
return dev->SetVertexShader(index);
|
return dev->SetVertexShader(index);
|
||||||
#elif defined(_XBOX360)
|
#elif defined(_XBOX360)
|
||||||
@ -439,8 +391,6 @@ void d3d_set_render_state(void *data, D3DRENDERSTATETYPE state, DWORD value)
|
|||||||
|
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return;
|
return;
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
|
|
||||||
dev->SetRenderState(state, value);
|
dev->SetRenderState(state, value);
|
||||||
}
|
}
|
||||||
@ -451,8 +401,6 @@ void d3d_enable_blend_func(void *data)
|
|||||||
|
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return;
|
return;
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
|
|
||||||
d3d_set_render_state(dev, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
|
d3d_set_render_state(dev, D3DRS_SRCBLEND, D3DBLEND_SRCALPHA);
|
||||||
d3d_set_render_state(dev, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
|
d3d_set_render_state(dev, D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA);
|
||||||
@ -465,8 +413,6 @@ void d3d_enable_alpha_blend_texture_func(void *data)
|
|||||||
|
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return;
|
return;
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
|
|
||||||
#ifndef _XBOX360
|
#ifndef _XBOX360
|
||||||
/* Also blend the texture with the set alpha value. */
|
/* Also blend the texture with the set alpha value. */
|
||||||
@ -498,8 +444,6 @@ void d3d_disable_blend_func(void *data)
|
|||||||
|
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return;
|
return;
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
|
|
||||||
d3d_set_render_state(dev, D3DRS_ALPHABLENDENABLE, false);
|
d3d_set_render_state(dev, D3DRS_ALPHABLENDENABLE, false);
|
||||||
}
|
}
|
||||||
@ -512,8 +456,6 @@ void d3d_set_vertex_declaration(void *data, void *vertex_data)
|
|||||||
#endif
|
#endif
|
||||||
if (!dev)
|
if (!dev)
|
||||||
return;
|
return;
|
||||||
if (!d3d_restore_device(dev))
|
|
||||||
return;
|
|
||||||
#ifdef _XBOX1
|
#ifdef _XBOX1
|
||||||
d3d_set_vertex_shader(dev, D3DFVF_XYZ | D3DFVF_TEX1, NULL);
|
d3d_set_vertex_shader(dev, D3DFVF_XYZ | D3DFVF_TEX1, NULL);
|
||||||
#elif defined(HAVE_D3D9)
|
#elif defined(HAVE_D3D9)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user