32#include "wine/unicode.h"
95 TRACE(
"iface %p, init_function %p.\n", iface, init_function);
109 TRACE(
"iface %p.\n", iface);
125 TRACE(
"iface %p, adapter %u, flags %#x, identifier %p.\n",
171 TRACE(
"iface %p, adapter %u, mode_idx %u, mode %p.\n",
196 TRACE(
"iface %p, adapter %u, mode %p.\n",
220 TRACE(
"iface %p, adapter %u, device_type %#x, display_format %#x, backbuffer_format %#x, windowed %#x.\n",
241 TRACE(
"iface %p, adapter %u, device_type %#x, adapter_format %#x, usage %#x, resource_type %#x, format %#x.\n",
246 WARN(
"Invalid adapter format.\n");
251 switch (resource_type)
273 FIXME(
"Unhandled resource type %#x.\n", resource_type);
291 TRACE(
"iface %p, adapter %u, device_type %#x, format %#x, windowed %#x, multisample_type %#x.\n",
312 TRACE(
"iface %p, adapter %u, device_type %#x, adapter_format %#x, rt_format %#x, ds_format %#x.\n",
358 WARN(
"Failed to get output desc, hr %#x.\n",
hr);
367 IDirect3DDevice8 **
device)
373 TRACE(
"iface %p, adapter %u, device_type %#x, focus_window %p, flags %#x, parameters %p, device %p.\n",
376 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
382 WARN(
"Failed to initialize device, hr %#x.\n",
hr);
387 TRACE(
"Created device %p.\n",
object);
388 *
device = &
object->IDirect3DDevice8_iface;
static BOOL heap_free(void *mem)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static HRESULT WINAPI d3d8_GetDeviceCaps(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, D3DCAPS8 *caps)
static ULONG WINAPI d3d8_Release(IDirect3D8 *iface)
static UINT WINAPI d3d8_GetAdapterCount(IDirect3D8 *iface)
static HRESULT WINAPI d3d8_CheckDeviceFormat(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT adapter_format, DWORD usage, D3DRESOURCETYPE resource_type, D3DFORMAT format)
static HRESULT WINAPI d3d8_EnumAdapterModes(IDirect3D8 *iface, UINT adapter, UINT mode_idx, D3DDISPLAYMODE *mode)
static HRESULT WINAPI d3d8_CheckDeviceMultiSampleType(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT format, BOOL windowed, D3DMULTISAMPLE_TYPE multisample_type)
static HRESULT WINAPI d3d8_CheckDeviceType(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT display_format, D3DFORMAT backbuffer_format, BOOL windowed)
static struct d3d8 * impl_from_IDirect3D8(IDirect3D8 *iface)
static HRESULT WINAPI d3d8_GetAdapterIdentifier(IDirect3D8 *iface, UINT adapter, DWORD flags, D3DADAPTER_IDENTIFIER8 *identifier)
static HRESULT WINAPI d3d8_CreateDevice(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters, IDirect3DDevice8 **device)
static ULONG WINAPI d3d8_AddRef(IDirect3D8 *iface)
static HRESULT WINAPI d3d8_RegisterSoftwareDevice(IDirect3D8 *iface, void *init_function)
static HRESULT WINAPI d3d8_CheckDepthStencilMatch(IDirect3D8 *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT adapter_format, D3DFORMAT rt_format, D3DFORMAT ds_format)
static HMONITOR WINAPI d3d8_GetAdapterMonitor(IDirect3D8 *iface, UINT adapter)
static HRESULT WINAPI d3d8_QueryInterface(IDirect3D8 *iface, REFIID riid, void **out)
BOOL d3d8_init(struct d3d8 *d3d8)
static const struct IDirect3D8Vtbl d3d8_vtbl
static HRESULT WINAPI d3d8_GetAdapterDisplayMode(IDirect3D8 *iface, UINT adapter, D3DDISPLAYMODE *mode)
static UINT WINAPI d3d8_GetAdapterModeCount(IDirect3D8 *iface, UINT adapter)
void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const WINED3DCAPS *wined3d_caps) DECLSPEC_HIDDEN
enum wined3d_format_id wined3dformat_from_d3dformat(D3DFORMAT format) DECLSPEC_HIDDEN
D3DFORMAT d3dformat_from_wined3dformat(enum wined3d_format_id format) DECLSPEC_HIDDEN
HRESULT device_init(struct d3d8_device *device, struct d3d8 *parent, struct wined3d *wined3d, UINT adapter, D3DDEVTYPE device_type, HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters) DECLSPEC_HIDDEN
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DDEVTYPE D3DDEVTYPE
@ D3DMULTISAMPLE_16_SAMPLES
enum _D3DFORMAT D3DFORMAT
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
#define D3DERR_INVALIDCALL
GLsizeiptr const GLvoid GLenum usage
#define memcpy(s1, s2, n)
static const WCHAR desc[]
#define IsEqualGUID(rguid1, rguid2)
#define IDirect3D8_AddRef(p)
LARGE_INTEGER DriverVersion
char Driver[MAX_DEVICE_IDENTIFIER_STRING]
char Description[MAX_DEVICE_IDENTIFIER_STRING]
IDirect3D8 IDirect3D8_iface
LARGE_INTEGER driver_version
enum wined3d_format_id format_id
#define CONTAINING_RECORD(address, type, field)
ULONG CDECL wined3d_decref(struct wined3d *wined3d)
HRESULT CDECL wined3d_check_device_type(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, enum wined3d_format_id display_format, enum wined3d_format_id backbuffer_format, BOOL windowed)
UINT CDECL wined3d_get_adapter_count(const struct wined3d *wined3d)
HRESULT CDECL wined3d_check_device_format(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, DWORD usage, enum wined3d_resource_type resource_type, enum wined3d_format_id check_format_id)
HRESULT CDECL wined3d_get_output_desc(const struct wined3d *wined3d, unsigned int adapter_idx, struct wined3d_output_desc *desc)
UINT CDECL wined3d_get_adapter_mode_count(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering)
HRESULT CDECL wined3d_get_adapter_identifier(const struct wined3d *wined3d, UINT adapter_idx, DWORD flags, struct wined3d_adapter_identifier *identifier)
HRESULT CDECL wined3d_enum_adapter_modes(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering, UINT mode_idx, struct wined3d_display_mode *mode)
HRESULT CDECL wined3d_register_software_device(struct wined3d *wined3d, void *init_function)
HRESULT CDECL wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UINT adapter_idx, struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
HRESULT CDECL wined3d_check_depth_stencil_match(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, enum wined3d_format_id render_target_format_id, enum wined3d_format_id depth_stencil_format_id)
HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, WINED3DCAPS *caps)
HRESULT CDECL wined3d_check_device_multisample_type(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, enum wined3d_format_id surface_format_id, BOOL windowed, enum wined3d_multisample_type multisample_type, DWORD *quality_levels)
#define WINED3DUSAGE_QUERY_MASK
#define WINED3D_LIMIT_VIEWPORT
#define WINED3DUSAGE_LEGACY_CUBEMAP
#define WINED3D_VIDMEM_ACCOUNTING
#define WINED3D_LEGACY_UNBOUND_RESOURCE_COLOR
@ WINED3D_RTYPE_TEXTURE_2D
@ WINED3D_RTYPE_TEXTURE_3D
#define WINED3D_HANDLE_RESTORE
#define WINED3D_NO_PRIMITIVE_RESTART
#define WINED3DERR_NOTAVAILABLE
#define WINED3DUSAGE_MASK
@ WINED3D_SCANLINE_ORDERING_UNKNOWN
#define WINED3D_LEGACY_DEPTH_BIAS
#define WINED3DERR_INVALIDCALL
#define WINED3D_PIXEL_CENTER_INTEGER
#define WINED3DUSAGE_TEXTURE
#define WINED3D_LEGACY_CUBEMAP_FILTERING
void WINAPI wined3d_mutex_unlock(void)
struct wined3d *CDECL wined3d_create(DWORD flags)
void WINAPI wined3d_mutex_lock(void)