summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
author Giuseppe Gorgoglione <gorgogsp@gmail.com>2016-05-28 04:20:02 +0200
committer Giuseppe Gorgoglione <gorgogsp@gmail.com>2016-06-11 20:14:09 +0200
commit852bd80d455c46a066fa4f1e6267f679b0096231 (patch)
tree1eab9d4a564b4248886301e951483302f66b0530 /src/osd
parent58dc78b6eba373d88fe7ef68f9ce3c2c43e635d6 (diff)
Remove Direct3D abstraction layer
It was introduced to support Direct3D 8 and 9 with the same code base. They had a very similar programming model and the abstraction layer was taking advantage of that. Now, Direct3D 8 support in MAME was removed long time ago, an Direct3D 11 and 12 have very different programming models, so the layer is not useful anymore and can be safely removed to simplify the code.
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/modules/render/d3d/d3d9intf.cpp580
-rw-r--r--src/osd/modules/render/d3d/d3dintf.h239
2 files changed, 0 insertions, 819 deletions
diff --git a/src/osd/modules/render/d3d/d3d9intf.cpp b/src/osd/modules/render/d3d/d3d9intf.cpp
deleted file mode 100644
index 08eaaff0c7b..00000000000
--- a/src/osd/modules/render/d3d/d3d9intf.cpp
+++ /dev/null
@@ -1,580 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-//============================================================
-//
-// d3d9intf.c - Direct3D 9 abstraction layer
-//
-//============================================================
-
-// standard windows headers
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <d3d9.h>
-#include <d3dx9.h>
-#undef interface
-
-// MAME headers
-#include "emu.h"
-
-// MAMEOS headers
-#include "d3dintf.h"
-
-
-
-//============================================================
-// TYPE DEFINITIONS
-//============================================================
-
-typedef IDirect3D9 *(WINAPI *direct3dcreate9_ptr)(UINT SDKVersion);
-
-//============================================================
-// PROTOTYPES
-//============================================================
-
-static void set_interfaces(d3d_base *d3dptr);
-
-//============================================================
-// INLINES
-//============================================================
-
-static inline void convert_present_params(const present_parameters *params, D3DPRESENT_PARAMETERS *d3d9params)
-{
- memset(d3d9params, 0, sizeof(*d3d9params));
- d3d9params->BackBufferWidth = params->BackBufferWidth;
- d3d9params->BackBufferHeight = params->BackBufferHeight;
- d3d9params->BackBufferFormat = params->BackBufferFormat;
- d3d9params->BackBufferCount = params->BackBufferCount;
- d3d9params->MultiSampleType = params->MultiSampleType;
- d3d9params->MultiSampleQuality = params->MultiSampleQuality;
- d3d9params->SwapEffect = params->SwapEffect;
- d3d9params->hDeviceWindow = params->hDeviceWindow;
- d3d9params->Windowed = params->Windowed;
- d3d9params->EnableAutoDepthStencil = params->EnableAutoDepthStencil;
- d3d9params->AutoDepthStencilFormat = params->AutoDepthStencilFormat;
- d3d9params->Flags = params->Flags;
- d3d9params->FullScreen_RefreshRateInHz = params->FullScreen_RefreshRateInHz;
- d3d9params->PresentationInterval = params->PresentationInterval;
-}
-
-
-
-//============================================================
-// drawd3d9_init
-//============================================================
-
-d3d_base *drawd3d9_init(void)
-{
- // allocate an object to hold our data
- d3d_base *d3dptr = global_alloc(d3d_base);
-
- d3dptr->d3d9_dll = osd::dynamic_module::open({ "d3d9.dll" });
-
- d3d9_create_fn d3d9_create_ptr = d3dptr->d3d9_dll->bind<d3d9_create_fn>("Direct3DCreate9");
- if (d3d9_create_ptr == nullptr)
- {
- osd_printf_verbose("Direct3D: Unable to find Direct3D 9 runtime library\n");
- return true;
- }
-
- d3dptr->d3dobj = (*d3d9_create_ptr)(D3D_SDK_VERSION);
- if (d3dptr->d3dobj == nullptr)
- {
- osd_printf_verbose("Direct3D: Unable to initialize Direct3D 9\n");
- return true;
- }
-
- d3dptr->version = 9;
- d3dptr->post_fx_available = true;
- set_interfaces(d3dptr);
-
- osd_printf_verbose("Direct3D: Using Direct3D 9\n");
- return d3dptr;
-}
-
-
-
-//============================================================
-// Direct3D interfaces
-//============================================================
-
-static HRESULT check_device_format(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, D3DFORMAT adapterformat, DWORD usage, D3DRESOURCETYPE restype, D3DFORMAT format)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_CheckDeviceFormat(d3d9, adapter, devtype, adapterformat, usage, restype, format);
-}
-
-
-static HRESULT check_device_type(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, D3DFORMAT format, D3DFORMAT backformat, BOOL windowed)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_CheckDeviceType(d3d9, adapter, devtype, format, backformat, windowed);
-}
-
-static HRESULT create_device(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, HWND focus, DWORD behavior, present_parameters *params, device **dev)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- D3DPRESENT_PARAMETERS d3d9params;
- convert_present_params(params, &d3d9params);
- return IDirect3D9_CreateDevice(d3d9, adapter, devtype, focus, behavior, &d3d9params, (IDirect3DDevice9 **)dev);
-}
-
-static HRESULT enum_adapter_modes(d3d_base *d3dptr, UINT adapter, D3DFORMAT format, UINT index, D3DDISPLAYMODE *mode)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_EnumAdapterModes(d3d9, adapter, format, index, mode);
-}
-
-
-static UINT get_adapter_count(d3d_base *d3dptr)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_GetAdapterCount(d3d9);
-}
-
-
-static HRESULT get_adapter_display_mode(d3d_base *d3dptr, UINT adapter, D3DDISPLAYMODE *mode)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_GetAdapterDisplayMode(d3d9, adapter, mode);
-}
-
-
-static HRESULT get_adapter_identifier(d3d_base *d3dptr, UINT adapter, DWORD flags, adapter_identifier *identifier)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- D3DADAPTER_IDENTIFIER9 id;
- HRESULT result = IDirect3D9_GetAdapterIdentifier(d3d9, adapter, flags, &id);
- memcpy(identifier->Driver, id.Driver, sizeof(identifier->Driver));
- memcpy(identifier->Description, id.Description, sizeof(identifier->Description));
- identifier->DriverVersion = id.DriverVersion;
- identifier->VendorId = id.VendorId;
- identifier->DeviceId = id.DeviceId;
- identifier->SubSysId = id.SubSysId;
- identifier->Revision = id.Revision;
- identifier->DeviceIdentifier = id.DeviceIdentifier;
- identifier->WHQLLevel = id.WHQLLevel;
- return result;
-}
-
-
-static UINT get_adapter_mode_count(d3d_base *d3dptr, UINT adapter, D3DFORMAT format)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_GetAdapterModeCount(d3d9, adapter, format);
-}
-
-
-static HMONITOR get_adapter_monitor(d3d_base *d3dptr, UINT adapter)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- return IDirect3D9_GetAdapterMonitor(d3d9, adapter);
-}
-
-
-static HRESULT get_caps_dword(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, caps_index which, DWORD *value)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- D3DCAPS9 caps;
- HRESULT result = IDirect3D9_GetDeviceCaps(d3d9, adapter, devtype, &caps);
- switch (which)
- {
- case CAPS_PRESENTATION_INTERVALS: *value = caps.PresentationIntervals; break;
- case CAPS_CAPS2: *value = caps.Caps2; break;
- case CAPS_DEV_CAPS: *value = caps.DevCaps; break;
- case CAPS_SRCBLEND_CAPS: *value = caps.SrcBlendCaps; break;
- case CAPS_DSTBLEND_CAPS: *value = caps.DestBlendCaps; break;
- case CAPS_TEXTURE_CAPS: *value = caps.TextureCaps; break;
- case CAPS_TEXTURE_FILTER_CAPS: *value = caps.TextureFilterCaps; break;
- case CAPS_TEXTURE_ADDRESS_CAPS: *value = caps.TextureAddressCaps; break;
- case CAPS_TEXTURE_OP_CAPS: *value = caps.TextureOpCaps; break;
- case CAPS_MAX_TEXTURE_ASPECT: *value = caps.MaxTextureAspectRatio; break;
- case CAPS_MAX_TEXTURE_WIDTH: *value = caps.MaxTextureWidth; break;
- case CAPS_MAX_TEXTURE_HEIGHT: *value = caps.MaxTextureHeight; break;
- case CAPS_STRETCH_RECT_FILTER: *value = caps.StretchRectFilterCaps; break;
- case CAPS_MAX_PS30_INSN_SLOTS: *value = caps.MaxPixelShader30InstructionSlots; break;
- }
- return result;
-}
-
-
-static ULONG release(d3d_base *d3dptr)
-{
- IDirect3D9 *d3d9 = (IDirect3D9 *)d3dptr->d3dobj;
- ULONG result = IDirect3D9_Release(d3d9);
- global_free(d3dptr);
- return result;
-}
-
-
-static const interface d3d9_interface =
-{
- check_device_format,
- check_device_type,
- create_device,
- enum_adapter_modes,
- get_adapter_count,
- get_adapter_display_mode,
- get_adapter_identifier,
- get_adapter_mode_count,
- get_adapter_monitor,
- get_caps_dword,
- release
-};
-
-
-
-//============================================================
-// Direct3DDevice interfaces
-//============================================================
-
-static HRESULT device_begin_scene(device *dev)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_BeginScene(device);
-}
-
-static HRESULT device_clear(device *dev, DWORD count, const D3DRECT *rects, DWORD flags, D3DCOLOR color, float z, DWORD stencil)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_Clear(device, count, rects, flags, color, z, stencil);
-}
-
-
-static HRESULT device_create_offscreen_plain_surface(device *dev, UINT width, UINT height, D3DFORMAT format, D3DPOOL pool, surface **surface)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_CreateOffscreenPlainSurface(device, width, height, format, pool, (IDirect3DSurface9 **)surface, nullptr);
-}
-
-static HRESULT device_create_texture(device *dev, UINT width, UINT height, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, texture **texture)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_CreateTexture(device, width, height, levels, usage, format, pool, (IDirect3DTexture9 **)texture, nullptr);
-}
-
-
-static HRESULT device_create_vertex_buffer(device *dev, UINT length, DWORD usage, DWORD fvf, D3DPOOL pool, vertex_buffer **buf)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_CreateVertexBuffer(device, length, usage, fvf, pool, (IDirect3DVertexBuffer9 **)buf, nullptr);
-}
-
-
-static HRESULT device_draw_primitive(device *dev, D3DPRIMITIVETYPE type, UINT start, UINT count)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_DrawPrimitive(device, type, start, count);
-}
-
-
-static HRESULT device_end_scene(device *dev)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_EndScene(device);
-}
-
-
-static HRESULT device_get_raster_status(device *dev, D3DRASTER_STATUS *status)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_GetRasterStatus(device, 0, status);
-}
-
-
-static HRESULT device_get_render_target(device *dev, DWORD index, surface **surface)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_GetRenderTarget(device, index, (IDirect3DSurface9 **)surface);
-}
-
-
-static HRESULT device_get_render_target_data(device *dev, surface *rendertarget, surface *destsurface)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_GetRenderTargetData(device, (IDirect3DSurface9 *)rendertarget, (IDirect3DSurface9 *)destsurface);
-}
-
-
-static HRESULT device_present(device *dev, const RECT *source, const RECT *dest, HWND override, RGNDATA *dirty, DWORD flags)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- if (flags != 0)
- {
- IDirect3DSwapChain9 *chain;
- HRESULT result = IDirect3DDevice9_GetSwapChain(device, 0, &chain);
- if (result == D3D_OK)
- {
- result = IDirect3DSwapChain9_Present(chain, source, dest, override, dirty, flags);
- IDirect3DSwapChain9_Release(chain);
- return result;
- }
- }
- return IDirect3DDevice9_Present(device, source, dest, override, dirty);
-}
-
-
-static ULONG device_release(device *dev)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_Release(device);
-}
-
-
-static HRESULT device_reset(device *dev, present_parameters *params)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- D3DPRESENT_PARAMETERS d3d9params;
- convert_present_params(params, &d3d9params);
- return IDirect3DDevice9_Reset(device, &d3d9params);
-}
-
-
-static void device_set_gamma_ramp(device *dev, DWORD flags, const D3DGAMMARAMP *ramp)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- IDirect3DDevice9_SetGammaRamp(device, 0, flags, ramp);
-}
-
-
-static HRESULT device_set_render_state(device *dev, D3DRENDERSTATETYPE state, DWORD value)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_SetRenderState(device, state, value);
-}
-
-
-static HRESULT device_set_render_target(device *dev, DWORD index, surface *surf)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- IDirect3DSurface9 *surface = (IDirect3DSurface9 *)surf;
- return IDirect3DDevice9_SetRenderTarget(device, index, surface);
-}
-
-
-static HRESULT device_create_render_target(device *dev, UINT width, UINT height, D3DFORMAT format, surface **surface)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_CreateRenderTarget(device, width, height, format, D3DMULTISAMPLE_NONE, 0, false, (IDirect3DSurface9 **)surface, nullptr);
-}
-
-
-static HRESULT device_set_stream_source(device *dev, UINT number, vertex_buffer *vbuf, UINT stride)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- IDirect3DVertexBuffer9 *vertexbuf = (IDirect3DVertexBuffer9 *)vbuf;
- return IDirect3DDevice9_SetStreamSource(device, number, vertexbuf, 0, stride);
-}
-
-
-static HRESULT device_set_texture(device *dev, DWORD stage, texture *tex)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- IDirect3DBaseTexture9 *texture = (IDirect3DBaseTexture9 *)tex;
- return IDirect3DDevice9_SetTexture(device, stage, texture);
-}
-
-
-static HRESULT device_set_texture_stage_state(device *dev, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
-
- // some state which was here got pushed into sampler state in D3D9
- switch ((DWORD)state)
- {
- case D3DTSS_ADDRESSU:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_ADDRESSU, value);
- case D3DTSS_ADDRESSV:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_ADDRESSV, value);
- case D3DTSS_BORDERCOLOR:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_BORDERCOLOR, value);
- case D3DTSS_MAGFILTER:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_MAGFILTER, value);
- case D3DTSS_MINFILTER:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_MINFILTER, value);
- case D3DTSS_MIPFILTER:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_MIPFILTER, value);
- case D3DTSS_MIPMAPLODBIAS:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_MIPMAPLODBIAS, value);
- case D3DTSS_MAXMIPLEVEL:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_MAXMIPLEVEL, value);
- case D3DTSS_MAXANISOTROPY:
- return IDirect3DDevice9_SetSamplerState(device, stage, D3DSAMP_MAXANISOTROPY, value);
- default:
- return IDirect3DDevice9_SetTextureStageState(device, stage, state, value);
- }
-}
-
-
-static HRESULT device_set_vertex_format(device *dev, D3DFORMAT format)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_SetFVF(device, format);
-}
-
-
-static HRESULT device_stretch_rect(device *dev, surface *source, const RECT *srcrect, surface *dest, const RECT *dstrect, D3DTEXTUREFILTERTYPE filter)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- IDirect3DSurface9 *ssurface = (IDirect3DSurface9 *)source;
- IDirect3DSurface9 *dsurface = (IDirect3DSurface9 *)dest;
- return IDirect3DDevice9_StretchRect(device, ssurface, srcrect, dsurface, dstrect, filter);
-}
-
-
-static HRESULT device_test_cooperative_level(device *dev)
-{
- IDirect3DDevice9 *device = (IDirect3DDevice9 *)dev;
- return IDirect3DDevice9_TestCooperativeLevel(device);
-}
-
-
-static const d3d_device_interface d3d9_device_interface =
-{
- device_begin_scene,
- device_clear,
- device_create_offscreen_plain_surface,
- device_create_texture,
- device_create_vertex_buffer,
- device_create_render_target,
- device_draw_primitive,
- device_end_scene,
- device_get_raster_status,
- device_get_render_target,
- device_get_render_target_data,
- device_present,
- device_release,
- device_reset,
- device_set_gamma_ramp,
- device_set_render_state,
- device_set_render_target,
- device_set_stream_source,
- device_set_texture,
- device_set_texture_stage_state,
- device_set_vertex_format,
- device_stretch_rect,
- device_test_cooperative_level
-};
-
-
-
-//============================================================
-// Direct3DSurface interfaces
-//============================================================
-
-static HRESULT surface_lock_rect(surface *surf, D3DLOCKED_RECT *locked, const RECT *rect, DWORD flags)
-{
- IDirect3DSurface9 *surface = (IDirect3DSurface9 *)surf;
- return IDirect3DSurface9_LockRect(surface, locked, rect, flags);
-}
-
-
-static ULONG surface_release(surface *surf)
-{
- IDirect3DSurface9 *surface = (IDirect3DSurface9 *)surf;
- return IDirect3DSurface9_Release(surface);
-}
-
-
-static HRESULT surface_unlock_rect(surface *surf)
-{
- IDirect3DSurface9 *surface = (IDirect3DSurface9 *)surf;
- return IDirect3DSurface9_UnlockRect(surface);
-}
-
-
-static const surface_interface d3d9_surface_interface =
-{
- surface_lock_rect,
- surface_release,
- surface_unlock_rect
-};
-
-
-
-//============================================================
-// Direct3DTexture interfaces
-//============================================================
-
-static HRESULT texture_get_surface_level(texture *tex, UINT level, surface **surface)
-{
- IDirect3DTexture9 *texture = (IDirect3DTexture9 *)tex;
- return IDirect3DTexture9_GetSurfaceLevel(texture, level, (IDirect3DSurface9 **)surface);
-}
-
-
-static HRESULT texture_lock_rect(texture *tex, UINT level, D3DLOCKED_RECT *locked, const RECT *rect, DWORD flags)
-{
- IDirect3DTexture9 *texture = (IDirect3DTexture9 *)tex;
- return IDirect3DTexture9_LockRect(texture, level, locked, rect, flags);
-}
-
-
-static ULONG texture_release(texture *tex)
-{
- IDirect3DTexture9 *texture = (IDirect3DTexture9 *)tex;
- return IDirect3DTexture9_Release(texture);
-}
-
-
-static HRESULT texture_unlock_rect(texture *tex, UINT level)
-{
- IDirect3DTexture9 *texture = (IDirect3DTexture9 *)tex;
- return IDirect3DTexture9_UnlockRect(texture, level);
-}
-
-
-static const texture_interface d3d9_texture_interface =
-{
- texture_get_surface_level,
- texture_lock_rect,
- texture_release,
- texture_unlock_rect
-};
-
-
-
-//============================================================
-// Direct3DVertexBuffer interfaces
-//============================================================
-
-static HRESULT vertex_buffer_lock(vertex_buffer *vbuf, UINT offset, UINT size, VOID **data, DWORD flags)
-{
- IDirect3DVertexBuffer9 *vertexbuf = (IDirect3DVertexBuffer9 *)vbuf;
- return IDirect3DVertexBuffer9_Lock(vertexbuf, offset, size, data, flags);
-}
-
-
-static ULONG vertex_buffer_release(vertex_buffer *vbuf)
-{
- IDirect3DVertexBuffer9 *vertexbuf = (IDirect3DVertexBuffer9 *)vbuf;
- return IDirect3DVertexBuffer9_Release(vertexbuf);
-}
-
-
-static HRESULT vertex_buffer_unlock(vertex_buffer *vbuf)
-{
- IDirect3DVertexBuffer9 *vertexbuf = (IDirect3DVertexBuffer9 *)vbuf;
- return IDirect3DVertexBuffer9_Unlock(vertexbuf);
-}
-
-
-static const vertex_buffer_interface d3d9_vertex_buffer_interface =
-{
- vertex_buffer_lock,
- vertex_buffer_release,
- vertex_buffer_unlock
-};
-
-
-//============================================================
-// set_interfaces
-//============================================================
-
-static void set_interfaces(d3d_base *d3dptr)
-{
- d3dptr->d3d = d3d9_interface;
- d3dptr->device = d3d9_device_interface;
- d3dptr->surface = d3d9_surface_interface;
- d3dptr->texture = d3d9_texture_interface;
- d3dptr->vertexbuf = d3d9_vertex_buffer_interface;
-}
diff --git a/src/osd/modules/render/d3d/d3dintf.h b/src/osd/modules/render/d3d/d3dintf.h
deleted file mode 100644
index 3e0a90a46f5..00000000000
--- a/src/osd/modules/render/d3d/d3dintf.h
+++ /dev/null
@@ -1,239 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Aaron Giles
-//============================================================
-//
-// d3dintf.h - Direct3D 8/9 interface abstractions
-//
-//============================================================
-
-#ifndef __WIN_D3DINTF__
-#define __WIN_D3DINTF__
-
-// standard windows headers
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <tchar.h>
-#include <mmsystem.h>
-#include <d3d9.h>
-#include <d3dx9.h>
-#include <math.h>
-#undef interface
-
-//============================================================
-// CONSTANTS
-//============================================================
-
-#ifndef D3DCAPS2_DYNAMICTEXTURES
-#define D3DCAPS2_DYNAMICTEXTURES 0x20000000L
-#endif
-
-#ifndef D3DPRESENT_DONOTWAIT
-#define D3DPRESENT_DONOTWAIT 0x00000001L
-#endif
-
-
-#define D3DTSS_ADDRESSU 13
-#define D3DTSS_ADDRESSV 14
-#define D3DTSS_BORDERCOLOR 15
-#define D3DTSS_MAGFILTER 16
-#define D3DTSS_MINFILTER 17
-#define D3DTSS_MIPFILTER 18
-#define D3DTSS_MIPMAPLODBIAS 19
-#define D3DTSS_MAXMIPLEVEL 20
-#define D3DTSS_MAXANISOTROPY 21
-
-//============================================================
-// TYPE DEFINITIONS
-//============================================================
-
-struct d3d_base;
-struct device;
-struct surface;
-struct texture;
-struct vertex_buffer;
-class effect;
-typedef D3DXVECTOR4 vector;
-typedef D3DMATRIX matrix;
-
-//============================================================
-// Abstracted presentation parameters
-//============================================================
-
-struct present_parameters
-{
- UINT BackBufferWidth;
- UINT BackBufferHeight;
- D3DFORMAT BackBufferFormat;
- UINT BackBufferCount;
- D3DMULTISAMPLE_TYPE MultiSampleType;
- DWORD MultiSampleQuality;
- D3DSWAPEFFECT SwapEffect;
- HWND hDeviceWindow;
- BOOL Windowed;
- BOOL EnableAutoDepthStencil;
- D3DFORMAT AutoDepthStencilFormat;
- DWORD Flags;
- UINT FullScreen_RefreshRateInHz;
- UINT PresentationInterval;
-};
-
-
-//============================================================
-// Abstracted device identifier
-//============================================================
-
-struct adapter_identifier
-{
- char Driver[512];
- char Description[512];
- LARGE_INTEGER DriverVersion;
- DWORD VendorId;
- DWORD DeviceId;
- DWORD SubSysId;
- DWORD Revision;
- GUID DeviceIdentifier;
- DWORD WHQLLevel;
-};
-
-
-//============================================================
-// Caps enumeration
-//============================================================
-
-enum caps_index
-{
- CAPS_PRESENTATION_INTERVALS,
- CAPS_CAPS2,
- CAPS_DEV_CAPS,
- CAPS_SRCBLEND_CAPS,
- CAPS_DSTBLEND_CAPS,
- CAPS_TEXTURE_CAPS,
- CAPS_TEXTURE_FILTER_CAPS,
- CAPS_TEXTURE_ADDRESS_CAPS,
- CAPS_TEXTURE_OP_CAPS,
- CAPS_MAX_TEXTURE_ASPECT,
- CAPS_MAX_TEXTURE_WIDTH,
- CAPS_MAX_TEXTURE_HEIGHT,
- CAPS_STRETCH_RECT_FILTER,
- CAPS_MAX_PS30_INSN_SLOTS
-};
-
-
-//============================================================
-// Direct3D interfaces
-//============================================================
-
-struct interface
-{
- HRESULT (*check_device_format)(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, D3DFORMAT adapterformat, DWORD usage, D3DRESOURCETYPE restype, D3DFORMAT format);
- HRESULT (*check_device_type)(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, D3DFORMAT format, D3DFORMAT backformat, BOOL windowed);
- HRESULT (*create_device)(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, HWND focus, DWORD behavior, present_parameters *params, device **dev);
- HRESULT (*enum_adapter_modes)(d3d_base *d3dptr, UINT adapter, D3DFORMAT format, UINT index, D3DDISPLAYMODE *mode);
- UINT (*get_adapter_count)(d3d_base *d3dptr);
- HRESULT (*get_adapter_display_mode)(d3d_base *d3dptr, UINT adapter, D3DDISPLAYMODE *mode);
- HRESULT (*get_adapter_identifier)(d3d_base *d3dptr, UINT adapter, DWORD flags, adapter_identifier *identifier);
- UINT (*get_adapter_mode_count)(d3d_base *d3dptr, UINT adapter, D3DFORMAT format);
- HMONITOR (*get_adapter_monitor)(d3d_base *d3dptr, UINT adapter);
- HRESULT (*get_caps_dword)(d3d_base *d3dptr, UINT adapter, D3DDEVTYPE devtype, caps_index which, DWORD *value);
- ULONG (*release)(d3d_base *d3dptr);
-};
-
-
-//============================================================
-// Direct3DDevice interfaces
-//============================================================
-
-struct d3d_device_interface
-{
- HRESULT (*begin_scene)(device *dev);
- HRESULT (*clear)(device *dev, DWORD count, const D3DRECT *rects, DWORD flags, D3DCOLOR color, float z, DWORD stencil);
- HRESULT (*create_offscreen_plain_surface)(device *dev, UINT width, UINT height, D3DFORMAT format, D3DPOOL pool, surface **surface);
- HRESULT (*create_texture)(device *dev, UINT width, UINT height, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, texture **texture);
- HRESULT (*create_vertex_buffer)(device *dev, UINT length, DWORD usage, DWORD fvf, D3DPOOL pool, vertex_buffer **buf);
- HRESULT (*create_render_target)(device *dev, UINT width, UINT height, D3DFORMAT format, surface **surface);
- HRESULT (*draw_primitive)(device *dev, D3DPRIMITIVETYPE type, UINT start, UINT count);
- HRESULT (*end_scene)(device *dev);
- HRESULT (*get_raster_status)(device *dev, D3DRASTER_STATUS *status);
- HRESULT (*get_render_target)(device *dev, DWORD index, surface **surface);
- HRESULT (*get_render_target_data)(device *dev, surface *rendertarget, surface *destsurface);
- HRESULT (*present)(device *dev, const RECT *source, const RECT *dest, HWND override, RGNDATA *dirty, DWORD flags);
- ULONG (*release)(device *dev);
- HRESULT (*reset)(device *dev, present_parameters *params);
- void (*set_gamma_ramp)(device *dev, DWORD flags, const D3DGAMMARAMP *ramp);
- HRESULT (*set_render_state)(device *dev, D3DRENDERSTATETYPE state, DWORD value);
- HRESULT (*set_render_target)(device *dev, DWORD index, surface *surf);
- HRESULT (*set_stream_source)(device *dev, UINT number, vertex_buffer *vbuf, UINT stride);
- HRESULT (*set_texture)(device *dev, DWORD stage, texture *tex);
- HRESULT (*set_texture_stage_state)(device *dev, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value);
- HRESULT (*set_vertex_format)(device *dev, D3DFORMAT format);
- HRESULT (*stretch_rect)(device *dev, surface *source, const RECT *srcrect, surface *dest, const RECT *dstrect, D3DTEXTUREFILTERTYPE filter);
- HRESULT (*test_cooperative_level)(device *dev);
-};
-
-
-//============================================================
-// Direct3DSurface interfaces
-//============================================================
-
-struct surface_interface
-{
- HRESULT (*lock_rect)(surface *surf, D3DLOCKED_RECT *locked, const RECT *rect, DWORD flags);
- ULONG (*release)(surface *tex);
- HRESULT (*unlock_rect)(surface *surf);
-};
-
-
-//============================================================
-// Direct3DTexture interfaces
-//============================================================
-
-struct texture_interface
-{
- HRESULT (*get_surface_level)(texture *tex, UINT level, surface **surface);
- HRESULT (*lock_rect)(texture *tex, UINT level, D3DLOCKED_RECT *locked, const RECT *rect, DWORD flags);
- ULONG (*release)(texture *tex);
- HRESULT (*unlock_rect)(texture *tex, UINT level);
-};
-
-
-//============================================================
-// Direct3DVertexBuffer interfaces
-//============================================================
-
-struct vertex_buffer_interface
-{
- HRESULT (*lock)(vertex_buffer *vbuf, UINT offset, UINT size, VOID **data, DWORD flags);
- ULONG (*release)(vertex_buffer *vbuf);
- HRESULT (*unlock)(vertex_buffer *vbuf);
-};
-
-
-//============================================================
-// Core D3D object
-//============================================================
-
-struct d3d_base
-{
- // internal objects
- int version;
- void * d3dobj;
- HINSTANCE dllhandle;
- bool post_fx_available;
- HINSTANCE libhandle;
-
- // interface pointers
- interface d3d;
- d3d_device_interface device;
- surface_interface surface;
- texture_interface texture;
- vertex_buffer_interface vertexbuf;
-};
-
-
-//============================================================
-// PROTOTYPES
-//============================================================
-
-d3d_base *drawd3d9_init(void);
-
-#endif