41 { { 0x00010001, 0x00010001 } },
44 {0xa8373c10,0x7ac4,0x4deb, {0x84,0x9a,0x00,0x98,0x44,0xd0,0x8b,0x2d}},
58 "WINE Direct3D7 Hardware Transform and Lighting acceleration using WineD3D",
60 &IID_IDirect3DTnLHalDevice,
66 "WINE Direct3D7 Hardware acceleration using WineD3D",
68 &IID_IDirect3DHALDevice,
74 "WINE Direct3D7 RGB Software Emulation using WineD3D",
76 &IID_IDirect3DRGBDevice,
150 TRACE(
"Returning IDirectDraw7 interface %p.\n", *
out);
155 TRACE(
"Returning IDirectDraw4 interface %p.\n", *
out);
160 TRACE(
"Returning IDirectDraw2 interface %p.\n", *
out);
165 TRACE(
"Returning IDirectDraw interface %p.\n", *
out);
171 TRACE(
"Returning Direct3D7 interface %p.\n", *
out);
177 TRACE(
"Returning Direct3D3 interface %p.\n", *
out);
183 TRACE(
"Returning Direct3D2 interface %p.\n", *
out);
189 TRACE(
"Returning Direct3D interface %p.\n", *
out);
336 TRACE(
"iface %p.\n", iface);
345 TRACE(
"iface %p.\n", iface);
354 TRACE(
"iface %p.\n", iface);
363 TRACE(
"iface %p.\n", iface);
370 TRACE(
"Destroying the swapchain.\n");
388 ERR(
"Failed to uninit 3D.\n");
410 TRACE(
"Swapchain destroyed.\n");
426 IDirectDraw7_RestoreDisplayMode(&
This->IDirectDraw7_iface);
429 if(
This->devicewindow != 0)
431 TRACE(
" (%p) Destroying the device window %p\n",
This,
This->devicewindow);
433 This->devicewindow = 0;
440 if (
This->wined3d_swapchain)
515 TRACE(
"iface %p.\n", iface);
524 TRACE(
"iface %p.\n", iface);
533 TRACE(
"iface %p.\n", iface);
542 TRACE(
"iface %p.\n", iface);
557 TRACE(
"Setting DDSCL_SETFOCUSWINDOW with an already set window, returning DDERR_HWNDALREADYSET.\n");
586 WARN(
"No window for the Direct3DDevice, created hidden window %p.\n",
window);
592 TRACE(
"Using existing window %p for Direct3D rendering.\n",
window);
609 ERR(
"Error allocating an array for the converted vertex decls.\n");
615 TRACE(
"Successfully initialized 3D.\n");
628 ERR(
"Failed to get display mode.\n");
632 memset(&swapchain_desc, 0,
sizeof(swapchain_desc));
649 ERR(
"Failed to create swapchain, hr %#x.\n",
hr);
655 ERR(
"Failed to get swapchain.\n");
683 TRACE(
"iface %p.\n", iface);
713 TRACE(
"iface %p.\n", iface);
722 TRACE(
"iface %p.\n", iface);
731 TRACE(
"iface %p.\n", iface);
779 DWORD cooplevel,
BOOL restore_mode_on_normal)
786 TRACE(
"ddraw %p, window %p, flags %#x, restore_mode_on_normal %x.\n",
ddraw,
window, cooplevel,
787 restore_mode_on_normal);
794 WARN(
"Recursive call, returning DD_OK.\n");
805 TRACE(
"Incorrect cooplevel flags, returning DDERR_INVALIDPARAMS\n");
812 WARN(
"DDSCL_CREATEDEVICEWINDOW requires DDSCL_EXCLUSIVE.\n");
831 WARN(
"Called with incompatible flags, returning DDERR_INVALIDPARAMS.\n");
844 WARN(
"DDSCL_EXCLUSIVE requires DDSCL_FULLSCREEN and a window.\n");
855 WARN(
"No focus window set.\n");
871 TRACE(
"Created a device window %p.\n", device_window);
929 restore_state =
TRUE;
933 ERR(
"Failed to create stateblock, hr %#x.\n",
hr);
953 ERR(
"Failed to create swapchain, hr %#x.\n",
hr);
974 && restore_mode_on_normal)
978 ERR(
"RestoreDisplayMode failed\n");
991 ERR(
"Failed to acquire focus window, hr %#x.\n",
hr);
998 WARN(
"Unhandled flag DDSCL_ALLOWREBOOT, harmless\n");
1000 WARN(
"Unhandled flag DDSCL_ALLOWMODEX, harmless\n");
1002 WARN(
"Unhandled flag DDSCL_FPUSETUP, harmless\n");
1013 TRACE(
"SetCooperativeLevel returning DD_OK\n");
1092 TRACE(
"iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
1097 TRACE(
"ForceRefreshRate overriding passed-in refresh rate (%u Hz) to %u Hz\n",
1143 ERR(
"Failed to resize buffers, hr %#x.\n",
hr);
1170 TRACE(
"iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
1181 TRACE(
"iface %p, width %u, height %u, bpp %u, refresh_rate %u, flags %#x.\n",
1198 memset(caps1, 0,
sizeof(*caps1));
1199 caps1->
dwSize =
sizeof(*caps1);
1259 memset(&wined3d_caps, 0,
sizeof(wined3d_caps));
1266 WARN(
"Failed to get device caps, hr %#x.\n",
hr);
1436 caps->
deviceGUID = IID_IDirect3DTnLHalDevice;
1450 switch (
format->u1.dwZBufferBitDepth)
1453 caps->dwZBufferBitDepths |=
DDBD_8;
1456 caps->dwZBufferBitDepths |=
DDBD_16;
1459 caps->dwZBufferBitDepths |=
DDBD_24;
1462 caps->dwZBufferBitDepths |=
DDBD_32;
1491 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, DriverCaps, HELCaps);
1494 if (!DriverCaps && !HELCaps)
1496 WARN(
"Invalid parameters.\n");
1500 memset(&caps, 0,
sizeof(caps));
1501 memset(&winecaps, 0,
sizeof(winecaps));
1502 caps.dwSize =
sizeof(caps);
1508 WARN(
"Failed to get device caps, %#x.\n",
hr);
1513 hr = IDirectDraw7_GetAvailableVidMem(iface, &ddscaps, &caps.dwVidMemTotal, &caps.dwVidMemFree);
1516 WARN(
"IDirectDraw7::GetAvailableVidMem failed\n");
1521 hr = IDirectDraw7_GetFourCCCodes(iface, &caps.dwNumFourCCCodes,
NULL);
1525 WARN(
"IDirectDraw7::GetFourCCCodes failed\n");
1531 caps.dwCKeyCaps = winecaps.
ddraw_caps.color_key_caps;
1534 caps.ddsCaps.dwCaps = winecaps.
ddraw_caps.dds_caps;
1535 caps.dwSVBCaps = winecaps.
ddraw_caps.svb_caps;
1536 caps.dwSVBCKeyCaps = winecaps.
ddraw_caps.svb_color_key_caps;
1537 caps.dwSVBFXCaps = winecaps.
ddraw_caps.svb_fx_caps;
1538 caps.dwVSBCaps = winecaps.
ddraw_caps.vsb_caps;
1539 caps.dwVSBCKeyCaps = winecaps.
ddraw_caps.vsb_color_key_caps;
1540 caps.dwVSBFXCaps = winecaps.
ddraw_caps.vsb_fx_caps;
1541 caps.dwSSBCaps = winecaps.
ddraw_caps.ssb_caps;
1542 caps.dwSSBCKeyCaps = winecaps.
ddraw_caps.ssb_color_key_caps;
1543 caps.dwSSBFXCaps = winecaps.
ddraw_caps.ssb_fx_caps;
1548 caps.ddsOldCaps.dwCaps = caps.ddsCaps.dwCaps;
1557 TRACE(
"Driver Caps :\n");
1567 TRACE(
"HEL Caps :\n");
1579 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
1588 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
1597 TRACE(
"iface %p, driver_caps %p, hel_caps %p.\n", iface, driver_caps, hel_caps);
1613 TRACE(
"iface %p.\n", iface);
1622 TRACE(
"iface %p.\n", iface);
1631 TRACE(
"iface %p.\n", iface);
1640 TRACE(
"iface %p.\n", iface);
1665 TRACE(
"iface %p, surface_desc %p.\n", iface, DDSD);
1675 ERR(
"Failed to get display mode, hr %#x.\n",
hr);
1681 DDSD->
dwSize =
sizeof(*DDSD);
1693 TRACE(
"Returning surface desc :\n");
1706 TRACE(
"iface %p, surface_desc %p.\n", iface, surface_desc);
1716 TRACE(
"iface %p, surface_desc %p.\n", iface, surface_desc);
1719 if (
SUCCEEDED(
hr)) surface_desc->dwSize =
sizeof(*surface_desc);
1728 TRACE(
"iface %p, surface_desc %p.\n", iface, surface_desc);
1731 if (
SUCCEEDED(
hr)) surface_desc->dwSize =
sizeof(*surface_desc);
1765 TRACE(
"iface %p, codes_count %p, codes %p.\n", iface, NumCodes, Codes);
1769 ERR(
"Failed to get display mode, hr %#x.\n",
hr);
1773 outsize = NumCodes && Codes ? *NumCodes : 0;
1797 TRACE(
"iface %p, codes_count %p, codes %p.\n", iface, codes_count, codes);
1806 TRACE(
"iface %p, codes_count %p, codes %p.\n", iface, codes_count, codes);
1815 TRACE(
"iface %p, codes_count %p, codes %p.\n", iface, codes_count, codes);
1833 WARN(
"Failed to get display mode, hr %#x.\n",
hr);
1885 WARN(
"Failed to get raster status, hr %#x.\n",
hr);
1939 unsigned int framebuffer_size, total_vidmem, free_vidmem;
1944 TRACE(
"iface %p, caps %p, total %p, free %p.\n", iface, caps,
total,
free);
1951 TRACE(
"Asked for memory with description: ");
1966 WARN(
"Failed to get display mode, hr %#x.\n",
hr);
1972 framebuffer_size *=
mode.height;
1977 *
free = framebuffer_size > free_vidmem ? 0 : free_vidmem - framebuffer_size;
1978 TRACE(
"Free video memory %#x.\n", *
free);
1987 *
total = framebuffer_size > total_vidmem ? 0 : total_vidmem - framebuffer_size;
2001 TRACE(
"iface %p, caps %p, total %p, free %p.\n", iface, caps,
total,
free);
2012 TRACE(
"iface %p, caps %p, total %p, free %p.\n", iface, caps,
total,
free);
2104 TRACE(
"iface %p.\n", iface);
2108 if (
FAILED(
hr = IDirectDraw7_GetGDISurface(iface, &gdi_surface)))
2110 WARN(
"Failed to retrieve GDI surface, hr %#x.\n",
hr);
2120 IDirectDrawSurface7_Release(gdi_surface);
2131 TRACE(
"iface %p.\n", iface);
2140 TRACE(
"iface %p.\n", iface);
2149 TRACE(
"iface %p.\n", iface);
2224 TRACE(
"iface %p, line %p.\n", iface, Scanline);
2231 WARN(
"Failed to get raster status, hr %#x.\n",
hr);
2247 TRACE(
"iface %p, line %p.\n", iface,
line);
2256 TRACE(
"iface %p, line %p.\n", iface,
line);
2265 TRACE(
"iface %p, line %p.\n", iface,
line);
2274 TRACE(
"iface %p.\n", iface);
2283 TRACE(
"iface %p.\n", iface);
2306 TRACE(
"iface %p, surface %p.\n", iface, GDISurface);
2310 if (!(*GDISurface = &
ddraw->
primary->IDirectDrawSurface7_iface))
2312 WARN(
"Primary not created yet.\n");
2316 IDirectDrawSurface7_AddRef(*GDISurface);
2330 TRACE(
"iface %p, surface %p.\n", iface, surface);
2340 IDirectDrawSurface4_AddRef(*surface);
2341 IDirectDrawSurface7_Release(surface7);
2353 TRACE(
"iface %p, surface %p.\n", iface, surface);
2363 IDirectDrawSurface_AddRef(*surface);
2364 IDirectDrawSurface7_Release(surface7);
2376 TRACE(
"iface %p, surface %p.\n", iface, surface);
2386 IDirectDrawSurface_AddRef(*surface);
2387 IDirectDrawSurface7_Release(surface7);
2431 unsigned int modenum,
fmt;
2433 unsigned enum_mode_count = 0, enum_mode_array_size = 16;
2443 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
2449 if (!(enum_modes =
heap_alloc(enum_mode_array_size *
sizeof(*enum_modes))))
2479 for (
i = 0;
i < enum_mode_count;
i++)
2491 memset(&callback_sd, 0,
sizeof(callback_sd));
2492 callback_sd.
dwSize =
sizeof(callback_sd);
2506 callback_sd.u1.
lPitch = (callback_sd.u1.
lPitch + 3) & ~3;
2513 TRACE(
"Application asked to terminate the enumeration\n");
2519 if (enum_mode_count == enum_mode_array_size)
2523 enum_mode_array_size *= 2;
2524 if (!(new_enum_modes =
heap_realloc(enum_modes, enum_mode_array_size *
sizeof(*new_enum_modes))))
2531 enum_modes = new_enum_modes;
2533 enum_modes[enum_mode_count++] =
mode;
2537 TRACE(
"End of enumeration\n");
2549 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
2562 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
2568 if (surface_desc)
DDSD_to_DDSD2(surface_desc, &surface_desc2);
2580 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
2586 if (surface_desc)
DDSD_to_DDSD2(surface_desc, &surface_desc2);
2638 TRACE(
"iface %p, device_identifier %p, flags %#x.\n", iface, DDDI,
Flags);
2684 TRACE(
"iface %p, identifier %p, flags %#x.\n", iface, identifier,
flags);
2712 TRACE(
"iface %p, dc %p, surface %p.\n", iface,
dc, surface);
2723 if (surface_impl->
dc !=
dc)
2726 TRACE(
"Found surface %p for dc %p.\n", surface_impl,
dc);
2728 IDirectDrawSurface7_AddRef(*surface);
2735 TRACE(
"No surface found for dc %p.\n",
dc);
2741 IDirectDrawSurface4 **surface)
2748 TRACE(
"iface %p, dc %p, surface %p.\n", iface,
dc, surface);
2762 IDirectDrawSurface7_Release(surface7);
2769 IDirectDrawSurface_Restore(surface);
2770 IDirectDrawSurface_Release(surface);
2777 TRACE(
"iface %p.\n", iface);
2787 TRACE(
"iface %p.\n", iface);
2816 FIXME(
"iface %p, modes %p, mode_count %u, flags %#x partial stub!\n",
2840 TRACE(
"iface %p, surface_desc %p, surface %p, outer_unknown %p.\n",
2847 WARN(
"Cooperative level not set.\n");
2854 WARN(
"Application supplied invalid surface descriptor\n");
2865 WARN(
"Surface pointer %p is invalid.\n", surface);
2875 TRACE(
" (%p) Requesting surface desc :\n", iface);
2879 WARN(
"Application tried to create an explicit front or back buffer\n");
2890 IDirectDraw7_AddRef(iface);
2903 TRACE(
"iface %p, surface_desc %p, surface %p, outer_unknown %p.\n",
2910 WARN(
"Cooperative level not set.\n");
2917 WARN(
"Application supplied invalid surface descriptor\n");
2928 WARN(
"Surface pointer %p is invalid.\n", surface);
2938 TRACE(
" (%p) Requesting surface desc :\n", iface);
2942 WARN(
"Application tried to create an explicit front or back buffer\n");
2953 IDirectDraw4_AddRef(iface);
2967 TRACE(
"iface %p, surface_desc %p, surface %p, outer_unknown %p.\n",
2974 WARN(
"Cooperative level not set.\n");
2981 WARN(
"Application supplied invalid surface descriptor\n");
2992 WARN(
"Surface pointer %p is invalid.\n", surface);
3003 TRACE(
" (%p) Requesting surface desc :\n", iface);
3007 WARN(
"Application tried to create an explicit front or back buffer\n");
3031 TRACE(
"iface %p, surface_desc %p, surface %p, outer_unknown %p.\n",
3038 WARN(
"Cooperative level not set.\n");
3045 WARN(
"Application supplied invalid surface descriptor\n");
3056 WARN(
"Surface pointer %p is invalid.\n", surface);
3067 WARN(
"Application tried to create an explicit front or back buffer.\n");
3096 if ((requested->
dwFlags & must_match) != (provided->
dwFlags & must_match))
3139#define CMP(FLAG, FIELD) \
3140 { DDSD_##FLAG, offsetof(DDSURFACEDESC2, FIELD), \
3141 sizeof(((DDSURFACEDESC2 *)(NULL))->FIELD) }
3146 CMP(BACKBUFFERCOUNT,
u5.dwBackBufferCount),
3148 CMP(CKDESTBLT, ddckCKDestBlt),
3149 CMP(CKDESTOVERLAY,
u3 ),
3150 CMP(CKSRCBLT, ddckCKSrcBlt),
3151 CMP(CKSRCOVERLAY, ddckCKSrcOverlay),
3153 CMP(LINEARSIZE,
u1 ),
3154 CMP(LPSURFACE, lpSurface),
3155 CMP(MIPMAPCOUNT,
u2 ),
3158 CMP(REFRESHRATE,
u2 ),
3159 CMP(TEXTURESTAGE, dwTextureStage),
3209 IDirectDrawSurface7_Release(surface);
3212 surface_desc, cbcontext->
context);
3222 IDirectDrawSurface7_Release(surface);
3254 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
3272 memcpy(&testdesc, DDSD,
sizeof(testdesc));
3284 hr = IDirectDraw7_CreateSurface(iface, &testdesc, &surface,
NULL);
3289 IDirectDrawSurface7_Release(surface);
3292 ERR(
"Failed to create surface, hr %#x.\n",
hr);
3301 if (match_flags != 0 &&
3322 WARN(
"Not enumerating surface %p because it doesn't have any references.\n", surf);
3328 TRACE(
"Enumerating surface %p.\n", surf);
3353 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
3370 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
3376 if (surface_desc)
DDSD_to_DDSD2(surface_desc, &surface_desc2);
3388 TRACE(
"iface %p, flags %#x, surface_desc %p, context %p, callback %p.\n",
3394 if (surface_desc)
DDSD_to_DDSD2(surface_desc, &surface_desc2);
3419 TRACE(
"flags %#x, clipper %p, outer_unknown %p.\n",
3420 flags, clipper, outer_unknown);
3427 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3436 WARN(
"Failed to initialize clipper, hr %#x.\n",
hr);
3442 TRACE(
"Created clipper %p.\n",
object);
3443 *clipper = &
object->IDirectDrawClipper_iface;
3456 IDirectDrawClipper **Clipper,
IUnknown *UnkOuter)
3458 TRACE(
"iface %p, flags %#x, clipper %p, outer_unknown %p.\n",
3459 iface,
Flags, Clipper, UnkOuter);
3465 IDirectDrawClipper **clipper,
IUnknown *outer_unknown)
3469 TRACE(
"iface %p, flags %#x, clipper %p, outer_unknown %p.\n",
3470 iface,
flags, clipper, outer_unknown);
3480 TRACE(
"iface %p, flags %#x, clipper %p, outer_unknown %p.\n",
3481 iface,
flags, clipper, outer_unknown);
3491 TRACE(
"iface %p, flags %#x, clipper %p, outer_unknown %p.\n",
3492 iface,
flags, clipper, outer_unknown);
3521 TRACE(
"iface %p, flags %#x, color_table %p, palette %p, outer_unknown %p.\n",
3522 iface,
Flags, ColorTable, Palette, pUnkOuter);
3532 WARN(
"No cooperative level set, returning DDERR_NOCOOPERATIVELEVELSET\n");
3539 ERR(
"Out of memory when allocating memory for a palette implementation\n");
3547 WARN(
"Failed to initialize palette, hr %#x.\n",
hr);
3553 TRACE(
"Created palette %p.\n",
object);
3554 *Palette = &
object->IDirectDrawPalette_iface;
3566 TRACE(
"iface %p, flags %#x, entries %p, palette %p, outer_unknown %p.\n",
3574 IDirectDraw4_AddRef(iface);
3586 TRACE(
"iface %p, flags %#x, entries %p, palette %p, outer_unknown %p.\n",
3606 TRACE(
"iface %p, flags %#x, entries %p, palette %p, outer_unknown %p.\n",
3642 FIXME(
"iface %p, src %p, dst %p partial stub!\n", iface, Src, Dest);
3645 return IDirectDraw7_CreateSurface(iface, &src_surface->
surface_desc, Dest,
NULL);
3649 IDirectDrawSurface4 **
dst)
3657 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
3668 IDirectDrawSurface4_AddRef(*
dst);
3669 IDirectDrawSurface7_Release(dst7);
3675 IDirectDrawSurface *
src, IDirectDrawSurface **
dst)
3683 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
3691 IDirectDrawSurface_AddRef(*
dst);
3692 IDirectDrawSurface7_Release(dst7);
3698 IDirectDrawSurface **
dst)
3706 TRACE(
"iface %p, src %p, dst %p.\n", iface,
src,
dst);
3714 IDirectDrawSurface_AddRef(*
dst);
3715 IDirectDrawSurface7_Release(dst7);
3762 device_desc7.
dwDevCaps = dev_caps & ~device_list7[
i].remove_caps;
3767 TRACE(
"Application cancelled the enumeration.\n");
3773 TRACE(
"End of enumeration.\n");
3799 static CHAR wined3d_description[] =
"Wine D3DDevice using WineD3D and OpenGL";
3847 static CHAR reference_description[] =
"RGB Direct3D emulation";
3849 TRACE(
"Enumerating WineD3D D3DDevice interface.\n");
3850 hal_desc = device_desc1;
3851 hel_desc = device_desc1;
3862 hr =
callback((
GUID *)&IID_IDirect3DRGBDevice, reference_description,
3866 TRACE(
"Application cancelled the enumeration.\n");
3874 TRACE(
"Enumerating HAL Direct3D device.\n");
3875 hal_desc = device_desc1;
3876 hel_desc = device_desc1;
3886 hr =
callback((
GUID *)&IID_IDirect3DHALDevice, wined3d_description,
3890 TRACE(
"Application cancelled the enumeration.\n");
3895 TRACE(
"End of enumeration.\n");
3947 TRACE(
"iface %p, light %p, outer_unknown %p.\n", iface,
light, outer_unknown);
3952 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3954 ERR(
"Failed to allocate light memory.\n");
3960 TRACE(
"Created light %p.\n",
object);
3961 *
light = &
object->IDirect3DLight_iface;
3970 TRACE(
"iface %p, light %p, outer_unknown %p.\n", iface,
light, outer_unknown);
3979 TRACE(
"iface %p, light %p, outer_unknown %p.\n", iface,
light, outer_unknown);
4010 TRACE(
"iface %p, material %p, outer_unknown %p.\n", iface, material, outer_unknown);
4017 ERR(
"Failed to allocate material memory.\n");
4021 TRACE(
"Created material %p.\n",
object);
4022 *material = &
object->IDirect3DMaterial3_iface;
4033 TRACE(
"iface %p, material %p, outer_unknown %p.\n", iface, material, outer_unknown);
4038 ERR(
"Failed to allocate material memory.\n");
4042 TRACE(
"Created material %p.\n",
object);
4043 *material = &
object->IDirect3DMaterial2_iface;
4054 TRACE(
"iface %p, material %p, outer_unknown %p.\n", iface, material, outer_unknown);
4059 ERR(
"Failed to allocate material memory.\n");
4063 TRACE(
"Created material %p.\n",
object);
4064 *material = &
object->IDirect3DMaterial_iface;
4095 TRACE(
"iface %p, viewport %p, outer_unknown %p.\n", iface, viewport, outer_unknown);
4099 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
4101 ERR(
"Failed to allocate viewport memory.\n");
4107 TRACE(
"Created viewport %p.\n",
object);
4108 *viewport = &
object->IDirect3DViewport3_iface;
4117 TRACE(
"iface %p, viewport %p, outer_unknown %p.\n", iface, viewport, outer_unknown);
4127 TRACE(
"iface %p, viewport %p, outer_unknown %p.\n", iface, viewport, outer_unknown);
4156 TRACE(
"iface %p, fds %p, fdr %p.\n", iface, fds, fdr);
4167 WARN(
"Trying to request a non-RGB D3D color model. Not supported.\n");
4178 WARN(
"No match for this GUID.\n");
4209 TRACE(
"Returning Wine's wined3d device with (undumped) capabilities.\n");
4218 TRACE(
"iface %p, fds %p, fdr %p.\n", iface, fds, fdr);
4227 TRACE(
"iface %p, fds %p, fdr %p.\n", iface, fds, fdr);
4266 *
device = &
object->IDirect3DDevice7_iface;
4270 WARN(
"Failed to create device, hr %#x.\n",
hr);
4286 TRACE(
"iface %p, riid %s, surface %p, device %p, outer_unknown %p.\n",
4299 WARN(
"Failed to create device, hr %#x.\n",
hr);
4308 IDirectDrawSurface *surface, IDirect3DDevice2 **
device)
4315 TRACE(
"iface %p, riid %s, surface %p, device %p.\n",
4325 WARN(
"Failed to create device, hr %#x.\n",
hr);
4359 TRACE(
"iface %p, desc %p, vertex_buffer %p, flags %#x.\n",
4367 TRACE(
"Created vertex buffer %p.\n",
object);
4371 WARN(
"Failed to create vertex buffer, hr %#x.\n",
hr);
4383 TRACE(
"iface %p, desc %p, vertex_buffer %p, flags %#x, outer_unknown %p.\n",
4394 TRACE(
"Created vertex buffer %p.\n",
object);
4398 WARN(
"Failed to create vertex buffer, hr %#x.\n",
hr);
4441 TRACE(
"iface %p, device_iid %s, callback %p, context %p.\n",
4446 if (
IsEqualGUID(device_iid, &IID_IDirect3DHALDevice)
4447 ||
IsEqualGUID(device_iid, &IID_IDirect3DTnLHalDevice)
4450 TRACE(
"Asked for HAL device.\n");
4453 else if (
IsEqualGUID(device_iid, &IID_IDirect3DRGBDevice)
4454 ||
IsEqualGUID(device_iid, &IID_IDirect3DMMXDevice))
4456 TRACE(
"Asked for SW device.\n");
4459 else if (
IsEqualGUID(device_iid, &IID_IDirect3DRefDevice))
4461 TRACE(
"Asked for REF device.\n");
4464 else if (
IsEqualGUID(device_iid, &IID_IDirect3DNullDevice))
4466 TRACE(
"Asked for NULLREF device.\n");
4484 ERR(
"Failed to get display mode, hr %#x.\n",
hr);
4496 memset(&pformat, 0,
sizeof(pformat));
4497 pformat.
dwSize =
sizeof(pformat);
4504 TRACE(
"Format enumeration cancelled by application.\n");
4521 {24}, {0x00000000}, {0x00ffffff}, {0x00000000}
4523 TRACE(
"Enumerating WINED3DFMT_X8D24_UNORM, dwZBufferBitDepth=24 version\n");
4527 TRACE(
"End of enumeration.\n");
4539 TRACE(
"iface %p, device_iid %s, callback %p, context %p.\n",
4561 TRACE(
"iface %p!\n", iface);
4575 TRACE(
"iface %p.\n", iface);
4808 TRACE(
"Searching for declaration for fvf %08x... ",
fvf);
4811 high =
This->numConvertedDecls - 1;
4812 while(low <= high) {
4813 p = (low + high) >> 1;
4815 if(convertedDecls[
p].
fvf ==
fvf) {
4817 return convertedDecls[
p].
decl;
4818 }
else if(convertedDecls[
p].
fvf <
fvf) {
4824 TRACE(
"not found. Creating and inserting at position %d.\n", low);
4830 if (
This->declArraySize ==
This->numConvertedDecls)
4832 unsigned int grow =
max(
This->declArraySize / 2, 8);
4835 (
This->numConvertedDecls + grow) *
sizeof(*convertedDecls))))
4840 This->decls = convertedDecls;
4841 This->declArraySize += grow;
4844 memmove(convertedDecls + low + 1, convertedDecls + low,
sizeof(convertedDecls[0]) * (
This->numConvertedDecls - low));
4845 convertedDecls[low].
decl = pDecl;
4846 convertedDecls[low].
fvf =
fvf;
4847 This->numConvertedDecls++;
4849 TRACE(
"Returning %p. %d decls in array\n", pDecl,
This->numConvertedDecls);
4879 TRACE(
"Nothing to resize.\n");
4884 monitor_info.
cbSize =
sizeof(monitor_info);
4887 ERR(
"Failed to get monitor info.\n");
4896 ERR(
"Failed to resize window.\n");
4939 TRACE(
"device_parent %p, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
4953 ERR(
"Failed to allocate surface memory.\n");
4972 TRACE(
"device_parent %p, texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
4999 TRACE(
"device_parent %p, container_parent %p, desc %p, texture flags %#x, texture %p.\n",
5004 ERR(
"Frontbuffer already created.\n");
5011 WARN(
"Failed to create texture, hr %#x.\n",
hr);
5030 ERR(
"Swapchain already created.\n");
5036 WARN(
"Failed to create swapchain, hr %#x.\n",
hr);
5075 WARN(
"Failed to create a wined3d object.\n");
5082 ERR(
"Failed to get device caps, hr %#x.\n",
hr);
5089 WARN(
"Created a wined3d object without 3D support.\n");
5096 WARN(
"Failed to create a wined3d device, hr %#x.\n",
hr);
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
static void * heap_realloc(void *mem, size_t len)
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static void list_add_head(struct list_entry *head, struct list_entry *entry)
static void list_init(struct list_entry *head)
#define STDMETHODCALLTYPE
#define D3DPCMPCAPS_EQUAL
#define D3DPRASTERCAPS_ANTIALIASEDGES
#define D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR
#define D3DDEVCAPS_EXECUTESYSTEMMEMORY
#define D3DTEXOPCAPS_MODULATE2X
#define D3DTEXOPCAPS_ADDSIGNED2X
#define D3DPTADDRESSCAPS_MIRROR
#define D3DPBLENDCAPS_SRCCOLOR
#define D3DDEVCAPS_CANRENDERAFTERFLIP
#define D3DTEXOPCAPS_SELECTARG1
#define D3DVTXPCAPS_LOCALVIEWER
#define D3DPTEXTURECAPS_PROJECTED
#define D3DTEXOPCAPS_BLENDCURRENTALPHA
#define D3DPRASTERCAPS_WBUFFER
#define D3DPBLENDCAPS_DESTCOLOR
#define D3DTEXOPCAPS_ADDSMOOTH
#define D3DDEVCAPS_HWTRANSFORMANDLIGHT
#define D3DPTADDRESSCAPS_WRAP
#define D3DPMISCCAPS_CULLNONE
#define D3DPTFILTERCAPS_MAGFAFLATCUBIC
#define D3DPTFILTERCAPS_MIPFLINEAR
#define D3DPMISCCAPS_CULLCW
#define D3DDEVCAPS_TEXTUREVIDEOMEMORY
#define D3DTEXOPCAPS_ADDSIGNED
#define D3DDEVCAPS_DRAWPRIMITIVES2
#define D3DPBLENDCAPS_INVSRCCOLOR
#define D3DPBLENDCAPS_ZERO
#define D3DSTENCILCAPS_DECR
#define D3DTEXOPCAPS_BLENDTEXTUREALPHAPM
#define D3DDEVCAPS_TEXTURESYSTEMMEMORY
#define D3DPTFILTERCAPS_MINFANISOTROPIC
#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
#define D3DPBLENDCAPS_INVDESTCOLOR
#define D3DTEXOPCAPS_SUBTRACT
#define D3DPBLENDCAPS_INVDESTALPHA
#define D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA
#define D3DSTENCILCAPS_INVERT
#define D3DVTXPCAPS_MATERIALSOURCE7
#define D3DPTFILTERCAPS_MINFLINEAR
#define D3DPTEXTURECAPS_SQUAREONLY
#define D3DDEVCAPS_DRAWPRIMITIVES2EX
#define D3DPTFILTERCAPS_MAGFANISOTROPIC
#define D3DPTEXTURECAPS_ALPHAPALETTE
#define D3DPSHADECAPS_COLORGOURAUDRGB
#define D3DPRASTERCAPS_ZBUFFERLESSHSR
#define D3DPBLENDCAPS_SRCALPHASAT
#define D3DPBLENDCAPS_BOTHSRCALPHA
#define D3DDEVCAPS_EXECUTEVIDEOMEMORY
#define D3DTEXOPCAPS_BUMPENVMAPLUMINANCE
#define D3DPRASTERCAPS_WFOG
#define D3DPTADDRESSCAPS_BORDER
#define D3DPTADDRESSCAPS_INDEPENDENTUV
#define D3DPSHADECAPS_FOGGOURAUD
#define D3DPTEXTURECAPS_ALPHA
#define D3DDEVCAPS_SEPARATETEXTUREMEMORIES
#define D3DTEXOPCAPS_DISABLE
#define D3DPSHADECAPS_SPECULARGOURAUDRGB
#define D3DPMISCCAPS_CULLCCW
#define D3DTEXOPCAPS_SELECTARG2
#define D3DPMISCCAPS_LINEPATTERNREP
#define D3DPCMPCAPS_NOTEQUAL
#define D3DSTENCILCAPS_DECRSAT
#define D3DDEVCAPS_DRAWPRIMTLVERTEX
#define D3DPRASTERCAPS_ANISOTROPY
#define D3DVTXPCAPS_DIRECTIONALLIGHTS
#define D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
#define D3DPBLENDCAPS_INVSRCALPHA
#define D3DSTENCILCAPS_ZERO
#define D3DPRASTERCAPS_ZFOG
#define D3DPCMPCAPS_GREATER
#define D3DPBLENDCAPS_DESTALPHA
#define D3DTEXOPCAPS_BLENDTEXTUREALPHA
#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC
#define D3DSTENCILCAPS_INCR
#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL
#define D3DTEXOPCAPS_MODULATE
#define D3DPRASTERCAPS_PAT
#define D3DTEXOPCAPS_BUMPENVMAP
#define D3DPCMPCAPS_ALWAYS
#define D3DPRASTERCAPS_FOGRANGE
#define D3DPSHADECAPS_ALPHAGOURAUDBLEND
#define D3DPTEXTURECAPS_PERSPECTIVE
#define D3DPBLENDCAPS_SRCALPHA
#define D3DDEVCAPS_HWRASTERIZATION
#define D3DPBLENDCAPS_ONE
#define D3DTEXOPCAPS_PREMODULATE
#define D3DPRASTERCAPS_FOGVERTEX
#define D3DTEXOPCAPS_BLENDFACTORALPHA
#define D3DSTENCILCAPS_INCRSAT
#define D3DPCMPCAPS_LESSEQUAL
#define D3DPTFILTERCAPS_MAGFLINEAR
#define D3DPTADDRESSCAPS_CLAMP
#define D3DPTFILTERCAPS_MINFPOINT
#define D3DPTEXTURECAPS_CUBEMAP
#define D3DDEVCAPS_TEXTURENONLOCALVIDMEM
#define D3DVTXPCAPS_TEXGEN
#define D3DTEXOPCAPS_DOTPRODUCT3
#define D3DPBLENDCAPS_BOTHINVSRCALPHA
#define D3DPCMPCAPS_NEVER
#define D3DDEVCAPS_CANBLTSYSTONONLOCAL
#define D3DPRASTERCAPS_FOGTABLE
#define D3DSTENCILCAPS_KEEP
#define D3DPTFILTERCAPS_MIPFPOINT
#define D3DDEVCAPS_TLVERTEXVIDEOMEMORY
#define D3DPMISCCAPS_MASKZ
#define D3DPCMPCAPS_GREATEREQUAL
#define D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR
#define D3DPRASTERCAPS_ZTEST
#define D3DVTXPCAPS_POSITIONALLIGHTS
#define D3DPRASTERCAPS_ZBIAS
#define D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA
#define D3DPTEXTURECAPS_POW2
#define D3DSTENCILCAPS_REPLACE
#define D3DPTFILTERCAPS_MAGFPOINT
#define D3DPRASTERCAPS_MIPMAPLODBIAS
#define D3DTEXOPCAPS_MODULATE4X
#define D3DPRASTERCAPS_DITHER
#define D3DMAXUSERCLIPPLANES
#define IDirect3D7_EnumZBufferFormats(p, a, b, c)
#define D3DPTBLENDCAPS_COPY
#define D3DPTBLENDCAPS_MODULATEALPHA
#define D3DPRASTERCAPS_ROP2
#define D3DDD_LIGHTINGCAPS
#define D3DPTFILTERCAPS_LINEAR
#define D3DFDS_COLORMODEL
#define D3DDD_MAXBUFFERSIZE
#define D3DPSHADECAPS_SPECULARFLATMONO
#define D3DPTFILTERCAPS_LINEARMIPNEAREST
#define D3DPTBLENDCAPS_MODULATEMASK
#define D3DDD_DEVICEZBUFFERBITDEPTH
#define D3DDEVCAPS_FLOATTLVERTEX
#define D3DLIGHTCAPS_DIRECTIONAL
#define D3DPTBLENDCAPS_MODULATE
#define D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT
#define D3DPRASTERCAPS_STIPPLE
#define D3DPTEXTURECAPS_BORDER
#define D3DPTFILTERCAPS_NEAREST
#define D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED
#define D3DPTBLENDCAPS_DECALMASK
#define D3DDEVCAPS_SORTDECREASINGZ
#define D3DPTEXTURECAPS_TRANSPARENCY
#define D3DPSHADECAPS_SPECULARGOURAUDMONO
#define D3DPSHADECAPS_ALPHAPHONGBLEND
#define D3DPSHADECAPS_COLORPHONGRGB
#define D3DPSHADECAPS_ALPHAPHONGSTIPPLED
#define D3DLIGHTCAPS_POINT
#define D3DDD_DEVICERENDERBITDEPTH
HRESULT(CALLBACK * LPD3DENUMDEVICESCALLBACK)(GUID *lpGuid, LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC, LPD3DDEVICEDESC, LPVOID)
#define D3DPMISCCAPS_CONFORMANT
#define D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT
#define D3DPTFILTERCAPS_LINEARMIPLINEAR
#define D3DDEVCAPS_SORTEXACT
#define D3DPTFILTERCAPS_MIPNEAREST
#define D3DPSHADECAPS_SPECULARFLATRGB
HRESULT(CALLBACK * LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID)
#define D3DLIGHTCAPS_SPOT
#define D3DVTXPCAPS_VERTEXFOG
#define D3DDD_TRANSFORMCAPS
#define D3DPTEXTURECAPS_COLORKEYBLEND
#define D3DPTBLENDCAPS_ADD
#define D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT
#define D3DPSHADECAPS_COLORFLATMONO
#define D3DPRASTERCAPS_SUBPIXELX
#define D3DPSHADECAPS_ALPHAFLATBLEND
#define D3DPTBLENDCAPS_DECALALPHA
#define D3DTRANSFORMCAPS_CLIP
#define D3DPRASTERCAPS_XOR
#define D3DDD_MAXVERTEXCOUNT
#define D3DPSHADECAPS_ALPHAFLATSTIPPLED
#define D3DPMISCCAPS_MASKPLANES
#define D3DPRASTERCAPS_SUBPIXEL
#define D3DPSHADECAPS_FOGFLAT
#define D3DPSHADECAPS_FOGPHONG
#define D3DPSHADECAPS_COLORPHONGMONO
#define D3DPSHADECAPS_COLORGOURAUDMONO
#define D3DPSHADECAPS_SPECULARPHONGMONO
#define D3DPSHADECAPS_SPECULARPHONGRGB
#define D3DLIGHTINGMODEL_RGB
#define D3DPSHADECAPS_COLORFLATRGB
#define D3DPTBLENDCAPS_DECAL
#define D3DDEVCAPS_SORTINCREASINGZ
#define D3DPTFILTERCAPS_MIPLINEAR
HRESULT(CALLBACK * LPD3DENUMPIXELFORMATSCALLBACK)(DDPIXELFORMAT *format, void *ctx)
void DDSD_to_DDSD2(const DDSURFACEDESC *in, DDSURFACEDESC2 *out) DECLSPEC_HIDDEN
void DDRAW_dump_surface_desc(const DDSURFACEDESC2 *lpddsd) DECLSPEC_HIDDEN
void DDRAW_dump_DDCAPS(const DDCAPS *lpcaps) DECLSPEC_HIDDEN
void DDRAW_Convert_DDSCAPS_1_To_2(const DDSCAPS *pIn, DDSCAPS2 *pOut) DECLSPEC_HIDDEN
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface7(IDirectDrawSurface7 *iface) DECLSPEC_HIDDEN
#define DDRAW_SCL_RECURSIVE
@ DDRAW_DEVICE_STATE_LOST
@ DDRAW_DEVICE_STATE_NOT_RESTORED
#define DDRAW_RESTORE_MODE
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface4(IDirectDrawSurface4 *iface) DECLSPEC_HIDDEN
static struct ddraw_palette * impl_from_IDirectDrawPalette(IDirectDrawPalette *iface)
void ddraw_surface_init(struct ddraw_surface *surface, struct ddraw *ddraw, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx, const struct wined3d_parent_ops **parent_ops) DECLSPEC_HIDDEN
#define DDRAW_INITIALIZED
#define DDRAW_STRIDE_ALIGNMENT
void DDRAW_Convert_DDDEVICEIDENTIFIER_2_To_1(const DDDEVICEIDENTIFIER2 *pIn, DDDEVICEIDENTIFIER *pOut) DECLSPEC_HIDDEN
void d3d_light_init(struct d3d_light *light, struct ddraw *ddraw) DECLSPEC_HIDDEN
void ddrawformat_from_wined3dformat(DDPIXELFORMAT *ddraw_format, enum wined3d_format_id wined3d_format) DECLSPEC_HIDDEN
HRESULT d3d_device_create(struct ddraw *ddraw, const GUID *guid, struct ddraw_surface *target, IUnknown *rt_iface, UINT version, struct d3d_device **device, IUnknown *outer_unknown) DECLSPEC_HIDDEN
#define DDRAW_WINDOW_CLASS_NAME
void d3d_viewport_init(struct d3d_viewport *viewport, struct ddraw *ddraw) DECLSPEC_HIDDEN
void DDSD2_to_DDSD(const DDSURFACEDESC2 *in, DDSURFACEDESC *out) DECLSPEC_HIDDEN
#define DDRAW_D3D_INITIALIZED
struct d3d_material * d3d_material_create(struct ddraw *ddraw) DECLSPEC_HIDDEN
static void ddraw_set_swapchain_window(struct ddraw *ddraw, HWND window)
HRESULT ddraw_palette_init(struct ddraw_palette *palette, struct ddraw *ddraw, DWORD flags, PALETTEENTRY *entries) DECLSPEC_HIDDEN
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface(IDirectDrawSurface *iface) DECLSPEC_HIDDEN
#define DD_STRUCT_COPY_BYSIZE(to, from)
HRESULT ddraw_surface_create(struct ddraw *ddraw, const DDSURFACEDESC2 *surface_desc, struct ddraw_surface **surface, IUnknown *outer_unknown, unsigned int version) DECLSPEC_HIDDEN
void DDRAW_dump_DDSCAPS2(const DDSCAPS2 *in) DECLSPEC_HIDDEN
void DDRAW_dump_cooperativelevel(DWORD cooplevel) DECLSPEC_HIDDEN
HRESULT d3d_vertex_buffer_create(struct d3d_vertex_buffer **buffer, struct ddraw *ddraw, D3DVERTEXBUFFERDESC *desc) DECLSPEC_HIDDEN
static struct ddraw_surface * impl_from_IDirectDrawSurface7(IDirectDrawSurface7 *iface)
#define DDRAW_WINED3D_FLAGS
HRESULT ddraw_clipper_init(struct ddraw_clipper *clipper)
static const struct pixel_format_desc formats[]
struct wined3d_vertex_declaration * ddraw_find_decl(struct ddraw *This, DWORD fvf)
static HRESULT WINAPI d3d1_CreateViewport(IDirect3D *iface, IDirect3DViewport **viewport, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw7_SetDisplayMode(IDirectDraw7 *iface, DWORD width, DWORD height, DWORD bpp, DWORD refresh_rate, DWORD flags)
static void ddraw_destroy_swapchain(struct ddraw *ddraw)
static HRESULT WINAPI ddraw4_GetGDISurface(IDirectDraw4 *iface, IDirectDrawSurface4 **surface)
static const struct ddraw * exclusive_ddraw
static HRESULT WINAPI ddraw1_DuplicateSurface(IDirectDraw *iface, IDirectDrawSurface *src, IDirectDrawSurface **dst)
static HRESULT WINAPI ddraw4_EnumSurfaces(IDirectDraw4 *iface, DWORD flags, DDSURFACEDESC2 *surface_desc, void *context, LPDDENUMSURFACESCALLBACK2 callback)
static HRESULT WINAPI ddraw4_GetSurfaceFromDC(IDirectDraw4 *iface, HDC dc, IDirectDrawSurface4 **surface)
static HRESULT WINAPI ddraw4_GetVerticalBlankStatus(IDirectDraw4 *iface, BOOL *status)
static void STDMETHODCALLTYPE ddraw_frontbuffer_destroyed(void *parent)
static HRESULT WINAPI ddraw1_RestoreDisplayMode(IDirectDraw *iface)
static HRESULT WINAPI ddraw1_WaitForVerticalBlank(IDirectDraw *iface, DWORD flags, HANDLE event)
static const struct IDirect3D3Vtbl d3d3_vtbl
static HRESULT WINAPI ddraw7_StartModeTest(IDirectDraw7 *iface, SIZE *Modes, DWORD NumModes, DWORD Flags)
static ULONG WINAPI d3d1_Release(IDirect3D *iface)
static HRESULT WINAPI ddraw7_Compact(IDirectDraw7 *iface)
static HRESULT WINAPI d3d1_CreateLight(IDirect3D *iface, IDirect3DLight **light, IUnknown *outer_unknown)
static void CDECL device_parent_mode_changed(struct wined3d_device_parent *device_parent)
HRESULT ddraw_get_d3dcaps(const struct ddraw *ddraw, D3DDEVICEDESC7 *caps)
static HRESULT WINAPI d3d3_CreateMaterial(IDirect3D3 *iface, IDirect3DMaterial3 **material, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw4_CreatePalette(IDirectDraw4 *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
HRESULT WINAPI DirectDrawCreateClipper(DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw7_GetGDISurface(IDirectDraw7 *iface, IDirectDrawSurface7 **GDISurface)
static const struct IDirect3D7Vtbl d3d7_vtbl
static HRESULT WINAPI d3d3_EvictManagedTextures(IDirect3D3 *iface)
static HRESULT WINAPI ddraw1_GetScanLine(IDirectDraw *iface, DWORD *line)
static HRESULT WINAPI d3d2_EnumDevices(IDirect3D2 *iface, LPD3DENUMDEVICESCALLBACK callback, void *context)
static struct ddraw * impl_from_IDirectDraw(IDirectDraw *iface)
static HRESULT WINAPI d3d3_CreateLight(IDirect3D3 *iface, IDirect3DLight **light, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw7_GetMonitorFrequency(IDirectDraw7 *iface, DWORD *frequency)
static BOOL ddraw_match_surface_desc(const DDSURFACEDESC2 *requested, const DDSURFACEDESC2 *provided)
static HRESULT WINAPI ddraw4_WaitForVerticalBlank(IDirectDraw4 *iface, DWORD flags, HANDLE event)
static HRESULT WINAPI ddraw7_CreateClipper(IDirectDraw7 *iface, DWORD Flags, IDirectDrawClipper **Clipper, IUnknown *UnkOuter)
static HRESULT WINAPI ddraw2_GetScanLine(IDirectDraw2 *iface, DWORD *line)
static struct ddraw * impl_from_IDirect3D(IDirect3D *iface)
static HRESULT WINAPI ddraw7_CreateSurface(IDirectDraw7 *iface, DDSURFACEDESC2 *surface_desc, IDirectDrawSurface7 **surface, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw1_GetDisplayMode(IDirectDraw *iface, DDSURFACEDESC *surface_desc)
static ULONG WINAPI d3d3_AddRef(IDirect3D3 *iface)
static HRESULT WINAPI d3d7_EnumDevices(IDirect3D7 *iface, LPD3DENUMDEVICESCALLBACK7 callback, void *context)
static HRESULT WINAPI d3d3_FindDevice(IDirect3D3 *iface, D3DFINDDEVICESEARCH *fds, D3DFINDDEVICERESULT *fdr)
static HRESULT CALLBACK EnumDisplayModesCallbackThunk(DDSURFACEDESC2 *surface_desc, void *context)
static HRESULT WINAPI ddraw2_DuplicateSurface(IDirectDraw2 *iface, IDirectDrawSurface *src, IDirectDrawSurface **dst)
static HRESULT WINAPI ddraw1_EnumSurfaces(IDirectDraw *iface, DWORD flags, DDSURFACEDESC *surface_desc, void *context, LPDDENUMSURFACESCALLBACK callback)
static ULONG WINAPI d3d2_AddRef(IDirect3D2 *iface)
static HRESULT WINAPI ddraw1_GetMonitorFrequency(IDirectDraw *iface, DWORD *frequency)
static HRESULT WINAPI ddraw2_EnumDisplayModes(IDirectDraw2 *iface, DWORD flags, DDSURFACEDESC *surface_desc, void *context, LPDDENUMMODESCALLBACK callback)
static HRESULT WINAPI ddraw1_GetFourCCCodes(IDirectDraw *iface, DWORD *codes_count, DWORD *codes)
static HRESULT WINAPI ddraw7_FlipToGDISurface(IDirectDraw7 *iface)
static HRESULT WINAPI ddraw4_FlipToGDISurface(IDirectDraw4 *iface)
static HRESULT WINAPI ddraw2_GetFourCCCodes(IDirectDraw2 *iface, DWORD *codes_count, DWORD *codes)
static ULONG WINAPI ddraw2_Release(IDirectDraw2 *iface)
static HRESULT WINAPI d3d3_EnumZBufferFormats(IDirect3D3 *iface, REFCLSID device_iid, LPD3DENUMPIXELFORMATSCALLBACK callback, void *context)
static struct ddraw * impl_from_IDirect3D7(IDirect3D7 *iface)
static HRESULT WINAPI ddraw2_SetCooperativeLevel(IDirectDraw2 *iface, HWND window, DWORD flags)
static HRESULT ddraw_create_swapchain(struct ddraw *ddraw, HWND window, BOOL windowed)
static ULONG WINAPI ddraw2_AddRef(IDirectDraw2 *iface)
static HRESULT WINAPI ddraw4_CreateClipper(IDirectDraw4 *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
HRESULT CALLBACK enum_zbuffer(DDPIXELFORMAT *format, void *ctx)
static const struct IDirect3D2Vtbl d3d2_vtbl
static ULONG WINAPI ddraw1_AddRef(IDirectDraw *iface)
static HRESULT WINAPI ddraw2_Initialize(IDirectDraw2 *iface, GUID *guid)
static HRESULT WINAPI ddraw2_EnumSurfaces(IDirectDraw2 *iface, DWORD flags, DDSURFACEDESC *surface_desc, void *context, LPDDENUMSURFACESCALLBACK callback)
static HRESULT WINAPI d3d2_CreateDevice(IDirect3D2 *iface, REFCLSID riid, IDirectDrawSurface *surface, IDirect3DDevice2 **device)
static HRESULT WINAPI ddraw2_QueryInterface(IDirectDraw2 *iface, REFIID riid, void **object)
static ULONG WINAPI ddraw7_AddRef(IDirectDraw7 *iface)
static HRESULT WINAPI ddraw7_GetDisplayMode(IDirectDraw7 *iface, DDSURFACEDESC2 *DDSD)
static const struct IDirectDraw2Vtbl ddraw2_vtbl
static HRESULT WINAPI d3d1_QueryInterface(IDirect3D *iface, REFIID riid, void **object)
static HRESULT WINAPI ddraw7_GetDeviceIdentifier(IDirectDraw7 *iface, DDDEVICEIDENTIFIER2 *DDDI, DWORD Flags)
static BOOL Main_DirectDraw_DDPIXELFORMAT_Match(const DDPIXELFORMAT *requested, const DDPIXELFORMAT *provided)
static HRESULT ddraw_set_cooperative_level(struct ddraw *ddraw, HWND window, DWORD cooplevel, BOOL restore_mode_on_normal)
static HRESULT WINAPI ddraw1_CreateClipper(IDirectDraw *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
static HRESULT WINAPI d3d2_FindDevice(IDirect3D2 *iface, D3DFINDDEVICESEARCH *fds, D3DFINDDEVICERESULT *fdr)
static HRESULT WINAPI ddraw2_GetDisplayMode(IDirectDraw2 *iface, DDSURFACEDESC *surface_desc)
static HRESULT WINAPI ddraw4_Initialize(IDirectDraw4 *iface, GUID *guid)
static struct ddraw * impl_from_IDirectDraw2(IDirectDraw2 *iface)
static void STDMETHODCALLTYPE ddraw_null_wined3d_object_destroyed(void *parent)
static HRESULT WINAPI d3d3_CreateDevice(IDirect3D3 *iface, REFCLSID riid, IDirectDrawSurface4 *surface, IDirect3DDevice3 **device, IUnknown *outer_unknown)
static struct ddraw * ddraw_from_device_parent(struct wined3d_device_parent *device_parent)
static HRESULT WINAPI ddraw7_CreatePalette(IDirectDraw7 *iface, DWORD Flags, PALETTEENTRY *ColorTable, IDirectDrawPalette **Palette, IUnknown *pUnkOuter)
static HRESULT WINAPI ddraw4_EnumDisplayModes(IDirectDraw4 *iface, DWORD flags, DDSURFACEDESC2 *surface_desc, void *context, LPDDENUMMODESCALLBACK2 callback)
static HRESULT WINAPI ddraw4_TestCooperativeLevel(IDirectDraw4 *iface)
static HRESULT WINAPI ddraw4_GetMonitorFrequency(IDirectDraw4 *iface, DWORD *frequency)
static HRESULT WINAPI ddraw7_EnumSurfaces(IDirectDraw7 *iface, DWORD Flags, DDSURFACEDESC2 *DDSD, void *Context, LPDDENUMSURFACESCALLBACK7 Callback)
static const struct wined3d_parent_ops ddraw_frontbuffer_parent_ops
static HRESULT WINAPI ddraw2_CreatePalette(IDirectDraw2 *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
static ULONG WINAPI d3d7_Release(IDirect3D7 *iface)
HRESULT ddraw_init(struct ddraw *ddraw, DWORD flags, enum wined3d_device_type device_type)
static HRESULT WINAPI ddraw1_GetVerticalBlankStatus(IDirectDraw *iface, BOOL *status)
static HRESULT WINAPI ddraw7_GetSurfaceFromDC(IDirectDraw7 *iface, HDC dc, IDirectDrawSurface7 **surface)
static HRESULT WINAPI ddraw4_GetDisplayMode(IDirectDraw4 *iface, DDSURFACEDESC2 *surface_desc)
static HRESULT WINAPI d3d1_CreateMaterial(IDirect3D *iface, IDirect3DMaterial **material, IUnknown *outer_unknown)
static HRESULT ddraw_attach_d3d_device(struct ddraw *ddraw, struct wined3d_swapchain_desc *swapchain_desc)
static HRESULT WINAPI ddraw2_GetGDISurface(IDirectDraw2 *iface, IDirectDrawSurface **surface)
static HRESULT WINAPI ddraw1_CreateSurface(IDirectDraw *iface, DDSURFACEDESC *surface_desc, IDirectDrawSurface **surface, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw2_FlipToGDISurface(IDirectDraw2 *iface)
static ULONG WINAPI ddraw1_Release(IDirectDraw *iface)
static HRESULT WINAPI d3d3_QueryInterface(IDirect3D3 *iface, REFIID riid, void **object)
static HRESULT CALLBACK EnumSurfacesCallback2Thunk(IDirectDrawSurface7 *surface, DDSURFACEDESC2 *surface_desc, void *context)
static HRESULT WINAPI ddraw2_SetDisplayMode(IDirectDraw2 *iface, DWORD width, DWORD height, DWORD bpp, DWORD refresh_rate, DWORD flags)
static HRESULT WINAPI ddraw7_QueryInterface(IDirectDraw7 *iface, REFIID riid, void **out)
static HRESULT WINAPI ddraw1_FlipToGDISurface(IDirectDraw *iface)
static void CDECL device_parent_activate(struct wined3d_device_parent *device_parent, BOOL activate)
static HRESULT WINAPI ddraw7_EvaluateMode(IDirectDraw7 *iface, DWORD Flags, DWORD *Timeout)
static HRESULT WINAPI ddraw1_SetCooperativeLevel(IDirectDraw *iface, HWND window, DWORD flags)
static HRESULT WINAPI d3d2_CreateViewport(IDirect3D2 *iface, IDirect3DViewport2 **viewport, IUnknown *outer_unknown)
static struct enum_device_entry device_list7[]
static HRESULT WINAPI ddraw4_QueryInterface(IDirectDraw4 *iface, REFIID riid, void **object)
static HRESULT CDECL device_parent_surface_created(struct wined3d_device_parent *device_parent, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx, void **parent, const struct wined3d_parent_ops **parent_ops)
static HWND exclusive_window
static HRESULT WINAPI ddraw4_RestoreDisplayMode(IDirectDraw4 *iface)
static HRESULT WINAPI ddraw4_SetDisplayMode(IDirectDraw4 *iface, DWORD width, DWORD height, DWORD bpp, DWORD refresh_rate, DWORD flags)
static HRESULT WINAPI d3d7_CreateVertexBuffer(IDirect3D7 *iface, D3DVERTEXBUFFERDESC *desc, IDirect3DVertexBuffer7 **vertex_buffer, DWORD flags)
static HRESULT WINAPI ddraw2_GetVerticalBlankStatus(IDirectDraw2 *iface, BOOL *status)
static HRESULT WINAPI ddraw4_Compact(IDirectDraw4 *iface)
static HRESULT WINAPI ddraw7_Initialize(IDirectDraw7 *iface, GUID *guid)
static HRESULT WINAPI ddraw4_GetDeviceIdentifier(IDirectDraw4 *iface, DDDEVICEIDENTIFIER *identifier, DWORD flags)
static HRESULT WINAPI ddraw4_CreateSurface(IDirectDraw4 *iface, DDSURFACEDESC2 *surface_desc, IDirectDrawSurface4 **surface, IUnknown *outer_unknown)
static const DDDEVICEIDENTIFIER2 deviceidentifier
static HRESULT WINAPI d3d3_CreateVertexBuffer(IDirect3D3 *iface, D3DVERTEXBUFFERDESC *desc, IDirect3DVertexBuffer **vertex_buffer, DWORD flags, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw4_SetCooperativeLevel(IDirectDraw4 *iface, HWND window, DWORD flags)
static HRESULT WINAPI d3d2_CreateLight(IDirect3D2 *iface, IDirect3DLight **light, IUnknown *outer_unknown)
static struct ddraw * impl_from_IDirect3D2(IDirect3D2 *iface)
static HRESULT WINAPI d3d7_QueryInterface(IDirect3D7 *iface, REFIID riid, void **object)
static HRESULT WINAPI d3d1_Initialize(IDirect3D *iface, REFIID riid)
static HRESULT WINAPI ddraw1_Compact(IDirectDraw *iface)
static HRESULT WINAPI ddraw2_GetAvailableVidMem(IDirectDraw2 *iface, DDSCAPS *caps, DWORD *total, DWORD *free)
static const struct IDirectDraw7Vtbl ddraw7_vtbl
static HRESULT WINAPI ddraw1_CreatePalette(IDirectDraw *iface, DWORD flags, PALETTEENTRY *entries, IDirectDrawPalette **palette, IUnknown *outer_unknown)
void ddraw_update_lost_surfaces(struct ddraw *ddraw)
static HRESULT WINAPI ddraw2_GetCaps(IDirectDraw2 *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static HRESULT WINAPI d3d1_EnumDevices(IDirect3D *iface, LPD3DENUMDEVICESCALLBACK callback, void *context)
static HRESULT WINAPI d3d7_EnumZBufferFormats(IDirect3D7 *iface, REFCLSID device_iid, LPD3DENUMPIXELFORMATSCALLBACK callback, void *context)
static ULONG WINAPI d3d2_Release(IDirect3D2 *iface)
static HRESULT WINAPI ddraw4_GetFourCCCodes(IDirectDraw4 *iface, DWORD *codes_count, DWORD *codes)
static HRESULT WINAPI ddraw1_Initialize(IDirectDraw *iface, GUID *guid)
static HRESULT WINAPI ddraw2_RestoreDisplayMode(IDirectDraw2 *iface)
static HRESULT WINAPI ddraw7_GetVerticalBlankStatus(IDirectDraw7 *iface, BOOL *status)
static HRESULT WINAPI ddraw7_TestCooperativeLevel(IDirectDraw7 *iface)
static HRESULT CDECL device_parent_volume_created(struct wined3d_device_parent *device_parent, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx, void **parent, const struct wined3d_parent_ops **parent_ops)
static HRESULT WINAPI ddraw7_EnumDisplayModes(IDirectDraw7 *iface, DWORD Flags, DDSURFACEDESC2 *DDSD, void *Context, LPDDENUMMODESCALLBACK2 cb)
static HRESULT WINAPI ddraw1_GetGDISurface(IDirectDraw *iface, IDirectDrawSurface **surface)
static HRESULT WINAPI ddraw4_GetCaps(IDirectDraw4 *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static ULONG WINAPI d3d7_AddRef(IDirect3D7 *iface)
static ULONG WINAPI ddraw4_AddRef(IDirectDraw4 *iface)
static const struct IDirect3DVtbl d3d1_vtbl
static HRESULT WINAPI ddraw7_GetAvailableVidMem(IDirectDraw7 *iface, DDSCAPS2 *caps, DWORD *total, DWORD *free)
static HRESULT WINAPI ddraw1_GetCaps(IDirectDraw *iface, DDCAPS *driver_caps, DDCAPS *hel_caps)
static HRESULT WINAPI ddraw4_GetAvailableVidMem(IDirectDraw4 *iface, DDSCAPS2 *caps, DWORD *total, DWORD *free)
static HRESULT WINAPI d3d7_CreateDevice(IDirect3D7 *iface, REFCLSID riid, IDirectDrawSurface7 *surface, IDirect3DDevice7 **device)
static HRESULT CALLBACK restore_callback(IDirectDrawSurface7 *surface, DDSURFACEDESC2 *desc, void *context)
static HRESULT WINAPI ddraw2_GetMonitorFrequency(IDirectDraw2 *iface, DWORD *frequency)
static HRESULT WINAPI ddraw7_RestoreDisplayMode(IDirectDraw7 *iface)
static HRESULT WINAPI ddraw7_GetScanLine(IDirectDraw7 *iface, DWORD *Scanline)
static const struct wined3d_device_parent_ops ddraw_wined3d_device_parent_ops
static HRESULT WINAPI ddraw7_SetCooperativeLevel(IDirectDraw7 *iface, HWND window, DWORD flags)
static HRESULT WINAPI d3d2_CreateMaterial(IDirect3D2 *iface, IDirect3DMaterial2 **material, IUnknown *outer_unknown)
static HRESULT CDECL device_parent_create_swapchain(struct wined3d_device_parent *device_parent, struct wined3d_swapchain_desc *desc, struct wined3d_swapchain **swapchain)
static HRESULT WINAPI ddraw7_GetCaps(IDirectDraw7 *iface, DDCAPS *DriverCaps, DDCAPS *HELCaps)
static HRESULT WINAPI ddraw7_DuplicateSurface(IDirectDraw7 *iface, IDirectDrawSurface7 *Src, IDirectDrawSurface7 **Dest)
static const struct IDirectDraw4Vtbl ddraw4_vtbl
static HRESULT WINAPI ddraw7_WaitForVerticalBlank(IDirectDraw7 *iface, DWORD Flags, HANDLE event)
static HRESULT WINAPI d3d3_CreateViewport(IDirect3D3 *iface, IDirect3DViewport3 **viewport, IUnknown *outer_unknown)
static HRESULT WINAPI ddraw4_DuplicateSurface(IDirectDraw4 *iface, IDirectDrawSurface4 *src, IDirectDrawSurface4 **dst)
static HRESULT WINAPI d3d1_FindDevice(IDirect3D *iface, D3DFINDDEVICESEARCH *fds, D3DFINDDEVICERESULT *fdr)
static HRESULT WINAPI ddraw2_CreateClipper(IDirectDraw2 *iface, DWORD flags, IDirectDrawClipper **clipper, IUnknown *outer_unknown)
void ddraw_d3dcaps1_from_7(D3DDEVICEDESC *caps1, D3DDEVICEDESC7 *caps7)
static HRESULT WINAPI ddraw4_RestoreAllSurfaces(IDirectDraw4 *iface)
static HRESULT CDECL device_parent_create_swapchain_texture(struct wined3d_device_parent *device_parent, void *container_parent, const struct wined3d_resource_desc *desc, DWORD texture_flags, struct wined3d_texture **texture)
static HRESULT WINAPI ddraw2_WaitForVerticalBlank(IDirectDraw2 *iface, DWORD flags, HANDLE event)
static struct ddraw * impl_from_IDirectDraw4(IDirectDraw4 *iface)
static struct ddraw * impl_from_IDirectDraw7(IDirectDraw7 *iface)
static ULONG WINAPI d3d1_AddRef(IDirect3D *iface)
static HRESULT WINAPI d3d3_EnumDevices(IDirect3D3 *iface, LPD3DENUMDEVICESCALLBACK callback, void *context)
static HRESULT WINAPI ddraw1_QueryInterface(IDirectDraw *iface, REFIID riid, void **object)
static HRESULT CALLBACK EnumSurfacesCallbackThunk(IDirectDrawSurface7 *surface, DDSURFACEDESC2 *surface_desc, void *context)
static HRESULT WINAPI ddraw1_EnumDisplayModes(IDirectDraw *iface, DWORD flags, DDSURFACEDESC *surface_desc, void *context, LPDDENUMMODESCALLBACK callback)
static HRESULT ddraw_set_focus_window(struct ddraw *ddraw, HWND window)
static void CDECL device_parent_wined3d_device_created(struct wined3d_device_parent *device_parent, struct wined3d_device *device)
static ULONG WINAPI ddraw4_Release(IDirectDraw4 *iface)
static HRESULT WINAPI ddraw1_SetDisplayMode(IDirectDraw *iface, DWORD width, DWORD height, DWORD bpp)
static HRESULT WINAPI ddraw4_GetScanLine(IDirectDraw4 *iface, DWORD *line)
static HRESULT WINAPI d3d2_QueryInterface(IDirect3D2 *iface, REFIID riid, void **object)
static HRESULT WINAPI ddraw7_GetFourCCCodes(IDirectDraw7 *iface, DWORD *NumCodes, DWORD *Codes)
static void ddraw_destroy(struct ddraw *This)
static HRESULT WINAPI ddraw2_Compact(IDirectDraw2 *iface)
static struct IDirectDrawVtbl ddraw1_vtbl
const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops
static HRESULT WINAPI ddraw7_RestoreAllSurfaces(IDirectDraw7 *iface)
static ULONG WINAPI ddraw7_Release(IDirectDraw7 *iface)
static ULONG WINAPI d3d3_Release(IDirect3D3 *iface)
static HRESULT WINAPI ddraw2_CreateSurface(IDirectDraw2 *iface, DDSURFACEDESC *surface_desc, IDirectDrawSurface **surface, IUnknown *outer_unknown)
static HRESULT WINAPI d3d7_EvictManagedTextures(IDirect3D7 *iface)
static struct ddraw * impl_from_IDirect3D3(IDirect3D3 *iface)
const GUID IID_D3DDEVICE_WineD3D
static const WCHAR dwWidth[]
static const WCHAR dwHeight[]
static const WCHAR dwWHQLLevel[]
HRESULT CDECL wined3d_device_set_rendertarget_view(struct wined3d_device *device, unsigned int view_idx, struct wined3d_rendertarget_view *view, BOOL set_viewport)
struct wined3d_rendertarget_view *CDECL wined3d_device_get_rendertarget_view(const struct wined3d_device *device, unsigned int view_idx)
void CDECL wined3d_device_setup_fullscreen_window(struct wined3d_device *device, HWND window, UINT w, UINT h)
HRESULT CDECL wined3d_device_acquire_focus_window(struct wined3d_device *device, HWND window)
void CDECL wined3d_device_evict_managed_resources(struct wined3d_device *device)
HRESULT CDECL wined3d_device_uninit_3d(struct wined3d_device *device)
UINT CDECL wined3d_device_get_available_texture_mem(const struct wined3d_device *device)
ULONG CDECL wined3d_device_decref(struct wined3d_device *device)
void CDECL wined3d_device_restore_fullscreen_window(struct wined3d_device *device, HWND window, const RECT *window_rect)
void CDECL wined3d_device_set_multithreaded(struct wined3d_device *device)
void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device, struct wined3d_rendertarget_view *view)
void CDECL wined3d_device_release_focus_window(struct wined3d_device *device)
struct wined3d_rendertarget_view *CDECL wined3d_device_get_depth_stencil_view(const struct wined3d_device *device)
struct wined3d_swapchain *CDECL wined3d_device_get_swapchain(const struct wined3d_device *device, UINT swapchain_idx)
HRESULT CDECL wined3d_device_init_gdi(struct wined3d_device *device, struct wined3d_swapchain_desc *swapchain_desc)
HRESULT CDECL wined3d_device_uninit_gdi(struct wined3d_device *device)
HRESULT CDECL wined3d_device_init_3d(struct wined3d_device *device, struct wined3d_swapchain_desc *swapchain_desc)
HRESULT CDECL wined3d_device_get_device_caps(const struct wined3d_device *device, WINED3DCAPS *caps)
void *CDECL wined3d_texture_get_parent(const struct wined3d_texture *texture)
HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct wined3d_resource_desc *desc, UINT layer_count, UINT level_count, DWORD flags, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture)
ULONG CDECL wined3d_rendertarget_view_incref(struct wined3d_rendertarget_view *view)
void *CDECL wined3d_rendertarget_view_get_sub_resource_parent(const struct wined3d_rendertarget_view *view)
ULONG CDECL wined3d_rendertarget_view_decref(struct wined3d_rendertarget_view *view)
#define __EXCEPT_PAGE_FAULT
static const WCHAR device_name[]
__kernel_ptrdiff_t ptrdiff_t
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLint GLsizei GLsizei height
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean flag
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
#define InterlockedCompareExchange
unsigned char size_t * outsize
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
#define D3DLIGHTCAPS_PARALLELPOINT
static IPrintDialogCallback callback
static const WCHAR desc[]
static HMODULE MODULEINFO DWORD cb
static IHTMLWindow2 * window
static LARGE_INTEGER * frequency
HMONITOR WINAPI MonitorFromWindow(HWND, DWORD)
#define IsEqualGUID(rguid1, rguid2)
DWORD IDirectDrawSurface7
#define DDSCL_SETDEVICEWINDOW
#define DDPCAPS_PRIMARYSURFACE
#define DDSCL_SETFOCUSWINDOW
#define DDSCL_FPUPRESERVE
#define DDSCAPS_FRONTBUFFER
#define DDPF_PALETTEINDEXED4
HRESULT(WINAPI * LPDDENUMMODESCALLBACK2)(LPDDSURFACEDESC2, LPVOID)
#define DDPF_PALETTEINDEXED2
#define DDEDM_REFRESHRATES
#define DDERR_VERTICALBLANKINPROGRESS
#define DDENUMSURFACES_CANBECREATED
#define DDSCL_MULTITHREADED
#define DDSCAPS_PRIMARYSURFACE
#define DDERR_INVALIDCAPS
#define DDWAITVB_BLOCKBEGINEVENT
#define DDGDI_GETHOSTIDENTIFIER
struct _DDPIXELFORMAT DDPIXELFORMAT
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID)
#define DDPF_STENCILBUFFER
#define DDENUMSURFACES_ALL
#define DDSCL_ALLOWREBOOT
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK2)(LPDIRECTDRAWSURFACE4, LPDDSURFACEDESC2, LPVOID)
#define DDERR_NOEXCLUSIVEMODE
#define DDERR_OUTOFMEMORY
#define DDERR_HWNDALREADYSET
HRESULT(WINAPI * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID)
#define DDENUMSURFACES_NOMATCH
#define DDENUMSURFACES_MATCH
#define DDERR_OUTOFVIDEOMEMORY
#define DDERR_NOCOOPERATIVELEVELSET
#define DDPF_PALETTEINDEXED1
#define DDENUMSURFACES_DOESEXIST
#define DDERR_NOFOCUSWINDOW
#define DDCAPS_ALIGNSTRIDE
#define DDSCAPS_BACKBUFFER
#define DDSCL_CREATEDEVICEWINDOW
#define DDERR_UNSUPPORTED
HRESULT(WINAPI * LPDDENUMSURFACESCALLBACK7)(LPDIRECTDRAWSURFACE7, LPDDSURFACEDESC2, LPVOID)
#define DDERR_INVALIDPARAMS
#define DDERR_ALREADYINITIALIZED
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
static int compare_info(LCID lcid, DWORD flags, char *buff, const char *cmp, BOOL exact)
struct wined3d_vertex_declaration * decl
WORD wMaxSimultaneousTextures
DWORD dwMaxTextureAspectRatio
DWORD dwDeviceRenderBitDepth
DWORD dwDeviceZBufferBitDepth
D3DVALUE dvGuardBandRight
D3DVALUE dvGuardBandBottom
WORD wMaxTextureBlendStages
DWORD dwVertexProcessingCaps
WORD wMaxVertexBlendMatrices
DWORD dwDeviceZBufferBitDepth
D3DTRANSFORMCAPS dtcTransformCaps
D3DVALUE dvGuardBandRight
DWORD dwMaxTextureAspectRatio
DWORD dwDeviceRenderBitDepth
WORD wMaxTextureBlendStages
D3DCOLORMODEL dcmColorModel
D3DVALUE dvGuardBandBottom
WORD wMaxSimultaneousTextures
D3DLIGHTINGCAPS dlcLightingCaps
D3DCOLORMODEL dcmColorModel
DWORD dwTextureAddressCaps
DWORD dwTextureFilterCaps
DDPIXELFORMAT ddpfPixelFormat
DWORD MaxTextureAspectRatio
struct wined3d_ddraw_caps ddraw_caps
DWORD VertexProcessingCaps
DWORD MaxTextureBlendStages
DWORD MaxVertexBlendMatrices
DWORD MaxSimultaneousTextures
IDirect3DDevice3 IDirect3DDevice3_iface
IDirect3DDevice2 IDirect3DDevice2_iface
IUnknown * ifaceToRelease
IDirectDrawSurface IDirectDrawSurface_iface
DDSURFACEDESC2 surface_desc
unsigned int sub_resource_idx
IDirectDrawSurface7 IDirectDrawSurface7_iface
struct list surface_list_entry
IUnknown * ifaceToRelease
IDirectDrawSurface4 IDirectDrawSurface4_iface
IDirectDraw2 IDirectDraw2_iface
IDirect3D3 IDirect3D3_iface
struct ddraw_surface * primary
struct wined3d_device * wined3d_device
IDirectDraw7 IDirectDraw7_iface
IDirect3D IDirect3D_iface
struct wined3d_texture * wined3d_frontbuffer
struct wined3d_swapchain * wined3d_swapchain
IDirectDraw4 IDirectDraw4_iface
IDirect3D7 IDirect3D7_iface
struct wined3d_device_parent device_parent
IDirect3D2 IDirect3D2_iface
IDirectDraw IDirectDraw_iface
LPDDENUMMODESCALLBACK func
LPDDENUMSURFACESCALLBACK2 func
LPDDENUMSURFACESCALLBACK func
GUID guidDeviceIdentifier
char szDescription[MAX_DDDEVICEID_STRING]
char szDriver[MAX_DDDEVICEID_STRING]
LARGE_INTEGER driver_version
enum wined3d_format_id format_id
enum wined3d_format_id backbuffer_format
enum wined3d_swap_effect swap_effect
static const VBE_MODE Modes[VBE_MODE_COUNT]
#define FIELD_OFFSET(t, f)
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
_In_ WDFINTERRUPT _In_ PFN_WDF_INTERRUPT_SYNCHRONIZE Callback
DWORD WINAPI GetLastError(void)
ULONG CDECL wined3d_decref(struct wined3d *wined3d)
UINT CDECL wined3d_calculate_format_pitch(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_format_id format_id, UINT width)
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_device_create(struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, HWND focus_window, DWORD flags, BYTE surface_alignment, struct wined3d_device_parent *device_parent, struct wined3d_device **device)
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_set_adapter_display_mode(struct wined3d *wined3d, UINT adapter_idx, const struct wined3d_display_mode *mode)
HRESULT CDECL wined3d_get_adapter_raster_status(const struct wined3d *wined3d, UINT adapter_idx, struct wined3d_raster_status *raster_status)
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_get_device_caps(const struct wined3d *wined3d, UINT adapter_idx, enum wined3d_device_type device_type, WINED3DCAPS *caps)
ULONG CDECL wined3d_stateblock_decref(struct wined3d_stateblock *stateblock)
void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock)
HRESULT CDECL wined3d_stateblock_create(struct wined3d_device *device, enum wined3d_stateblock_type type, struct wined3d_stateblock **stateblock)
void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock)
HRESULT CDECL wined3d_swapchain_resize_buffers(struct wined3d_swapchain *swapchain, unsigned int buffer_count, unsigned int width, unsigned int height, enum wined3d_format_id format_id, enum wined3d_multisample_type multisample_type, unsigned int multisample_quality)
ULONG CDECL wined3d_swapchain_decref(struct wined3d_swapchain *swapchain)
void CDECL wined3d_swapchain_set_palette(struct wined3d_swapchain *swapchain, struct wined3d_palette *palette)
ULONG CDECL wined3d_swapchain_incref(struct wined3d_swapchain *swapchain)
HRESULT CDECL wined3d_swapchain_create(struct wined3d_device *device, struct wined3d_swapchain_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_swapchain **swapchain)
ULONG CDECL wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration)
HRESULT CDECL wined3d_vertex_declaration_create_from_fvf(struct wined3d_device *device, DWORD fvf, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_vertex_declaration **declaration)
@ WINED3D_MULTISAMPLE_NONE
#define WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH
@ WINED3D_SWAP_EFFECT_COPY
#define WINED3DADAPTER_DEFAULT
@ WINED3D_RTYPE_TEXTURE_2D
#define WINED3DERR_NOTAVAILABLE
@ WINED3DFMT_S1_UINT_D15_UNORM
@ WINED3DFMT_B8G8R8X8_UNORM
@ WINED3DFMT_B5G5R5X1_UNORM
@ WINED3DFMT_B8G8R8_UNORM
@ WINED3DFMT_B5G6R5_UNORM
@ WINED3DFMT_S4X4_UINT_D24_UNORM
@ WINED3DFMT_D24_UNORM_S8_UINT
#define WINED3D_TEXTURE_CREATE_MAPPABLE
@ WINED3D_SCANLINE_ORDERING_UNKNOWN
#define WINED3DUSAGE_RENDERTARGET
@ WINED3D_DEVICE_TYPE_NULLREF
@ WINED3D_DEVICE_TYPE_HAL
@ WINED3D_DEVICE_TYPE_REF
#define WINED3DUSAGE_DEPTHSTENCIL
void WINAPI wined3d_mutex_unlock(void)
struct wined3d *CDECL wined3d_create(DWORD flags)
void WINAPI wined3d_mutex_lock(void)
#define CLASS_E_NOAGGREGATION
HWND WINAPI CreateWindowExA(_In_ DWORD dwExStyle, _In_opt_ LPCSTR lpClassName, _In_opt_ LPCSTR lpWindowName, _In_ DWORD dwStyle, _In_ int X, _In_ int Y, _In_ int nWidth, _In_ int nHeight, _In_opt_ HWND hWndParent, _In_opt_ HMENU hMenu, _In_opt_ HINSTANCE hInstance, _In_opt_ LPVOID lpParam)
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HWND WINAPI GetDesktopWindow(void)
BOOL WINAPI GetMonitorInfoW(_In_ HMONITOR, _Inout_ LPMONITORINFO)
BOOL WINAPI DestroyWindow(_In_ HWND)
int WINAPI GetSystemMetrics(_In_ int)
_Must_inspect_result_ _In_ ULONG Flags