49 WARN(
"Application asks for IDirect3D9Ex, but this instance wasn't created with Direct3DCreate9Ex.\n");
98 TRACE(
"iface %p, init_function %p.\n", iface, init_function);
111 TRACE(
"iface %p.\n", iface);
123 unsigned int output_idx;
126 TRACE(
"iface %p, adapter %u, flags %#lx, identifier %p.\n",
137 WARN(
"Failed to get output description, hr %#lx.\n",
hr);
167 unsigned int output_idx,
count;
192 unsigned int output_idx;
195 TRACE(
"iface %p, adapter %u, format %#x, mode_idx %u, mode %p.\n",
225 unsigned int output_idx;
253 unsigned int output_idx;
256 TRACE(
"iface %p, adapter %u, device_type %#x, display_format %#x, backbuffer_format %#x, windowed %#x.\n",
282 unsigned int bind_flags;
283 unsigned int output_idx;
286 TRACE(
"iface %p, adapter %u, device_type %#x, adapter_format %#x, usage %#lx, resource_type %#x, format %#x.\n",
296 WARN(
"Invalid adapter format.\n");
302 switch (resource_type)
324 FIXME(
"Unhandled resource type %#x.\n", resource_type);
353 unsigned int output_idx;
356 TRACE(
"iface %p, adapter %u, device_type %#x, format %#x, windowed %#x, multisample_type %#x, levels %p.\n",
383 unsigned int output_idx;
386 TRACE(
"iface %p, adapter %u, device_type %#x, adapter_format %#x, rt_format %#x, ds_format %#x.\n",
407 unsigned int output_idx;
410 TRACE(
"iface %p, adapter %u, device_type %#x, src_format %#x, dst_format %#x.\n",
434 unsigned int output_idx;
446 memset(caps, 0,
sizeof(*caps));
462 unsigned int output_idx;
477 WARN(
"Failed to get output desc, hr %#lx.\n",
hr);
492 TRACE(
"iface %p, adapter %u, device_type %#x, focus_window %p, flags %#lx, parameters %p, device %p.\n",
495 if (!(
object =
calloc(1,
sizeof(*
object))))
501 WARN(
"Failed to initialize device, hr %#lx.\n",
hr);
506 TRACE(
"Created device %p.\n",
object);
516 unsigned int output_idx,
count;
540 unsigned int output_idx;
543 TRACE(
"iface %p, adapter %u, filter %p, mode_idx %u, mode %p.\n",
575 unsigned int output_idx;
578 TRACE(
"iface %p, adapter %u, mode %p, rotation %p.\n",
613 TRACE(
"iface %p, adapter %u, device_type %#x, focus_window %p, flags %#lx, parameters %p, mode %p, device %p.\n",
616 if (!(
object =
calloc(1,
sizeof(*
object))))
622 WARN(
"Failed to initialize device, hr %#lx.\n",
hr);
627 TRACE(
"Created device %p.\n",
object);
628 *
device = &
object->IDirect3DDevice9Ex_iface;
638 unsigned int output_idx;
692 unsigned int adapter_idx, output_idx,
adapter_count, output_count = 0;
710 for (adapter_idx = 0; adapter_idx <
adapter_count; ++adapter_idx)
725 for (adapter_idx = 0; adapter_idx <
adapter_count; ++adapter_idx)
729 for (output_idx = 0; output_idx <
output_count; ++output_idx)
#define DECLSPEC_HOTPATCH
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define D3DERR_INVALIDCALL
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)
D3DFORMAT d3dformat_from_wined3dformat(enum wined3d_format_id format)
static enum wined3d_device_type wined3d_device_type_from_d3d(D3DDEVTYPE type)
enum wined3d_format_id wined3dformat_from_d3dformat(D3DFORMAT format)
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DDEVTYPE D3DDEVTYPE
@ D3DMULTISAMPLE_16_SAMPLES
#define D3DUSAGE_RENDERTARGET
enum _D3DFORMAT D3DFORMAT
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_CreateDevice(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters, IDirect3DDevice9 **device)
static HRESULT WINAPI d3d9_GetAdapterDisplayModeEx(IDirect3D9Ex *iface, UINT adapter, D3DDISPLAYMODEEX *mode, D3DDISPLAYROTATION *rotation)
static UINT WINAPI d3d9_GetAdapterModeCount(IDirect3D9Ex *iface, UINT adapter, D3DFORMAT format)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d9_CreateDeviceEx(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters, D3DDISPLAYMODEEX *mode, IDirect3DDevice9Ex **device)
static HRESULT WINAPI d3d9_GetAdapterLUID(IDirect3D9Ex *iface, UINT adapter, LUID *luid)
static HRESULT WINAPI d3d9_EnumAdapterModes(IDirect3D9Ex *iface, UINT adapter, D3DFORMAT format, UINT mode_idx, D3DDISPLAYMODE *mode)
static UINT WINAPI d3d9_GetAdapterCount(IDirect3D9Ex *iface)
static HRESULT WINAPI d3d9_CheckDeviceType(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT display_format, D3DFORMAT backbuffer_format, BOOL windowed)
static HMONITOR WINAPI d3d9_GetAdapterMonitor(IDirect3D9Ex *iface, UINT adapter)
static UINT WINAPI d3d9_GetAdapterModeCountEx(IDirect3D9Ex *iface, UINT adapter, const D3DDISPLAYMODEFILTER *filter)
static HRESULT WINAPI d3d9_CheckDeviceMultiSampleType(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT format, BOOL windowed, D3DMULTISAMPLE_TYPE multisample_type, DWORD *levels)
static ULONG WINAPI d3d9_Release(IDirect3D9Ex *iface)
static HRESULT WINAPI d3d9_QueryInterface(IDirect3D9Ex *iface, REFIID riid, void **out)
static HRESULT WINAPI d3d9_EnumAdapterModesEx(IDirect3D9Ex *iface, UINT adapter, const D3DDISPLAYMODEFILTER *filter, UINT mode_idx, D3DDISPLAYMODEEX *mode)
static ULONG WINAPI d3d9_AddRef(IDirect3D9Ex *iface)
static struct d3d9 * impl_from_IDirect3D9Ex(IDirect3D9Ex *iface)
static HRESULT WINAPI d3d9_CheckDeviceFormatConversion(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT src_format, D3DFORMAT dst_format)
static const struct IDirect3D9ExVtbl d3d9_vtbl
static HRESULT WINAPI d3d9_CheckDeviceFormat(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT adapter_format, DWORD usage, D3DRESOURCETYPE resource_type, D3DFORMAT format)
static HRESULT WINAPI d3d9_RegisterSoftwareDevice(IDirect3D9Ex *iface, void *init_function)
static HRESULT WINAPI d3d9_GetAdapterIdentifier(IDirect3D9Ex *iface, UINT adapter, DWORD flags, D3DADAPTER_IDENTIFIER9 *identifier)
BOOL d3d9_init(struct d3d9 *d3d9, BOOL extended, BOOL d3d9on12)
static HRESULT WINAPI d3d9_GetDeviceCaps(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, D3DCAPS9 *caps)
static HRESULT WINAPI d3d9_CheckDepthStencilMatch(IDirect3D9Ex *iface, UINT adapter, D3DDEVTYPE device_type, D3DFORMAT adapter_format, D3DFORMAT rt_format, D3DFORMAT ds_format)
static HRESULT WINAPI d3d9_GetAdapterDisplayMode(IDirect3D9Ex *iface, UINT adapter, D3DDISPLAYMODE *mode)
#define IDirect3D9Ex_AddRef(p)
static enum wined3d_multisample_type wined3d_multisample_type_from_d3d(D3DMULTISAMPLE_TYPE type)
#define WideCharToMultiByte
GLuint GLuint GLsizei count
GLsizeiptr const GLvoid GLenum usage
#define memcpy(s1, s2, n)
D3D11_SHADER_VARIABLE_DESC desc
static const char * dst_format
#define IsEqualGUID(rguid1, rguid2)
#define D3DERR_NOTAVAILABLE
char Driver[MAX_DEVICE_IDENTIFIER_STRING]
char Description[MAX_DEVICE_IDENTIFIER_STRING]
LARGE_INTEGER DriverVersion
unsigned int wined3d_output_count
struct wined3d_output ** wined3d_outputs
IDirect3D9Ex IDirect3D9Ex_iface
unsigned int description_size
LARGE_INTEGER driver_version
enum wined3d_format_id format_id
enum wined3d_scanline_ordering scanline_ordering
WCHAR device_name[CCHDEVICENAME]
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
void d3d9_caps_from_wined3dcaps(const struct d3d9 *d3d9, unsigned int adapter_ordinal, D3DCAPS9 *caps, const struct wined3d_caps *wined3d_caps)
static unsigned int wined3d_bind_flags_from_d3d9_usage(DWORD usage)
static enum wined3d_scanline_ordering wined3d_scanline_ordering_from_d3d(D3DSCANLINEORDERING ordering)
static D3DSCANLINEORDERING d3dscanlineordering_from_wined3d(enum wined3d_scanline_ordering ordering)
unsigned int CDECL wined3d_adapter_get_output_count(const struct wined3d_adapter *adapter)
ULONG CDECL wined3d_decref(struct wined3d *wined3d)
UINT CDECL wined3d_get_adapter_count(const struct wined3d *wined3d)
struct wined3d_adapter *CDECL wined3d_output_get_adapter(const struct wined3d_output *output)
HRESULT CDECL wined3d_output_get_desc(const struct wined3d_output *output, struct wined3d_output_desc *desc)
HRESULT CDECL wined3d_check_device_format(const struct wined3d *wined3d, const struct wined3d_adapter *adapter, enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, uint32_t usage, unsigned int bind_flags, enum wined3d_resource_type resource_type, enum wined3d_format_id check_format_id)
HRESULT CDECL wined3d_get_device_caps(const struct wined3d_adapter *adapter, enum wined3d_device_type device_type, struct wined3d_caps *caps)
unsigned int CDECL wined3d_output_get_mode_count(struct wined3d_output *output, enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering, bool cached)
HRESULT CDECL wined3d_check_device_format_conversion(const struct wined3d_output *output, enum wined3d_device_type device_type, enum wined3d_format_id src_format_id, enum wined3d_format_id dst_format_id)
HRESULT CDECL wined3d_register_software_device(struct wined3d *wined3d, void *init_function)
HRESULT CDECL wined3d_check_device_multisample_type(const struct wined3d_adapter *adapter, enum wined3d_device_type device_type, enum wined3d_format_id surface_format_id, BOOL windowed, enum wined3d_multisample_type multisample_type, unsigned int *quality_levels)
HRESULT CDECL wined3d_adapter_get_identifier(const struct wined3d_adapter *adapter, uint32_t flags, struct wined3d_adapter_identifier *identifier)
HRESULT CDECL wined3d_output_get_mode(struct wined3d_output *output, enum wined3d_format_id format_id, enum wined3d_scanline_ordering scanline_ordering, unsigned int mode_idx, struct wined3d_display_mode *mode, bool cached)
struct wined3d_adapter *CDECL wined3d_get_adapter(const struct wined3d *wined3d, unsigned int idx)
struct wined3d_output *CDECL wined3d_adapter_get_output(const struct wined3d_adapter *adapter, unsigned int idx)
HRESULT CDECL wined3d_check_depth_stencil_match(const struct wined3d_adapter *adapter, 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_output_get_display_mode(const struct wined3d_output *output, struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
HRESULT CDECL wined3d_check_device_type(const struct wined3d *wined3d, struct wined3d_output *output, enum wined3d_device_type device_type, enum wined3d_format_id display_format, enum wined3d_format_id backbuffer_format, BOOL windowed)
#define WINED3D_RESTORE_MODE_ON_ACTIVATE
#define WINED3DUSAGE_QUERY_MASK
@ WINED3D_MULTISAMPLE_NON_MASKABLE
#define WINED3D_NORMALIZED_DEPTH_BIAS
#define WINED3DUSAGE_LEGACY_CUBEMAP
#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
#define WINED3D_BIND_SHADER_RESOURCE
@ WINED3DFMT_D24_UNORM_S8_UINT
#define WINED3D_PRESENT_CONVERSION
@ WINED3D_SCANLINE_ORDERING_UNKNOWN
#define WINED3D_NO_DRAW_INDIRECT
#define WINED3DERR_INVALIDCALL
#define WINED3D_PIXEL_CENTER_INTEGER
#define WINED3D_SRGB_READ_WRITE_CONTROL
#define WINED3D_LEGACY_CUBEMAP_FILTERING
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)
struct wined3d *CDECL wined3d_create(uint32_t flags)