40 { 0xb7,0x98,0xc6,0x8a,0x77,0x2d,0x72,0x2a }
45#if defined(__i386__) && defined(_MSC_VER)
47#elif defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__) && (defined(__GNUC__) || defined(__clang__)))
48 __asm__ volatile (
"fldcw %0" : :
"m" (fpucw));
56#if defined(__i386__) && defined(_MSC_VER)
58#elif defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__) && (defined(__GNUC__) || defined(__clang__)))
59 __asm__ volatile (
"fnstcw %0" :
"=m" (oldcw));
64 FIXME(
"FPUPRESERVE not implemented for this platform / compiler\n");
184 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
193 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
202 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
211 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
228 TRACE(
"iface %p.\n", iface);
230 return IUnknown_AddRef(
device->outer_unknown);
237 TRACE(
"iface %p.\n", iface);
239 return IUnknown_AddRef(
device->outer_unknown);
246 TRACE(
"iface %p.\n", iface);
248 return IUnknown_AddRef(
device->outer_unknown);
255 TRACE(
"iface %p.\n", iface);
257 return IUnknown_AddRef(
device->outer_unknown);
275 struct list *vp_entry, *vp_entry2;
289 ERR(
"The wined3d device (%p) was destroyed unexpectedly.\n",
This->wined3d_device);
293 for (
i = 0;
i <
This->handle_table.entry_count; ++
i)
305 WARN(
"Leftover stateblock handle %#lx (%p), deleting.\n",
i + 1,
entry->object);
311 FIXME(
"Handle %#lx (%p) has unknown type %#x.\n",
i + 1,
entry->object,
entry->type);
332 if (
This->ddraw->device_last_applied_state ==
This)
333 This->ddraw->device_last_applied_state =
NULL;
338 TRACE(
"Releasing render target %p.\n",
This->rt_iface);
339 rt_iface =
This->rt_iface;
343 if (
This->version != 1)
344 IUnknown_Release(rt_iface);
345 TRACE(
"Render target release done.\n");
360 TRACE(
"iface %p.\n", iface);
362 return IUnknown_Release(
device->outer_unknown);
369 TRACE(
"iface %p.\n", iface);
371 return IUnknown_Release(
device->outer_unknown);
378 TRACE(
"iface %p.\n", iface);
380 return IUnknown_Release(
device->outer_unknown);
387 TRACE(
"iface %p.\n", iface);
389 return IUnknown_Release(
device->outer_unknown);
415 FIXME(
"iface %p, d3d %p, guid %s, device_desc %p nop!\n",
425 TRACE(
"iface %p, device_desc %p.\n", iface, device_desc);
429 WARN(
"device_desc is NULL, returning DDERR_INVALIDPARAMS.\n");
500 TRACE(
"iface %p, hw_desc %p, hel_desc %p.\n", iface, HWDesc, HelDesc);
504 WARN(
"HWDesc is NULL, returning DDERR_INVALIDPARAMS.\n");
509 WARN(
"HWDesc->dwSize is %lu, returning DDERR_INVALIDPARAMS.\n", HWDesc->
dwSize);
514 WARN(
"HelDesc is NULL, returning DDERR_INVALIDPARAMS.\n");
519 WARN(
"HelDesc->dwSize is %lu, returning DDERR_INVALIDPARAMS.\n", HelDesc->
dwSize);
537 TRACE(
"iface %p, hw_desc %p, hel_desc %p.\n", iface, hw_desc, hel_desc);
547 TRACE(
"iface %p, hw_desc %p, hel_desc %p.\n", iface, hw_desc, hel_desc);
565 IDirect3DTexture2 *tex1, IDirect3DTexture2 *tex2)
572 TRACE(
"iface %p, tex1 %p, tex2 %p.\n", iface, tex1, tex2);
598 IDirect3DTexture *tex1, IDirect3DTexture *tex2)
606 TRACE(
"iface %p, tex1 %p, tex2 %p.\n", iface, tex1, tex2);
631 FIXME(
"iface %p, stats %p stub!\n", iface, Stats);
650 TRACE(
"iface %p, stats %p.\n", iface, stats);
659 TRACE(
"iface %p, stats %p.\n", iface, stats);
691 TRACE(
"iface %p, buffer_desc %p, buffer %p, outer_unknown %p.\n",
692 iface, buffer_desc, ExecuteBuffer, outer_unknown);
698 if (!(
object =
calloc(1,
sizeof(*
object))))
700 ERR(
"Failed to allocate execute buffer memory.\n");
707 WARN(
"Failed to initialize execute buffer, hr %#lx.\n",
hr);
712 *ExecuteBuffer = &
object->IDirect3DExecuteBuffer_iface;
714 TRACE(
" Returning IDirect3DExecuteBuffer at %p, implementation is at %p\n", *ExecuteBuffer,
object);
735 IDirect3DExecuteBuffer *ExecuteBuffer, IDirect3DViewport *viewport,
DWORD flags)
742 TRACE(
"iface %p, buffer %p, viewport %p, flags %#lx.\n", iface, ExecuteBuffer, viewport,
flags);
781 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
798 IDirect3DViewport2 *viewport)
803 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
813 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
839 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
843 WARN(
"NULL viewport, returning DDERR_INVALIDPARAMS\n");
856 if (
device->current_viewport == vp)
858 TRACE(
"Deleting current viewport, unsetting and releasing.\n");
880 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
891 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
916 IDirect3DViewport3 *Viewport3, IDirect3DViewport3 **lplpDirect3DViewport3,
DWORD flags)
923 TRACE(
"iface %p, viewport %p, next %p, flags %#lx.\n",
924 iface, Viewport3, lplpDirect3DViewport3,
flags);
928 *lplpDirect3DViewport3 =
NULL;
950 *lplpDirect3DViewport3 =
NULL;
958 *lplpDirect3DViewport3 = &
next->IDirect3DViewport3_iface;
961 *lplpDirect3DViewport3 =
NULL;
969 IDirect3DViewport2 *viewport, IDirect3DViewport2 **
next,
DWORD flags)
973 IDirect3DViewport3 *
res;
976 TRACE(
"iface %p, viewport %p, next %p, flags %#lx.\n",
981 *
next = (IDirect3DViewport2 *)
res;
986 IDirect3DViewport *viewport, IDirect3DViewport **
next,
DWORD flags)
990 IDirect3DViewport3 *
res;
993 TRACE(
"iface %p, viewport %p, next %p, flags %#lx.\n",
998 *
next = (IDirect3DViewport *)
res;
1026 FIXME(
"iface %p, buffer %p, viewport %p, flags %#lx, rect %s stub!\n",
1051 FIXME(
"iface %p, count %p, records %p stub!\n", iface,
count, records);
1123 WARN(
"Failed to get output display mode, hr %#lx.\n",
hr);
1135 memset(&pformat, 0,
sizeof(pformat));
1136 pformat.
dwSize =
sizeof(pformat);
1139 TRACE(
"Enumerating WineD3DFormat %d\n", FormatList[
i]);
1143 TRACE(
"Format enumeration cancelled by application\n");
1158 memset(&pformat, 0,
sizeof(pformat));
1159 pformat.
dwSize =
sizeof(pformat);
1162 TRACE(
"Enumerating WineD3DFormat %d\n", BumpFormatList[
i]);
1166 TRACE(
"Format enumeration cancelled by application\n");
1172 TRACE(
"End of enumeration\n");
1252 WARN(
"Failed to get output display mode, hr %#lx.\n",
hr);
1264 memset(&sdesc, 0,
sizeof(sdesc));
1265 sdesc.dwSize =
sizeof(sdesc);
1268 sdesc.ddpfPixelFormat.dwSize =
sizeof(sdesc.ddpfPixelFormat);
1271 TRACE(
"Enumerating WineD3DFormat %d\n", FormatList[
i]);
1275 TRACE(
"Format enumeration cancelled by application\n");
1281 TRACE(
"End of enumeration\n");
1318 TRACE(
"iface %p, matrix_handle %p.\n", iface, D3DMatHandle);
1325 ERR(
"Out of memory when allocating a D3DMATRIX\n");
1334 ERR(
"Failed to allocate a matrix handle.\n");
1340 *D3DMatHandle =
h + 1;
1342 TRACE(
" returning matrix handle %#lx\n", *D3DMatHandle);
1373 TRACE(
"iface %p, matrix_handle %#lx, matrix %p.\n", iface, matrix_handle,
matrix);
1383 WARN(
"Invalid matrix handle.\n");
1393 if (matrix_handle ==
device->world)
1397 if (matrix_handle ==
device->view)
1401 if (matrix_handle ==
device->proj)
1431 TRACE(
"iface %p, matrix_handle %#lx, matrix %p.\n", iface, D3DMatHandle, D3DMatrix);
1440 WARN(
"Invalid matrix handle.\n");
1471 TRACE(
"iface %p, matrix_handle %#lx.\n", iface, D3DMatHandle);
1478 WARN(
"Invalid matrix handle.\n");
1509 TRACE(
"iface %p.\n", iface);
1540 TRACE(
"iface %p.\n", iface);
1549 TRACE(
"iface %p.\n", iface);
1558 TRACE(
"iface %p.\n", iface);
1582 TRACE(
"iface %p.\n", iface);
1613 TRACE(
"iface %p.\n", iface);
1622 TRACE(
"iface %p.\n", iface);
1631 TRACE(
"iface %p.\n", iface);
1654 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1659 *d3d = &
device->ddraw->IDirect3D7_iface;
1662 TRACE(
"Returning interface %p.\n", *d3d);
1670 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1675 *d3d = &
device->ddraw->IDirect3D3_iface;
1678 TRACE(
"Returning interface %p.\n", *d3d);
1686 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1691 *d3d = &
device->ddraw->IDirect3D2_iface;
1694 TRACE(
"Returning interface %p.\n", *d3d);
1702 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1707 *d3d = &
device->ddraw->IDirect3D_iface;
1710 TRACE(
"Returning interface %p.\n", *d3d);
1735 TRACE(
"iface %p, viewport %p, current_viewport %p.\n", iface, viewport,
device->current_viewport);
1739 WARN(
"Direct3DViewport3 is NULL.\n");
1745 if (
device->current_viewport == vp)
1759 if (
device->current_viewport)
1764 device->current_viewport = vp;
1777 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1802 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1805 if (!
device->current_viewport)
1808 WARN(
"No current viewport, returning D3DERR_NOCURRENTVIEWPORT\n");
1812 *viewport = &
device->current_viewport->IDirect3DViewport3_iface;
1815 TRACE(
"Returning interface %p.\n", *viewport);
1824 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1827 (IDirect3DViewport3 **)viewport);
1842 if (
device->rt_iface == rt_iface)
1844 TRACE(
"No-op SetRenderTarget operation, not doing anything\n");
1849 WARN(
"Trying to set render target to NULL.\n");
1857 IUnknown_AddRef(rt_iface);
1858 IUnknown_Release(
device->rt_iface);
1859 device->rt_iface = rt_iface;
1879 WARN(
"Surface %p has an indexed pixel format, but no palette.\n", target_impl);
1886 WARN(
"Surface %p is not a render target.\n", target_impl);
1893 WARN(
"Surface %p is not in video memory.\n", target_impl);
1900 WARN(
"Surface %p is a depth buffer.\n", target_impl);
1901 IDirectDrawSurface7_AddRef(
target);
1902 IUnknown_Release(
device->rt_iface);
1947 WARN(
"Surface %p has an indexed pixel format, but no palette.\n", target_impl);
1954 WARN(
"Surface %p is not a render target.\n", target_impl);
1961 WARN(
"Surface %p is a depth buffer.\n", target_impl);
1962 IDirectDrawSurface4_AddRef(
target);
1963 IUnknown_Release(
device->rt_iface);
1973 WARN(
"Surface %p is not in video memory.\n", target_impl);
1974 IDirectDrawSurface4_AddRef(
target);
1975 IUnknown_Release(
device->rt_iface);
2001 WARN(
"Surface %p has an indexed pixel format, but no palette.\n", target_impl);
2008 WARN(
"Surface %p is not a render target.\n", target_impl);
2015 WARN(
"Surface %p is a depth buffer.\n", target_impl);
2016 IUnknown_Release(
device->rt_iface);
2026 WARN(
"Surface %p is not in video memory.\n", target_impl);
2027 IDirectDrawSurface_AddRef(
target);
2028 IUnknown_Release(
device->rt_iface);
2063 TRACE(
"iface %p, target %p.\n", iface, RenderTarget);
2069 hr = IUnknown_QueryInterface(
device->rt_iface, &IID_IDirectDrawSurface7, (
void **)RenderTarget);
2082 TRACE(
"iface %p, target %p.\n", iface, RenderTarget);
2091 IDirectDrawSurface4_AddRef(*RenderTarget);
2092 IDirectDrawSurface7_Release(RenderTarget7);
2103 TRACE(
"iface %p, target %p.\n", iface, RenderTarget);
2112 IDirectDrawSurface_AddRef(*RenderTarget);
2113 IDirectDrawSurface7_Release(RenderTarget7);
2140 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, flags %#lx.\n",
2145 device->vertex_type = fvf;
2160 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, flags %#lx.\n",
2199 FIXME(
"iface %p, primitive_type %#x, fvf %#lx, vertices %p, vertex_count %lu, flags %#lx stub!\n",
2213 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, vertices %p, vertex_count %lu, flags %#lx.\n",
2262 old_buffer =
device->sysmem_vertex_buffer;
2301 FIXME(
"iface %p, index %#x stub!\n", iface,
index);
2310 TRACE(
"iface %p, index %#x.\n", iface,
index);
2361 ERR(
"Unhandled texture mag %d !\n",tex_mag);
2389 ERR(
"Unhandled mip filter %#x.\n", tex_mip);
2407 ERR(
"Unhandled mip filter %#x.\n", tex_mip);
2413 ERR(
"Unhandled texture min filter %#x.\n",tex_min);
2429 FIXME(
"Unhandled render state D3DRENDERSTATE_BORDERCOLOR.\n");
2435 WARN(
"Render state %#x is invalid in d3d7.\n",
state);
2443 FIXME(
"Unhandled stipple pattern render state (%#x).\n",
state);
2490 if ((tex =
device->stateblock_state->textures[0]))
2512 *
value = 0xffffffff;
2586 FIXME(
"Unhandled texture mag %#lx.\n",
value);
2627 FIXME(
"Unhandled texture min %#lx.\n",
value);
2651 FIXME(
"Unhandled render state D3DRENDERSTATE_BORDERCOLOR.\n");
2657 WARN(
"Render state %#x is invalid in d3d7.\n",
state);
2665 FIXME(
"Unhandled stipple pattern render state (%#x).\n",
state);
2708 if ((tex =
device->stateblock_state->textures[0]))
2713 ddfmt.
dwSize =
sizeof(ddfmt);
2774 WARN(
"Invalid texture handle.\n");
2787 TRACE(
"Application is setting the same value over, nothing to do.\n");
2869 FIXME(
"Unhandled texture environment %#lx.\n",
value);
2928 TRACE(
"Unexpected Light State Type\n");
2941 WARN(
"Invalid material handle.\n");
2956 ERR(
"DDCOLOR_MONO should not happen!\n");
2960 TRACE(
"Setting color model to RGB (no-op).\n");
2963 ERR(
"Unknown color model!\n");
2992 FIXME(
"Unhandled D3DLIGHTSTATETYPE %#x.\n",
state);
3044 TRACE(
"Unexpected Light State Type\n");
3084 FIXME(
"Unhandled D3DLIGHTSTATETYPE %#x.\n",
state);
3353 device->legacy_projection = tmp;
3400 ERR(
"wined3d_device_context_set_rendertarget_views failed.\n");
3402 else if (!
device->target)
3409 FIXME(
"Keeping leftover render target.\n");
3414 ERR(
"wined3d_device_context_set_depth_stencil_view failed.\n");
3417 if (
device->hardware_device)
3435 if (!
device->have_draw_textures)
3476 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, vertices %p, vertex_count %lu, flags %#lx.\n",
3481 WARN(
"0 vertex count.\n");
3549 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, vertices %p, vertex_count %lu, flags %#lx.\n",
3565 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, vertices %p, vertex_count %lu, flags %#lx.\n",
3610 unsigned int idx_size = index_count *
sizeof(*indices);
3611 unsigned short min_index =
USHRT_MAX, max_index = 0;
3615 UINT vb_pos, ib_pos;
3617 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, vertices %p, vertex_count %lu, "
3618 "indices %p, index_count %lu, flags %#lx.\n",
3623 WARN(
"0 vertex or index count.\n");
3629 for (
i = 0;
i < index_count; ++
i)
3639 (
char *)vertices + (min_index *
stride), (max_index + 1 - min_index) *
stride,
stride, &vb_pos)))
3656 ib_pos /
sizeof(*
indices), index_count, 0, 0);
3692 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, vertices %p, vertex_count %lu, "
3693 "indices %p, index_count %lu, flags %#lx.\n",
3709 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, vertices %p, vertex_count %lu, "
3710 "indices %p, index_count %lu, flags %#lx.\n",
3749 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
3759 TRACE(
"iface %p, flags %#lx.\n", iface,
flags);
3782 FIXME(
"iface %p, clip_status %p stub!\n", iface, clip_status);
3791 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3800 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3822 FIXME(
"iface %p, clip_status %p stub.\n", iface, clip_status);
3824 vp =
device->stateblock_state->viewport;
3825 clip_status->
minx = vp.
x;
3827 clip_status->
miny = vp.
y;
3829 clip_status->
minz = 0.0f;
3830 clip_status->
maxz = 0.0f;
3841 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3850 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3924 offset =
i *
src->textureCoords[tex].dwStride;
3926 dst += attrib_count *
sizeof(
float);
3941 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, strided_data %p, vertex_count %lu, flags %#lx.\n",
3946 WARN(
"0 vertex count.\n");
3953 &
device->vertex_buffer, dst_size, dst_stride, &vb_pos, &dst_data)))
3978 VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
3990 VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4002 TRACE(
"iface %p, primitive_type %#x, FVF %#lx, strided_data %p, vertex_count %lu, flags %#lx.\n",
4003 iface, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4008 PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4034 UINT idx_size = index_count *
sizeof(
WORD);
4040 TRACE(
"iface %p, primitive_type %#x, fvf %#lx, strided_data %p, "
4041 "vertex_count %lu, indices %p, index_count %lu, flags %#lx.\n",
4046 WARN(
"0 vertex or index count.\n");
4053 &
device->vertex_buffer, vtx_dst_size, vtx_dst_stride, &vb_pos, &dst_data)))
4072 vb_pos / vtx_dst_stride, ib_pos /
sizeof(
WORD), index_count, 0, 0);
4085 D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4098 D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4111 TRACE(
"iface %p, primitive_type %#x, FVF %#lx, strided_data %p, vertex_count %lu, indices %p, index_count %lu, flags %#lx.\n",
4112 iface, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4117 PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4150 TRACE(
"iface %p, primitive_type %#x, vb %p, start_vertex %lu, vertex_count %lu, flags %#lx.\n",
4155 WARN(
"0 vertex count.\n");
4165 TRACE(
"Drawing from D3DVBCAPS_SYSTEMMEMORY vertex buffer, forwarding to DrawPrimitive().\n");
4188 WARN(
"Failed to set stream source, hr %#lx.\n",
hr);
4229 TRACE(
"iface %p, primitive_type %#x, vb %p, start_vertex %lu, vertex_count %lu, flags %#lx.\n",
4230 iface, PrimitiveType, D3DVertexBuf, StartVertex, NumVertices,
Flags);
4268 TRACE(
"iface %p, primitive_type %#x, vb %p, start_vertex %lu, "
4269 "vertex_count %lu, indices %p, index_count %lu, flags %#lx.\n",
4274 WARN(
"0 vertex or index count.\n");
4282 TRACE(
"Drawing from D3DVBCAPS_SYSTEMMEMORY vertex buffer, forwarding to DrawIndexedPrimitive().\n");
4325 ERR(
"Failed to set stream source for device %p, hr %#lx.\n",
device,
hr);
4334 ib_pos /
sizeof(
WORD), index_count, 0, 0);
4346 D3DVertexBuf, StartVertex, NumVertices, Indices, IndexCount,
Flags);
4358 D3DVertexBuf, StartVertex, NumVertices, Indices, IndexCount,
Flags);
4373 TRACE(
"iface %p, primitive_type %#x, vb %p, indices %p, index_count %lu, flags %#lx.\n",
4491 memset(return_values, 0, sphere_count *
sizeof(*return_values));
4492 for (
i = 0;
i < sphere_count; ++
i)
4494 mask = enabled_planes;
4498 return_values[
i] |=
in_plane(
j, planes[
j], centres[
i], radii[
i], equality);
4507 DWORD enabled_planes = 0x3f;
4508 DWORD user_clip_planes;
4511 TRACE(
"iface %p, centers %p, radii %p, sphere_count %lu, flags %#lx, return_values %p.\n",
4512 iface, centers, radii, sphere_count,
flags, return_values);
4517 enabled_planes |= user_clip_planes << 6;
4518 for (
j = 6;
j < 12; ++
j)
4528 static const DWORD enabled_planes = 0x3f;
4532 TRACE(
"iface %p, centers %p, radii %p, sphere_count %lu, flags %#lx, return_values %p.\n",
4533 iface, centers, radii, sphere_count,
flags, return_values);
4538 for (
i = 0;
i < sphere_count; ++
i)
4541 DWORD d3d7_result = return_values[
i];
4543 return_values[
i] = 0;
4545 for (
j = 0;
j < 6; ++
j)
4552 intersect_frustum =
TRUE;
4557 outside_frustum =
TRUE;
4560 if (outside_frustum)
4562 else if (intersect_frustum)
4593 TRACE(
"iface %p, stage %lu, texture %p.\n", iface, stage,
texture);
4600 WARN(
"Invalid stage %lu.\n", stage);
4615 IDirectDrawSurface7_AddRef(*
texture);
4647 TRACE(
"iface %p, stage %lu, texture %p.\n", iface, stage, Texture2);
4654 TRACE(
"Returning texture %p.\n", *Texture2);
4681 TRACE(
"iface %p, stage %lu, texture %p.\n", iface, stage,
texture);
4729 TRACE(
"iface %p, stage %lu, texture %p.\n", iface, stage,
texture);
4816 TRACE(
"iface %p, stage %lu, state %#x, value %p.\n",
4824 WARN(
"Invalid state %#x passed.\n",
state);
4830 WARN(
"Invalid stage %lu.\n", stage);
4841 if (
l->sampler_state)
4862 ERR(
"Unexpected mipfilter value %#lx.\n", *
value);
4890 ERR(
"Unexpected wined3d mag filter value %#lx.\n", *
value);
4935 TRACE(
"iface %p, stage %lu, state %#x, value %p.\n",
4964 TRACE(
"iface %p, stage %lu, state %#x, value %#lx.\n",
4969 WARN(
"Invalid state %#x passed.\n",
state);
4977 if (
l->sampler_state)
4997 ERR(
"Unexpected mipfilter value %#lx.\n",
value);
5025 ERR(
"Unexpected d3d7 mag filter value %#lx.\n",
value);
5076 TRACE(
"iface %p, stage %lu, state %#x, value %#lx.\n",
5087 TRACE(
"Application is setting the same value over, nothing to do.\n");
5118 TRACE(
"iface %p, pass_count %p.\n", iface, pass_count);
5148 TRACE(
"iface %p, pass_count %p.\n", iface, pass_count);
5178 ((
color >> 16) & 0xff) / 255.0f,
5179 ((
color >> 8) & 0xff) / 255.0f,
5180 (
color & 0xff) / 255.0f,
5181 ((
color >> 24) & 0xff) / 255.0f,
5186 TRACE(
"iface %p, count %lu, rects %p, flags %#lx, color 0x%08lx, z %.8e, stencil %#lx.\n",
5189 if (
count && !rects)
5191 WARN(
"count %lu with NULL rects.\n",
count);
5230 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
5248 WARN(
"Invalid viewport, returning E_INVALIDARG.\n");
5253 vp.
x = viewport->
dwX;
5254 vp.
y = viewport->
dwY;
5288 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
5439 TRACE(
"iface %p, light_idx %lu, light %p.\n", iface, light_idx,
light);
5485 TRACE(
"iface %p, light_idx %lu, light %p.\n", iface, light_idx,
light);
5529 TRACE(
"iface %p.\n", iface);
5535 WARN(
"Trying to begin a stateblock while recording, returning D3DERR_INBEGINSTATEBLOCK.\n");
5584 TRACE(
"iface %p, stateblock %p.\n", iface, stateblock);
5593 WARN(
"Trying to end a stateblock, but no stateblock is being recorded.\n");
5596 wined3d_sb =
device->recording;
5604 ERR(
"Failed to allocate a stateblock handle.\n");
5612 *stateblock =
h + 1;
5702 TRACE(
"iface %p, stateblock %#lx.\n", iface, stateblock);
5708 WARN(
"Trying to apply a stateblock while recording, returning D3DERR_INBEGINSTATEBLOCK.\n");
5714 WARN(
"Invalid stateblock handle.\n");
5762 TRACE(
"iface %p, stateblock %#lx.\n", iface, stateblock);
5768 WARN(
"Trying to capture a stateblock while recording, returning D3DERR_INBEGINSTATEBLOCK.\n");
5774 WARN(
"Invalid stateblock handle.\n");
5823 TRACE(
"iface %p, stateblock %#lx.\n", iface, stateblock);
5830 WARN(
"Invalid stateblock handle.\n");
5837 ERR(
"Something is still holding stateblock %p (refcount %lu).\n", wined3d_sb,
ref);
5886 TRACE(
"iface %p, type %#x, stateblock %p.\n", iface,
type, stateblock);
5895 WARN(
"Unexpected stateblock type, returning DDERR_INVALIDPARAMS\n");
5904 WARN(
"Trying to apply a stateblock while recording, returning D3DERR_INBEGINSTATEBLOCK.\n");
5911 WARN(
"Failed to create stateblock, hr %#lx.\n",
hr);
5919 ERR(
"Failed to allocate stateblock handle.\n");
5925 *stateblock =
h + 1;
5966 for (;src_level && dest_level;)
5994 return !dest_level && levelFound;
6006 IDirectDrawPalette *pal =
NULL, *pal_src =
NULL;
6011 IDirectDrawSurface7_GetPalette(&
src->IDirectDrawSurface7_iface, &pal_src);
6012 IDirectDrawSurface7_GetPalette(&
dst->IDirectDrawSurface7_iface, &pal);
6014 if (pal_src !=
NULL && pal !=
NULL)
6018 IDirectDrawPalette_GetEntries(pal_src, 0, 0, 256, palent);
6019 IDirectDrawPalette_SetEntries(pal, 0, 0, 256, palent);
6022 if (pal) IDirectDrawPalette_Release(pal);
6023 if (pal_src) IDirectDrawPalette_Release(pal_src);
6028 hr = IDirectDrawSurface7_GetColorKey(&
src->IDirectDrawSurface7_iface, ckeyflag, &ddckey);
6032 IDirectDrawSurface7_SetColorKey(&
dst->IDirectDrawSurface7_iface, ckeyflag, &ddckey);
6040 src_rect = *SrcRect;
6042 for (;src_level && dst_level;)
6055 ERR(
"Blit failed, hr %#lx.\n",
hr);
6061 if (dst_level !=
dst)
6084 if (src_level && src_level !=
src)
6086 if (dst_level && dst_level !=
dst)
6123 TRACE(
"iface %p, dst_texture %p, dst_pos %s, src_texture %p, src_rect %s, flags %#lx.\n",
6132 SetRect(&srcrect, 0, 0,
src->surface_desc.dwWidth,
src->surface_desc.dwHeight);
6134 srcrect = *src_rect;
6137 destpoint.
x = destpoint.
y = 0;
6139 destpoint = *dst_pos;
6147 srcrect.
bottom >
src->surface_desc.dwHeight ||
6148 destpoint.
x + srcrect.
right - srcrect.
left >
src->surface_desc.dwWidth ||
6149 destpoint.
y + srcrect.
bottom - srcrect.
top >
src->surface_desc.dwHeight ||
6150 dest->surface_desc.dwWidth >
src->surface_desc.dwWidth ||
6151 dest->surface_desc.dwHeight >
src->surface_desc.dwHeight)
6168 DWORD src_face_flag, dest_face_flag;
6181 for (
i = 0;
i < 2;
i++)
6186 for (;dest_face && src_face;)
6191 if (src_face_flag == dest_face_flag)
6202 else if (
flags & dest_face_flag)
6211 IDirectDrawSurface7_GetAttachedSurface(&
src->IDirectDrawSurface7_iface, &ddsd.
ddsCaps, &
temp);
6213 if (src_face !=
src) IDirectDrawSurface7_Release(&src_face->IDirectDrawSurface7_iface);
6219 if (src_face !=
src) IDirectDrawSurface7_Release(&src_face->IDirectDrawSurface7_iface);
6229 IDirectDrawSurface7_GetAttachedSurface(&
dest->IDirectDrawSurface7_iface, &ddsd.
ddsCaps, &
temp);
6318 TRACE(
"iface %p, light_idx %lu, enabled %#x.\n", iface, light_idx,
enabled);
6366 TRACE(
"iface %p, light_idx %lu, enabled %p.\n", iface, light_idx,
enabled);
6428 device->user_clip_planes[
idx] = *wined3d_plane;
6431 WARN(
"Clip plane %lu is not supported.\n",
idx);
6485 WARN(
"Clip plane %lu is not supported.\n",
idx);
6529 TRACE(
"iface %p, info_id %#lx, info %p, info_size %lu.\n",
6530 iface, info_id,
info, info_size);
6534 TRACE(
" info requested : ");
6791 if (!iface)
return NULL;
6798 if (!iface)
return NULL;
6805 if (!iface)
return NULL;
6812 if (!iface)
return NULL;
6824 &IID_IDirectDrawSurface7, (
void **)&render_target)))
6826 IDirectDrawSurface7_GetAttachedSurface(render_target, &depthcaps, &depthStencil);
6827 IDirectDrawSurface7_Release(render_target);
6831 TRACE(
"Setting wined3d depth stencil to NULL\n");
6843 IDirectDrawSurface7_Release(depthStencil);
6863 1.0f, 0.0f, 0.0f, 0.0f,
6864 0.0f, 1.0f, 0.0f, 0.0f,
6865 0.0f, 0.0f, 1.0f, 0.0f,
6866 0.0f, 0.0f, 0.0f, 1.0f,
6887 WARN(
"Surface %p is not in video memory.\n",
target);
6892 device->outer_unknown = outer_unknown;
6901 ERR(
"Failed to initialize handle table.\n");
6911 ERR(
"Failed to create the primary stateblock, hr %#lx.\n",
hr);
6930 ERR(
"Failed to set render target, hr %#lx.\n",
hr);
6936 device->rt_iface = rt_iface;
6939 IUnknown_AddRef(
device->rt_iface);
6965 TRACE(
"ddraw %p, guid %s, target %p, version %u, device %p, outer_unknown %p.\n",
6971 WARN(
"Surface %p is not a render target.\n",
target);
6977 WARN(
"Surface %p has an indexed pixel format, but no palette.\n",
target);
6983 ERR_(winediag)(
"The application wants to create a Direct3D device, "
6984 "but the current DirectDrawRenderer does not support this.\n");
6989 if (!(
object =
calloc(1,
sizeof(*
object))))
6991 ERR(
"Failed to allocate device memory.\n");
6997 WARN(
"Failed to initialize device, hr %#lx.\n",
hr);
7002 TRACE(
"Created device %p.\n",
object);
_Tp _STLP_CALL norm(const complex< _Tp > &__z)
#define DECLSPEC_HOTPATCH
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_point(const POINT *ppt)
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)
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
@ D3DTSS_TEXTURETRANSFORMFLAGS
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
#define D3DFVF_POSITION_MASK
enum _D3DSTATEBLOCKTYPE D3DSTATEBLOCKTYPE
#define IDirect3DDevice2_AddRef(p)
#define D3DERR_INBEGINSTATEBLOCK
#define D3DERR_INVALIDSTATEBLOCK
#define D3DERR_SCENE_IN_SCENE
#define IDirect3DDevice_AddRef(p)
#define IDirect3DDevice3_SetRenderState(p, a, b)
#define IDirect3DDevice7_DrawPrimitive(p, a, b, c, d, e)
#define IDirect3DDevice3_AddRef(p)
#define IDirect3DDevice7_AddRef(p)
#define D3DERR_NOTINBEGINSTATEBLOCK
#define IDirect3DDevice7_GetRenderState(p, a, b)
#define D3DERR_SURFACENOTINVIDMEM
#define IDirect3DDevice7_EndScene(p)
#define IDirect3DViewport3_Release(p)
#define IDirect3DDevice7_DrawPrimitiveVB(p, a, b, c, d, e)
#define IDirect3DDevice7_GetClipPlane(p, a, b)
#define IDirect3DDevice3_DeleteViewport(p, a)
#define IDirect3DDevice3_GetRenderState(p, a, b)
#define IDirect3DDevice3_SetCurrentViewport(p, a)
#define IDirect3DDevice7_SetClipStatus(p, a)
#define IDirect3DDevice7_DrawIndexedPrimitive(p, a, b, c, d, e, f, g)
#define IDirect3DViewport3_AddRef(p)
#define IDirect3D7_AddRef(p)
#define IDirect3DDevice7_BeginScene(p)
#define IDirect3DDevice7_GetTextureStageState(p, a, b, c)
#define IDirect3D3_AddRef(p)
#define IDirect3DDevice7_MultiplyTransform(p, a, b)
#define IDirect3DDevice7_GetTexture(p, a, b)
#define IDirect3DDevice7_DrawPrimitiveStrided(p, a, b, c, d, e)
#define IDirect3DDevice7_ValidateDevice(p, a)
#define D3DERR_SCENE_NOT_IN_SCENE
#define IDirect3DDevice2_SetRenderState(p, a, b)
#define IDirect3DDevice7_GetClipStatus(p, a)
#define IDirect3DDevice7_DrawIndexedPrimitiveStrided(p, a, b, c, d, e, f, g)
#define IDirect3D_AddRef(p)
#define IDirect3DDevice7_SetRenderState(p, a, b)
#define IDirect3DDevice3_SetTransform(p, a, b)
#define IDirect3DDevice7_EnumTextureFormats(p, a, b)
#define IDirect3DDevice2_GetRenderState(p, a, b)
#define D3DERR_NOCURRENTVIEWPORT
#define D3DERR_VERTEXBUFFERLOCKED
#define IDirect3DDevice7_SetTransform(p, a, b)
#define IDirect3D2_AddRef(p)
#define IDirect3DDevice7_DeleteStateBlock(p, a)
#define IDirect3DDevice7_SetTextureStageState(p, a, b, c)
#define IDirect3DDevice3_GetTransform(p, a, b)
#define IDirect3DDevice3_SetTexture(p, a, b)
#define IDirect3DDevice7_DrawIndexedPrimitiveVB(p, a, b, c, d, e, f, g)
#define IDirect3DDevice7_GetTransform(p, a, b)
#define IDirect3DDevice3_MultiplyTransform(p, a, b)
#define D3DVIS_INTERSECT_LEFT
HRESULT(CALLBACK * LPD3DENUMPIXELFORMATSCALLBACK)(DDPIXELFORMAT *format, void *ctx)
@ D3DFILTER_LINEARMIPLINEAR
@ D3DFILTER_LINEARMIPNEAREST
#define D3DSTATUS_CLIPINTERSECTIONLEFT
#define D3DSTATUS_CLIPUNIONLEFT
#define D3DVIS_OUTSIDE_FRUSTUM
#define D3DDEVINFOID_TEXTUREMANAGER
#define D3DDEVINFOID_D3DTEXTUREMANAGER
#define D3DVIS_INTERSECT_FRUSTUM
@ D3DRENDERSTATE_BORDERCOLOR
@ D3DRENDERSTATE_STIPPLEPATTERN31
@ D3DRENDERSTATE_TEXTUREMAG
@ D3DRENDERSTATE_TEXTUREMIN
@ D3DRENDERSTATE_TEXTUREADDRESS
@ D3DRENDERSTATE_TEXTUREHANDLE
@ D3DRENDERSTATE_TEXTUREADDRESSU
@ D3DRENDERSTATE_TEXTUREADDRESSV
@ D3DRENDERSTATE_TEXTUREMAPBLEND
@ D3DRENDERSTATE_STIPPLEPATTERN00
HRESULT(CALLBACK * LPD3DENUMTEXTUREFORMATSCALLBACK)(DDSURFACEDESC *surface_desc, void *ctx)
@ D3DLIGHTSTATE_COLORMODEL
@ D3DLIGHTSTATE_FOGDENSITY
@ D3DLIGHTSTATE_COLORVERTEX
@ D3DTBLEND_MODULATEALPHA
#define D3DSTATE_OVERRIDE_BIAS
#define D3DVIS_OUTSIDE_LEFT
#define D3DCLIPSTATUS_EXTENTS2
#define D3DDEVINFOID_TEXTURING
static struct wined3d_texture * ddraw_surface_get_any_texture(struct ddraw_surface *surface, unsigned int flags)
void * ddraw_free_handle(struct ddraw_handle_table *t, DWORD handle, enum ddraw_handle_type type)
void viewport_activate(struct d3d_viewport *viewport, BOOL ignore_lights)
void multiply_matrix(struct wined3d_matrix *dst, const struct wined3d_matrix *src1, const struct wined3d_matrix *src2)
void dump_D3DMATRIX(const D3DMATRIX *mat)
void viewport_deactivate(struct d3d_viewport *viewport)
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface4(IDirectDrawSurface4 *iface)
struct d3d_viewport * unsafe_impl_from_IDirect3DViewport(IDirect3DViewport *iface)
HRESULT d3d_execute_buffer_init(struct d3d_execute_buffer *execute_buffer, struct d3d_device *device, D3DEXECUTEBUFFERDESC *desc)
struct d3d_viewport * unsafe_impl_from_IDirect3DViewport3(IDirect3DViewport3 *iface)
void material_activate(struct d3d_material *material)
struct d3d_vertex_buffer * unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
void * ddraw_get_object(struct ddraw_handle_table *t, DWORD handle, enum ddraw_handle_type type)
void ddraw_handle_table_destroy(struct ddraw_handle_table *t)
struct wined3d_rendertarget_view * ddraw_surface_get_rendertarget_view(struct ddraw_surface *surface)
struct ddraw_handle_table global_handle_table
HRESULT hr_ddraw_from_wined3d(HRESULT hr)
#define GET_TEXCOORD_SIZE_FROM_FVF(d3dvtVertexType, tex_num)
struct d3d_viewport * unsafe_impl_from_IDirect3DViewport2(IDirect3DViewport2 *iface)
static BOOL format_is_paletteindexed(const DDPIXELFORMAT *fmt)
HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *execute_buffer, struct d3d_device *device)
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface7(IDirectDrawSurface7 *iface)
static struct d3d_device * impl_from_IDirect3DDevice7(IDirect3DDevice7 *iface)
struct ddraw_surface * unsafe_impl_from_IDirect3DTexture(IDirect3DTexture *iface)
BOOL ddraw_handle_table_init(struct ddraw_handle_table *t, UINT initial_size)
struct d3d_execute_buffer * unsafe_impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface)
#define DDRAW_SURFACE_READ
#define DDRAW_INVALID_HANDLE
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface(IDirectDrawSurface *iface)
#define DD_STRUCT_COPY_BYSIZE(to, from)
#define GET_TEXCOUNT_FROM_FVF(d3dvtVertexType)
struct ddraw_surface * unsafe_impl_from_IDirect3DTexture2(IDirect3DTexture2 *iface)
static struct d3d_device * impl_from_IDirect3DDevice3(IDirect3DDevice3 *iface)
DWORD ddraw_allocate_handle(struct ddraw_handle_table *t, void *object, enum ddraw_handle_type type)
@ DDRAW_HANDLE_STATEBLOCK
static struct wined3d_texture * ddraw_surface_get_draw_texture(struct ddraw_surface *surface, unsigned int flags)
static struct d3d_device * impl_from_IDirect3DDevice(IDirect3DDevice *iface)
DWORD get_flexible_vertex_size(DWORD d3dvtVertexType)
void ddrawformat_from_wined3dformat(DDPIXELFORMAT *ddraw_format, enum wined3d_format_id wined3d_format)
static struct d3d_device * impl_from_IDirect3DDevice2(IDirect3DDevice2 *iface)
static struct ddraw_surface * impl_from_IDirectDrawSurface7(IDirectDrawSurface7 *iface)
#define DDRAW_MAX_TEXTURES
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
static struct d2d_device_context * impl_from_IUnknown(IUnknown *iface)
void d3d_device_init(struct d3d_device *device, void *outer_unknown)
static HRESULT STDMETHODCALLTYPE d3d_device_inner_QueryInterface(IUnknown *iface, REFIID riid, void **out)
static ULONG STDMETHODCALLTYPE d3d_device_inner_AddRef(IUnknown *iface)
static ULONG STDMETHODCALLTYPE d3d_device_inner_Release(IUnknown *iface)
static void device_reset_viewport_state(struct d3d8_device *device)
struct wined3d_vertex_declaration * ddraw_find_decl(struct ddraw *This, DWORD fvf)
HRESULT ddraw_get_d3dcaps(const struct ddraw *ddraw, D3DDEVICEDESC7 *caps)
void ddraw_d3dcaps1_from_7(D3DDEVICEDESC *caps1, D3DDEVICEDESC7 *caps7)
static HRESULT WINAPI d3d_device1_GetStats(IDirect3DDevice *iface, D3DSTATS *stats)
static HRESULT WINAPI d3d_device7_CreateStateBlock_FPUPreserve(IDirect3DDevice7 *iface, D3DSTATEBLOCKTYPE type, DWORD *stateblock)
static enum wined3d_stateblock_type wined3d_stateblock_type_from_ddraw(D3DSTATEBLOCKTYPE type)
static HRESULT d3d_device7_SetRenderState(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE state, DWORD value)
static HRESULT WINAPI d3d_device7_ApplyStateBlock_FPUSetup(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT d3d_device7_EndStateBlock(IDirect3DDevice7 *iface, DWORD *stateblock)
static const struct IDirect3DDevice7Vtbl d3d_device7_fpu_preserve_vtbl
static HRESULT WINAPI d3d_device1_GetPickRecords(IDirect3DDevice *iface, DWORD *count, D3DPICKRECORD *records)
static HRESULT WINAPI d3d_device7_SetClipStatus(IDirect3DDevice7 *iface, D3DCLIPSTATUS *clip_status)
static HRESULT WINAPI d3d_device3_SetLightState(IDirect3DDevice3 *iface, D3DLIGHTSTATETYPE state, DWORD value)
struct d3d_device * unsafe_impl_from_IDirect3DDevice7(IDirect3DDevice7 *iface)
static HRESULT d3d_device7_GetRenderState(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE state, DWORD *value)
static HRESULT d3d_device7_LightEnable(IDirect3DDevice7 *iface, DWORD light_idx, BOOL enabled)
static HRESULT WINAPI d3d_device7_GetTextureStageState_FPUPreserve(IDirect3DDevice7 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device1_CreateMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE *D3DMatHandle)
void d3d_device_apply_state(struct d3d_device *device, BOOL clear_state)
static HRESULT WINAPI d3d_device7_GetClipPlane_FPUPreserve(IDirect3DDevice7 *iface, DWORD idx, D3DVALUE *plane)
static BOOL check_d3ddevicedesc_size(DWORD size)
static HRESULT WINAPI d3d_device7_DrawPrimitive_FPUPreserve(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, DWORD flags)
static HRESULT WINAPI d3d_device3_BeginScene(IDirect3DDevice3 *iface)
static HRESULT d3d_device7_MultiplyTransform(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT d3d_device7_DrawIndexedPrimitiveStrided(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, D3DDRAWPRIMITIVESTRIDEDDATA *strided_data, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device7_GetTexture_FPUPreserve(IDirect3DDevice7 *iface, DWORD stage, IDirectDrawSurface7 **Texture)
static HRESULT WINAPI d3d_device3_DrawIndexedPrimitiveVB(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE primitive_type, IDirect3DVertexBuffer *vertex_buffer, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device7_SetTextureStageState_FPUSetup(IDirect3DDevice7 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value)
static WORD d3d_fpu_setup(void)
static HRESULT WINAPI d3d_device3_DrawPrimitiveVB(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE PrimitiveType, IDirect3DVertexBuffer *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, DWORD Flags)
static HRESULT WINAPI d3d_device7_GetClipPlane_FPUSetup(IDirect3DDevice7 *iface, DWORD idx, D3DVALUE *plane)
static HRESULT WINAPI d3d_device7_ComputeSphereVisibility(IDirect3DDevice7 *iface, D3DVECTOR *centers, D3DVALUE *radii, DWORD sphere_count, DWORD flags, DWORD *return_values)
static HRESULT WINAPI d3d_device7_MultiplyTransform_FPUSetup(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device7_Clear_FPUPreserve(IDirect3DDevice7 *iface, DWORD count, D3DRECT *rects, DWORD flags, D3DCOLOR color, D3DVALUE z, DWORD stencil)
static HRESULT WINAPI d3d_device1_CreateExecuteBuffer(IDirect3DDevice *iface, D3DEXECUTEBUFFERDESC *buffer_desc, IDirect3DExecuteBuffer **ExecuteBuffer, IUnknown *outer_unknown)
static HRESULT WINAPI d3d_device7_Clear_FPUSetup(IDirect3DDevice7 *iface, DWORD count, D3DRECT *rects, DWORD flags, D3DCOLOR color, D3DVALUE z, DWORD stencil)
static HRESULT WINAPI d3d_device7_GetTexture_FPUSetup(IDirect3DDevice7 *iface, DWORD stage, IDirectDrawSurface7 **Texture)
static HRESULT WINAPI d3d_device7_GetMaterial_FPUSetup(IDirect3DDevice7 *iface, D3DMATERIAL7 *material)
static HRESULT WINAPI d3d_device7_GetInfo(IDirect3DDevice7 *iface, DWORD info_id, void *info, DWORD info_size)
static HRESULT WINAPI d3d_device7_SetRenderState_FPUPreserve(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE state, DWORD value)
static ULONG WINAPI d3d_device3_Release(IDirect3DDevice3 *iface)
static HRESULT WINAPI d3d_device7_EnumTextureFormats_FPUSetup(IDirect3DDevice7 *iface, LPD3DENUMPIXELFORMATSCALLBACK callback, void *context)
static HRESULT WINAPI d3d_device7_SetClipPlane_FPUPreserve(IDirect3DDevice7 *iface, DWORD idx, D3DVALUE *plane)
static HRESULT WINAPI d3d_device7_DrawPrimitiveVB_FPUSetup(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, IDirect3DVertexBuffer7 *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, DWORD Flags)
static HRESULT WINAPI d3d_device2_SetRenderState(IDirect3DDevice2 *iface, D3DRENDERSTATETYPE state, DWORD value)
static HRESULT WINAPI d3d_device2_BeginScene(IDirect3DDevice2 *iface)
static HRESULT WINAPI d3d_device3_GetLightState(IDirect3DDevice3 *iface, D3DLIGHTSTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device2_AddViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *viewport)
static enum wined3d_render_state wined3d_render_state_from_ddraw(D3DRENDERSTATETYPE state)
static HRESULT WINAPI d3d_device2_SetCurrentViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *viewport)
static HRESULT WINAPI d3d_device1_GetDirect3D(IDirect3DDevice *iface, IDirect3D **d3d)
static HRESULT WINAPI d3d_device2_EnumTextureFormats(IDirect3DDevice2 *iface, LPD3DENUMTEXTUREFORMATSCALLBACK callback, void *context)
static HRESULT WINAPI d3d_device7_Load_FPUSetup(IDirect3DDevice7 *iface, IDirectDrawSurface7 *dst_texture, POINT *dst_pos, IDirectDrawSurface7 *src_texture, RECT *src_rect, DWORD flags)
static HRESULT d3d_device7_SetRenderTarget(IDirect3DDevice7 *iface, IDirectDrawSurface7 *target, DWORD flags)
static void prepare_clip_space_planes(struct d3d_device *device, struct wined3d_vec4 *plane)
static HRESULT WINAPI d3d_device2_BeginIndexed(IDirect3DDevice2 *iface, D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type, void *vertices, DWORD vertex_count, DWORD flags)
static HRESULT WINAPI d3d_device7_ApplyStateBlock_FPUPreserve(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device3_GetCaps(IDirect3DDevice3 *iface, D3DDEVICEDESC *HWDesc, D3DDEVICEDESC *HelDesc)
static HRESULT WINAPI d3d_device2_GetCurrentViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 **viewport)
static HRESULT WINAPI d3d_device7_SetLight_FPUPreserve(IDirect3DDevice7 *iface, DWORD light_idx, D3DLIGHT7 *light)
static const struct IDirect3DDeviceVtbl d3d_device1_vtbl
static HRESULT WINAPI d3d_device7_DrawPrimitiveStrided_FPUPreserve(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, DWORD VertexType, D3DDRAWPRIMITIVESTRIDEDDATA *D3DDrawPrimStrideData, DWORD VertexCount, DWORD Flags)
static HRESULT WINAPI d3d_device1_DeleteViewport(IDirect3DDevice *iface, IDirect3DViewport *viewport)
static HRESULT d3d_device7_SetClipPlane(IDirect3DDevice7 *iface, DWORD idx, D3DVALUE *plane)
static HRESULT d3d_device7_DrawPrimitiveVB(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, IDirect3DVertexBuffer7 *vb, DWORD start_vertex, DWORD vertex_count, DWORD flags)
static HRESULT WINAPI d3d_device2_SetLightState(IDirect3DDevice2 *iface, D3DLIGHTSTATETYPE state, DWORD value)
static ULONG WINAPI d3d_device3_AddRef(IDirect3DDevice3 *iface)
static HRESULT WINAPI d3d_device7_SetRenderTarget_FPUPreserve(IDirect3DDevice7 *iface, IDirectDrawSurface7 *NewTarget, DWORD flags)
static HRESULT WINAPI d3d_device7_SetTexture_FPUSetup(IDirect3DDevice7 *iface, DWORD stage, IDirectDrawSurface7 *texture)
static HRESULT WINAPI d3d_device2_GetTransform(IDirect3DDevice2 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device3_GetTextureStageState(IDirect3DDevice3 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device7_GetDirect3D(IDirect3DDevice7 *iface, IDirect3D7 **d3d)
static HRESULT d3d_device7_GetMaterial(IDirect3DDevice7 *iface, D3DMATERIAL7 *material)
static HRESULT WINAPI d3d_device7_EnumTextureFormats_FPUPreserve(IDirect3DDevice7 *iface, LPD3DENUMPIXELFORMATSCALLBACK callback, void *context)
static HRESULT WINAPI d3d_device7_EndStateBlock_FPUPreserve(IDirect3DDevice7 *iface, DWORD *stateblock)
static HRESULT WINAPI d3d_device2_Vertex(IDirect3DDevice2 *iface, void *vertex)
static HRESULT WINAPI d3d_device7_ValidateDevice_FPUPreserve(IDirect3DDevice7 *iface, DWORD *pass_count)
static HRESULT WINAPI d3d_device3_SetRenderTarget(IDirect3DDevice3 *iface, IDirectDrawSurface4 *target, DWORD flags)
static HRESULT WINAPI d3d_device2_DeleteViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *viewport)
static HRESULT d3d_device_set_render_target(struct d3d_device *device, struct ddraw_surface *target, IUnknown *rt_iface)
static const struct IDirect3DDevice2Vtbl d3d_device2_vtbl
static void fixup_texture_alpha_op(struct d3d_device *device)
static void setup_lighting(const struct d3d_device *device, DWORD fvf, DWORD flags)
static HRESULT WINAPI d3d_device2_End(IDirect3DDevice2 *iface, DWORD flags)
static HRESULT d3d_device7_SetTextureStageState(IDirect3DDevice7 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value)
static HRESULT WINAPI d3d_device1_EnumTextureFormats(IDirect3DDevice *iface, LPD3DENUMTEXTUREFORMATSCALLBACK callback, void *context)
static HRESULT WINAPI d3d_device7_DrawIndexedPrimitiveStrided_FPUPreserve(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, DWORD VertexType, D3DDRAWPRIMITIVESTRIDEDDATA *D3DDrawPrimStrideData, DWORD VertexCount, WORD *Indices, DWORD IndexCount, DWORD Flags)
static HRESULT WINAPI d3d_device7_CreateStateBlock_FPUSetup(IDirect3DDevice7 *iface, D3DSTATEBLOCKTYPE type, DWORD *stateblock)
static HRESULT WINAPI d3d_device2_NextViewport(IDirect3DDevice2 *iface, IDirect3DViewport2 *viewport, IDirect3DViewport2 **next, DWORD flags)
static HRESULT WINAPI d3d_device7_GetTransform_FPUSetup(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device1_NextViewport(IDirect3DDevice *iface, IDirect3DViewport *viewport, IDirect3DViewport **next, DWORD flags)
static HRESULT WINAPI d3d_device7_SetViewport_FPUSetup(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
static HRESULT WINAPI d3d_device2_DrawIndexedPrimitive(IDirect3DDevice2 *iface, D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type, void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT d3d_device7_GetClipPlane(IDirect3DDevice7 *iface, DWORD idx, D3DVALUE *plane)
static HRESULT d3d_device7_DrawPrimitiveStrided(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, D3DDRAWPRIMITIVESTRIDEDDATA *strided_data, DWORD vertex_count, DWORD flags)
struct d3d_device * unsafe_impl_from_IDirect3DDevice(IDirect3DDevice *iface)
static HRESULT WINAPI d3d_device3_GetCurrentViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 **viewport)
static HRESULT WINAPI d3d_device1_QueryInterface(IDirect3DDevice *iface, REFIID riid, void **out)
static HRESULT WINAPI d3d_device2_Index(IDirect3DDevice2 *iface, WORD index)
static HRESULT d3d_device7_GetTexture(IDirect3DDevice7 *iface, DWORD stage, IDirectDrawSurface7 **texture)
static HRESULT d3d_device7_EnumTextureFormats(IDirect3DDevice7 *iface, LPD3DENUMPIXELFORMATSCALLBACK callback, void *context)
static HRESULT WINAPI d3d_device7_DrawIndexedPrimitive_FPUSetup(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device1_Execute(IDirect3DDevice *iface, IDirect3DExecuteBuffer *ExecuteBuffer, IDirect3DViewport *viewport, DWORD flags)
static HRESULT WINAPI d3d_device3_QueryInterface(IDirect3DDevice3 *iface, REFIID riid, void **out)
static HRESULT WINAPI d3d_device3_GetClipStatus(IDirect3DDevice3 *iface, D3DCLIPSTATUS *clip_status)
static HRESULT WINAPI d3d_device7_DrawPrimitive_FPUSetup(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, DWORD flags)
enum wined3d_depth_buffer_type d3d_device_update_depth_stencil(struct d3d_device *device)
static enum wined3d_transform_state wined3d_transform_state_from_ddraw(D3DTRANSFORMSTATETYPE state)
static HRESULT d3d_device7_SetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
static HRESULT WINAPI d3d_device2_GetClipStatus(IDirect3DDevice2 *iface, D3DCLIPSTATUS *clip_status)
static HRESULT WINAPI d3d_device7_GetLight_FPUPreserve(IDirect3DDevice7 *iface, DWORD light_idx, D3DLIGHT7 *light)
static HRESULT WINAPI d3d_device3_AddViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *viewport)
static DWORD in_plane(UINT idx, struct wined3d_vec4 p, D3DVECTOR center, D3DVALUE radius, BOOL equality)
static HRESULT WINAPI d3d_device7_DrawIndexedPrimitiveVB_FPUSetup(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, IDirect3DVertexBuffer7 *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, WORD *Indices, DWORD IndexCount, DWORD Flags)
static ULONG WINAPI d3d_device1_Release(IDirect3DDevice *iface)
static HRESULT WINAPI d3d_device7_SetViewport_FPUPreserve(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
static HRESULT WINAPI d3d_device2_QueryInterface(IDirect3DDevice2 *iface, REFIID riid, void **out)
static HRESULT WINAPI d3d_device7_BeginStateBlock_FPUPreserve(IDirect3DDevice7 *iface)
static HRESULT WINAPI d3d_device7_GetRenderTarget(IDirect3DDevice7 *iface, IDirectDrawSurface7 **RenderTarget)
static HRESULT WINAPI d3d_device3_ValidateDevice(IDirect3DDevice3 *iface, DWORD *pass_count)
static void pack_strided_data(BYTE *dst, DWORD count, const D3DDRAWPRIMITIVESTRIDEDDATA *src, DWORD fvf)
static ULONG WINAPI d3d_device2_Release(IDirect3DDevice2 *iface)
static HRESULT d3d_device7_GetTransform(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT d3d_device7_BeginStateBlock(IDirect3DDevice7 *iface)
void d3d_device_sync_surfaces(struct d3d_device *device)
static void d3d_device_sync_rendertarget(struct d3d_device *device)
static HRESULT WINAPI d3d_device7_SetTransform_FPUSetup(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device1_SwapTextureHandles(IDirect3DDevice *iface, IDirect3DTexture *tex1, IDirect3DTexture *tex2)
static const struct IUnknownVtbl d3d_device_inner_vtbl
static HRESULT WINAPI d3d_device7_GetLightEnable_FPUSetup(IDirect3DDevice7 *iface, DWORD light_idx, BOOL *enabled)
static HRESULT d3d_device7_CaptureStateBlock(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device3_GetStats(IDirect3DDevice3 *iface, D3DSTATS *Stats)
static HRESULT d3d_device7_EndScene(IDirect3DDevice7 *iface)
static enum wined3d_primitive_type wined3d_primitive_type_from_ddraw(D3DPRIMITIVETYPE type)
static HRESULT WINAPI d3d_device3_DrawIndexedPrimitiveStrided(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE PrimitiveType, DWORD VertexType, D3DDRAWPRIMITIVESTRIDEDDATA *D3DDrawPrimStrideData, DWORD VertexCount, WORD *Indices, DWORD IndexCount, DWORD Flags)
static HRESULT WINAPI d3d_device1_GetMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE D3DMatHandle, D3DMATRIX *D3DMatrix)
static HRESULT WINAPI d3d_device3_DrawIndexedPrimitive(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device7_GetCaps_FPUPreserve(IDirect3DDevice7 *iface, D3DDEVICEDESC7 *desc)
static HRESULT WINAPI d3d_device7_GetCaps_FPUSetup(IDirect3DDevice7 *iface, D3DDEVICEDESC7 *desc)
static HRESULT WINAPI d3d_device7_GetRenderState_FPUPreserve(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device3_SetTextureStageState(IDirect3DDevice3 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value)
static HRESULT WINAPI d3d_device3_SetRenderState(IDirect3DDevice3 *iface, D3DRENDERSTATETYPE state, DWORD value)
static HRESULT d3d_device7_GetLight(IDirect3DDevice7 *iface, DWORD light_idx, D3DLIGHT7 *light)
static HRESULT WINAPI d3d_device7_MultiplyTransform_FPUPreserve(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device2_GetCaps(IDirect3DDevice2 *iface, D3DDEVICEDESC *hw_desc, D3DDEVICEDESC *hel_desc)
static HRESULT WINAPI d3d_device2_SetRenderTarget(IDirect3DDevice2 *iface, IDirectDrawSurface *target, DWORD flags)
static HRESULT WINAPI d3d_device3_GetRenderState(IDirect3DDevice3 *iface, D3DRENDERSTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device7_GetLight_FPUSetup(IDirect3DDevice7 *iface, DWORD light_idx, D3DLIGHT7 *light)
static HRESULT WINAPI d3d_device7_GetClipStatus(IDirect3DDevice7 *iface, D3DCLIPSTATUS *clip_status)
static HRESULT WINAPI d3d_device3_End(IDirect3DDevice3 *iface, DWORD flags)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d_device7_EndScene_FPUSetup(IDirect3DDevice7 *iface)
static HRESULT WINAPI d3d_device2_GetLightState(IDirect3DDevice2 *iface, D3DLIGHTSTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device7_DrawPrimitiveVB_FPUPreserve(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, IDirect3DVertexBuffer7 *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, DWORD Flags)
static HRESULT WINAPI d3d_device2_SetClipStatus(IDirect3DDevice2 *iface, D3DCLIPSTATUS *clip_status)
static HRESULT WINAPI d3d_device1_Pick(IDirect3DDevice *iface, IDirect3DExecuteBuffer *buffer, IDirect3DViewport *viewport, DWORD flags, D3DRECT *rect)
static HRESULT WINAPI d3d_device3_SetTransform(IDirect3DDevice3 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static ULONG WINAPI d3d_device1_AddRef(IDirect3DDevice *iface)
static HRESULT WINAPI d3d_device7_GetTextureStageState_FPUSetup(IDirect3DDevice7 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device7_GetRenderState_FPUSetup(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device7_DrawIndexedPrimitiveVB_FPUPreserve(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, IDirect3DVertexBuffer7 *D3DVertexBuf, DWORD StartVertex, DWORD NumVertices, WORD *Indices, DWORD IndexCount, DWORD Flags)
static HRESULT WINAPI d3d_device7_GetLightEnable_FPUPreserve(IDirect3DDevice7 *iface, DWORD light_idx, BOOL *enabled)
static HRESULT WINAPI d3d_device7_SetMaterial_FPUSetup(IDirect3DDevice7 *iface, D3DMATERIAL7 *material)
static HRESULT WINAPI d3d_device2_Begin(IDirect3DDevice2 *iface, D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type, DWORD flags)
static HRESULT WINAPI d3d_device7_LightEnable_FPUPreserve(IDirect3DDevice7 *iface, DWORD light_idx, BOOL enabled)
static HRESULT WINAPI d3d_device1_AddViewport(IDirect3DDevice *iface, IDirect3DViewport *viewport)
static HRESULT d3d_device7_BeginScene(IDirect3DDevice7 *iface)
static HRESULT WINAPI d3d_device7_GetTransform_FPUPreserve(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT d3d_device7_GetViewport(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
static HRESULT WINAPI d3d_device7_BeginScene_FPUPreserve(IDirect3DDevice7 *iface)
static HRESULT WINAPI d3d_device3_DrawPrimitive(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, DWORD flags)
static HRESULT d3d_device7_ValidateDevice(IDirect3DDevice7 *iface, DWORD *pass_count)
static HRESULT WINAPI d3d_device3_GetTexture(IDirect3DDevice3 *iface, DWORD stage, IDirect3DTexture2 **Texture2)
static HRESULT d3d_device7_DeleteStateBlock(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT d3d_device7_PreLoad(IDirect3DDevice7 *iface, IDirectDrawSurface7 *texture)
static HRESULT WINAPI d3d_device7_SetClipPlane_FPUSetup(IDirect3DDevice7 *iface, DWORD idx, D3DVALUE *plane)
static BOOL validate_surface_palette(struct ddraw_surface *surface)
struct d3d_device * unsafe_impl_from_IDirect3DDevice2(IDirect3DDevice2 *iface)
static HRESULT WINAPI d3d_device7_BeginScene_FPUSetup(IDirect3DDevice7 *iface)
static HRESULT d3d_device7_DrawIndexedPrimitive(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device3_GetTransform(IDirect3DDevice3 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device7_DrawIndexedPrimitive_FPUPreserve(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device1_SetMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE matrix_handle, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device2_SetTransform(IDirect3DDevice2 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device3_Begin(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, DWORD flags)
static HRESULT WINAPI d3d_device7_GetViewport_FPUPreserve(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
static HRESULT WINAPI d3d_device3_ComputeSphereVisibility(IDirect3DDevice3 *iface, D3DVECTOR *centers, D3DVALUE *radii, DWORD sphere_count, DWORD flags, DWORD *return_values)
static BOOL is_mip_level_subset(struct ddraw_surface *dest, struct ddraw_surface *src)
static HRESULT WINAPI d3d_device7_GetMaterial_FPUPreserve(IDirect3DDevice7 *iface, D3DMATERIAL7 *material)
static HRESULT WINAPI d3d_device7_PreLoad_FPUPreserve(IDirect3DDevice7 *iface, IDirectDrawSurface7 *texture)
static HRESULT WINAPI d3d_device3_NextViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *Viewport3, IDirect3DViewport3 **lplpDirect3DViewport3, DWORD flags)
static HRESULT WINAPI d3d_device3_DrawPrimitiveStrided(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE PrimitiveType, DWORD VertexType, D3DDRAWPRIMITIVESTRIDEDDATA *D3DDrawPrimStrideData, DWORD VertexCount, DWORD Flags)
static HRESULT WINAPI d3d_device7_BeginStateBlock_FPUSetup(IDirect3DDevice7 *iface)
static void compute_sphere_visibility(const struct wined3d_vec4 *planes, DWORD enabled_planes, BOOL equality, const D3DVECTOR *centres, const D3DVALUE *radii, unsigned int sphere_count, DWORD *return_values)
static HRESULT WINAPI d3d_device7_EndStateBlock_FPUSetup(IDirect3DDevice7 *iface, DWORD *stateblock)
static HRESULT WINAPI d3d_device2_GetDirect3D(IDirect3DDevice2 *iface, IDirect3D2 **d3d)
static HRESULT d3d_device7_SetMaterial(IDirect3DDevice7 *iface, D3DMATERIAL7 *material)
static HRESULT WINAPI d3d_device1_GetCaps(IDirect3DDevice *iface, D3DDEVICEDESC *hw_desc, D3DDEVICEDESC *hel_desc)
static HRESULT WINAPI d3d_device7_SetMaterial_FPUPreserve(IDirect3DDevice7 *iface, D3DMATERIAL7 *material)
static HRESULT WINAPI d3d_device3_GetRenderTarget(IDirect3DDevice3 *iface, IDirectDrawSurface4 **RenderTarget)
static HRESULT WINAPI d3d_device3_SetTexture(IDirect3DDevice3 *iface, DWORD stage, IDirect3DTexture2 *texture)
static HRESULT d3d_device7_CreateStateBlock(IDirect3DDevice7 *iface, D3DSTATEBLOCKTYPE type, DWORD *stateblock)
static HRESULT WINAPI d3d_device7_SetTexture_FPUPreserve(IDirect3DDevice7 *iface, DWORD stage, IDirectDrawSurface7 *texture)
static HRESULT WINAPI d3d_device2_GetStats(IDirect3DDevice2 *iface, D3DSTATS *stats)
static HRESULT WINAPI d3d_device7_LightEnable_FPUSetup(IDirect3DDevice7 *iface, DWORD light_idx, BOOL enabled)
static HRESULT WINAPI d3d_device2_SwapTextureHandles(IDirect3DDevice2 *iface, IDirect3DTexture2 *tex1, IDirect3DTexture2 *tex2)
static HRESULT WINAPI d3d_device3_Vertex(IDirect3DDevice3 *iface, void *vertex)
static HRESULT WINAPI d3d_device7_Load_FPUPreserve(IDirect3DDevice7 *iface, IDirectDrawSurface7 *dst_texture, POINT *dst_pos, IDirectDrawSurface7 *src_texture, RECT *src_rect, DWORD flags)
static HRESULT WINAPI d3d_device7_QueryInterface(IDirect3DDevice7 *iface, REFIID riid, void **out)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d_device3_EndScene(IDirect3DDevice3 *iface)
struct d3d_device * unsafe_impl_from_IDirect3DDevice3(IDirect3DDevice3 *iface)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d_device1_EndScene(IDirect3DDevice *iface)
static HRESULT WINAPI d3d_device7_CaptureStateBlock_FPUSetup(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device3_SetClipStatus(IDirect3DDevice3 *iface, D3DCLIPSTATUS *clip_status)
static HRESULT WINAPI d3d_device7_DeleteStateBlock_FPUPreserve(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device7_SetRenderState_FPUSetup(IDirect3DDevice7 *iface, D3DRENDERSTATETYPE state, DWORD value)
static HRESULT WINAPI d3d_device7_PreLoad_FPUSetup(IDirect3DDevice7 *iface, IDirectDrawSurface7 *texture)
static HRESULT d3d_device7_SetTransform(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device3_BeginIndexed(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, DWORD flags)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d_device2_EndScene(IDirect3DDevice2 *iface)
static HRESULT WINAPI d3d_device7_DrawIndexedPrimitiveStrided_FPUSetup(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, DWORD VertexType, D3DDRAWPRIMITIVESTRIDEDDATA *D3DDrawPrimStrideData, DWORD VertexCount, WORD *Indices, DWORD IndexCount, DWORD Flags)
static void set_fpu_control_word(WORD fpucw)
static HRESULT WINAPI d3d_device1_Initialize(IDirect3DDevice *iface, IDirect3D *d3d, GUID *guid, D3DDEVICEDESC *device_desc)
static HRESULT d3d_device7_Clear(IDirect3DDevice7 *iface, DWORD count, D3DRECT *rects, DWORD flags, D3DCOLOR color, D3DVALUE z, DWORD stencil)
static ULONG WINAPI d3d_device7_Release(IDirect3DDevice7 *iface)
static HRESULT WINAPI d3d_device7_SetTransform_FPUPreserve(IDirect3DDevice7 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device7_CaptureStateBlock_FPUPreserve(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device1_BeginScene(IDirect3DDevice *iface)
static HRESULT d3d_device7_SetLight(IDirect3DDevice7 *iface, DWORD light_idx, D3DLIGHT7 *light)
static HRESULT WINAPI d3d_device7_GetViewport_FPUSetup(IDirect3DDevice7 *iface, D3DVIEWPORT7 *viewport)
static HRESULT WINAPI d3d_device7_DrawPrimitiveStrided_FPUSetup(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE PrimitiveType, DWORD VertexType, D3DDRAWPRIMITIVESTRIDEDDATA *D3DDrawPrimStrideData, DWORD VertexCount, DWORD Flags)
static HRESULT WINAPI d3d_device2_MultiplyTransform(IDirect3DDevice2 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d_device2_GetRenderTarget(IDirect3DDevice2 *iface, IDirectDrawSurface **RenderTarget)
static HRESULT WINAPI d3d_device1_DeleteMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE D3DMatHandle)
static HRESULT d3d_device7_Load(IDirect3DDevice7 *iface, IDirectDrawSurface7 *dst_texture, POINT *dst_pos, IDirectDrawSurface7 *src_texture, RECT *src_rect, DWORD flags)
static HRESULT d3d_device7_GetCaps(IDirect3DDevice7 *iface, D3DDEVICEDESC7 *device_desc)
static HRESULT WINAPI d3d_device7_DeleteStateBlock_FPUSetup(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device7_SetLight_FPUSetup(IDirect3DDevice7 *iface, DWORD light_idx, D3DLIGHT7 *light)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d_device7_EndScene_FPUPreserve(IDirect3DDevice7 *iface)
static HRESULT WINAPI d3d_device7_SetRenderTarget_FPUSetup(IDirect3DDevice7 *iface, IDirectDrawSurface7 *NewTarget, DWORD flags)
static HRESULT WINAPI d3d_device2_GetRenderState(IDirect3DDevice2 *iface, D3DRENDERSTATETYPE state, DWORD *value)
static ULONG WINAPI d3d_device7_AddRef(IDirect3DDevice7 *iface)
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)
static HRESULT d3d_device7_GetLightEnable(IDirect3DDevice7 *iface, DWORD light_idx, BOOL *enabled)
static HRESULT d3d_device7_ApplyStateBlock(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT WINAPI d3d_device7_ValidateDevice_FPUSetup(IDirect3DDevice7 *iface, DWORD *pass_count)
static const struct IDirect3DDevice7Vtbl d3d_device7_fpu_setup_vtbl
static HRESULT WINAPI d3d_device3_GetDirect3D(IDirect3DDevice3 *iface, IDirect3D3 **d3d)
static const struct IDirect3DDevice3Vtbl d3d_device3_vtbl
static HRESULT WINAPI d3d_device2_DrawPrimitive(IDirect3DDevice2 *iface, D3DPRIMITIVETYPE primitive_type, D3DVERTEXTYPE vertex_type, void *vertices, DWORD vertex_count, DWORD flags)
static HRESULT WINAPI d3d_device3_Index(IDirect3DDevice3 *iface, WORD index)
static HRESULT WINAPI d3d_device3_MultiplyTransform(IDirect3DDevice3 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static void copy_mipmap_chain(struct d3d_device *device, struct ddraw_surface *dst, struct ddraw_surface *src, const POINT *DestPoint, const RECT *SrcRect)
static HRESULT d3d_device7_DrawIndexedPrimitiveVB(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, IDirect3DVertexBuffer7 *vb, DWORD start_vertex, DWORD vertex_count, WORD *indices, DWORD index_count, DWORD flags)
static HRESULT WINAPI d3d_device3_SetCurrentViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *viewport)
const GUID IID_D3DDEVICE_WineD3D
static HRESULT WINAPI d3d_device7_SetTextureStageState_FPUPreserve(IDirect3DDevice7 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD value)
static HRESULT d3d_device7_DrawPrimitive(IDirect3DDevice7 *iface, D3DPRIMITIVETYPE primitive_type, DWORD fvf, void *vertices, DWORD vertex_count, DWORD flags)
static HRESULT d3d_device7_GetTextureStageState(IDirect3DDevice7 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d_device3_DeleteViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *viewport)
static HRESULT d3d_device7_SetTexture(IDirect3DDevice7 *iface, DWORD stage, IDirectDrawSurface7 *texture)
static ULONG WINAPI d3d_device2_AddRef(IDirect3DDevice2 *iface)
static HRESULT WINAPI d3d_device3_EnumTextureFormats(IDirect3DDevice3 *iface, LPD3DENUMPIXELFORMATSCALLBACK callback, void *context)
HRESULT CDECL wined3d_streaming_buffer_upload(struct wined3d_device *device, struct wined3d_streaming_buffer *buffer, const void *data, unsigned int size, unsigned int stride, unsigned int *ret_pos)
struct wined3d_resource *CDECL wined3d_buffer_get_resource(struct wined3d_buffer *buffer)
void CDECL wined3d_streaming_buffer_unmap(struct wined3d_streaming_buffer *buffer)
HRESULT CDECL wined3d_streaming_buffer_map(struct wined3d_device *device, struct wined3d_streaming_buffer *buffer, unsigned int size, unsigned int stride, unsigned int *ret_pos, void **ret_data)
void CDECL wined3d_device_context_draw(struct wined3d_device_context *context, unsigned int start_vertex, unsigned int vertex_count, unsigned int start_instance, unsigned int instance_count)
void CDECL wined3d_device_context_set_primitive_type(struct wined3d_device_context *context, enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count)
HRESULT CDECL wined3d_device_context_set_rendertarget_views(struct wined3d_device_context *context, unsigned int start_idx, unsigned int count, struct wined3d_rendertarget_view *const *views, BOOL set_viewport)
ULONG CDECL wined3d_device_decref(struct wined3d_device *device)
void CDECL wined3d_device_context_get_scissor_rects(const struct wined3d_device_context *context, unsigned int *rect_count, RECT *rects)
HRESULT CDECL wined3d_device_clear(struct wined3d_device *device, unsigned int rect_count, const RECT *rects, uint32_t flags, const struct wined3d_color *color, float depth, unsigned int stencil)
HRESULT CDECL wined3d_device_end_scene(struct wined3d_device *device)
void CDECL wined3d_device_context_get_viewports(const struct wined3d_device_context *context, unsigned int *viewport_count, struct wined3d_viewport *viewports)
HRESULT CDECL wined3d_device_validate_device(const struct wined3d_device *device, const struct wined3d_stateblock_state *state, DWORD *num_passes)
void CDECL wined3d_device_context_draw_indexed(struct wined3d_device_context *context, int base_vertex_index, unsigned int start_index, unsigned int index_count, unsigned int start_instance, unsigned int instance_count)
ULONG CDECL wined3d_device_incref(struct wined3d_device *device)
HRESULT CDECL wined3d_device_begin_scene(struct wined3d_device *device)
HRESULT CDECL wined3d_device_context_set_depth_stencil_view(struct wined3d_device_context *context, struct wined3d_rendertarget_view *view)
void CDECL wined3d_resource_preload(struct wined3d_resource *resource)
HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
void CDECL wined3d_resource_get_desc(const struct wined3d_resource *resource, struct wined3d_resource_desc *desc)
HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, uint32_t flags)
void *CDECL wined3d_texture_get_parent(const struct wined3d_texture *texture)
HRESULT CDECL wined3d_texture_get_sub_resource_desc(const struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc)
void *CDECL wined3d_texture_get_sub_resource_parent(struct wined3d_texture *texture, unsigned int sub_resource_idx)
struct wined3d_resource *CDECL wined3d_texture_get_resource(struct wined3d_texture *texture)
HRESULT CDECL wined3d_device_context_blt(struct wined3d_device_context *context, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, const RECT *dst_rect, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, const RECT *src_rect, unsigned int flags, const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
void *CDECL wined3d_rendertarget_view_get_parent(const struct wined3d_rendertarget_view *view)
void *CDECL wined3d_rendertarget_view_get_sub_resource_parent(const struct wined3d_rendertarget_view *view)
#define WINE_DECLARE_DEBUG_CHANNEL(x)
static const WCHAR version[]
_ACRTIMP double __cdecl fabs(double)
#define D3DRENDERSTATE_ZBIAS
#define D3DRENDERSTATE_EDGEANTIALIAS
#define D3DTRANSFORMSTATE_WORLD2
#define D3DTRANSFORMSTATE_WORLD1
#define D3DRENDERSTATE_FOGVERTEXMODE
#define D3DRENDERSTATE_COLORVERTEX
#define D3DRENDERSTATE_LIGHTING
#define D3DRENDERSTATE_NORMALIZENORMALS
#define D3DTRANSFORMSTATE_WORLD
#define D3DTRANSFORMSTATE_WORLD3
#define D3DRENDERSTATE_FOGSTART
#define D3DRENDERSTATE_FOGDENSITY
#define D3DTRANSFORMSTATE_PROJECTION
#define D3DRENDERSTATE_AMBIENT
#define D3DRENDERSTATE_LOCALVIEWER
#define D3DRENDERSTATE_CLIPPLANEENABLE
#define D3DRENDERSTATE_FOGEND
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei GLenum const GLvoid * indices
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLsizei GLsizei GLfloat distance
GLint GLfloat GLint stencil
GLfloat GLfloat GLfloat GLfloat h
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 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 GLint GLint j
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 GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
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 memcpy(s1, s2, n)
static IPrintDialogCallback callback
D3D11_SHADER_VARIABLE_DESC desc
static float(__cdecl *square_half_float)(float x
#define IsEqualGUID(rguid1, rguid2)
DWORD IDirectDrawSurface7
BOOL WINAPI IsRectEmpty(_In_ LPCRECT)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tpush %rbx\n" "\t.seh_pushreg %rbx\n" "\tpush %rdi\n" "\t.seh_pushreg %rdi\n" "\tpush %rsi\n" "\t.seh_pushreg %rsi\n" "\tpush %r12\n" "\t.seh_pushreg %r12\n" "\tpush %r13\n" "\t.seh_pushreg %r13\n" "\tpush %r14\n" "\t.seh_pushreg %r14\n" "\tpush %r15\n" "\t.seh_pushreg %r15\n" "\tsub $40, %rsp\n" "\t.seh_stackalloc 40\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $40, %rsp\n" "\tpop %r15\n" "\tpop %r14\n" "\tpop %r13\n" "\tpop %r12\n" "\tpop %rsi\n" "\tpop %rdi\n" "\tpop %rbx\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
static unsigned __int64 next
#define DDSCL_FPUPRESERVE
#define DDSCAPS2_CUBEMAP_NEGATIVEZ
#define DDSCAPS2_CUBEMAP_ALLFACES
#define DDERR_INVALIDPIXELFORMAT
#define DDERR_INVALIDCAPS
#define DDSCAPS2_MIPMAPSUBLEVEL
#define DDCKEY_SRCOVERLAY
#define DDERR_OUTOFMEMORY
#define DDERR_NOPALETTEATTACHED
#define DDERR_INVALIDPARAMS
#define DDSCAPS_VIDEOMEMORY
__WINE_SERVER_LIST_INLINE struct list * list_next(const struct list *list, const struct list *elem)
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
__WINE_SERVER_LIST_INLINE struct list * list_tail(const struct list *list)
DWORD dwVerticesProcessed
DDPIXELFORMAT ddpfPixelFormat
D3DPRIMITIVETYPE primitive_type
IDirect3DDevice3 IDirect3DDevice3_iface
IDirect3DDevice2 IDirect3DDevice2_iface
IDirect3DDevice IDirect3DDevice_iface
IDirect3DDevice7 IDirect3DDevice7_iface
struct wined3d_vertex_declaration * wined3d_declaration
struct wined3d_buffer * wined3d_buffer
IDirect3DVertexBuffer7 IDirect3DVertexBuffer7_iface
struct d3d_device * active_device
IDirect3DViewport3 IDirect3DViewport3_iface
IDirectDrawSurface IDirectDrawSurface_iface
struct wined3d_texture * draw_texture
DDSURFACEDESC2 surface_desc
unsigned int sub_resource_idx
struct ddraw_palette * palette
IDirectDrawSurface7 IDirectDrawSurface7_iface
IDirectDrawSurface4 IDirectDrawSurface4_iface
struct wined3d_texture * wined3d_texture
IDirect3DTexture2 IDirect3DTexture2_iface
struct ddraw_surface * root
struct wined3d_device * wined3d_device
struct wined3d_device_context * immediate_context
struct list d3ddevice_list
enum wined3d_texture_stage_state texture_state
#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_ ULONG _In_ ULONG_PTR ident
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_output_get_display_mode(const struct wined3d_output *output, struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
void CDECL wined3d_stateblock_set_vertex_declaration(struct wined3d_stateblock *stateblock, struct wined3d_vertex_declaration *declaration)
HRESULT CDECL wined3d_stateblock_create(struct wined3d_device *device, const struct wined3d_stateblock *device_state, enum wined3d_stateblock_type type, struct wined3d_stateblock **stateblock)
void CDECL wined3d_stateblock_set_material(struct wined3d_stateblock *stateblock, const struct wined3d_material *material)
void CDECL wined3d_stateblock_set_texture(struct wined3d_stateblock *stateblock, UINT stage, struct wined3d_texture *texture)
void CDECL wined3d_stateblock_init_contained_states(struct wined3d_stateblock *stateblock)
HRESULT CDECL wined3d_stateblock_set_light(struct wined3d_stateblock *stateblock, UINT light_idx, const struct wined3d_light *light)
void CDECL wined3d_stateblock_depth_buffer_changed(struct wined3d_stateblock *stateblock)
HRESULT CDECL wined3d_stateblock_set_clip_plane(struct wined3d_stateblock *stateblock, UINT plane_idx, const struct wined3d_vec4 *plane)
HRESULT CDECL wined3d_stateblock_set_light_enable(struct wined3d_stateblock *stateblock, UINT light_idx, BOOL enable)
void CDECL wined3d_stateblock_primary_dirtify_all_states(struct wined3d_device *device, struct wined3d_stateblock *stateblock)
void CDECL wined3d_stateblock_set_sampler_state(struct wined3d_stateblock *stateblock, UINT sampler_idx, enum wined3d_sampler_state state, unsigned int value)
const struct wined3d_stateblock_state *CDECL wined3d_stateblock_get_state(const struct wined3d_stateblock *stateblock)
ULONG CDECL wined3d_stateblock_decref(struct wined3d_stateblock *stateblock)
void CDECL wined3d_stateblock_set_transform(struct wined3d_stateblock *stateblock, enum wined3d_transform_state d3dts, const struct wined3d_matrix *matrix)
void CDECL wined3d_stateblock_multiply_transform(struct wined3d_stateblock *stateblock, enum wined3d_transform_state d3dts, const struct wined3d_matrix *matrix)
void CDECL wined3d_stateblock_set_index_buffer(struct wined3d_stateblock *stateblock, struct wined3d_buffer *buffer, enum wined3d_format_id format_id)
void CDECL wined3d_stateblock_set_render_state(struct wined3d_stateblock *stateblock, enum wined3d_render_state state, unsigned int value)
void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, struct wined3d_stateblock *device_state)
void CDECL wined3d_stateblock_set_scissor_rect(struct wined3d_stateblock *stateblock, const RECT *rect)
void CDECL wined3d_stateblock_apply_clear_state(struct wined3d_stateblock *stateblock, struct wined3d_device *device)
void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, const struct wined3d_stateblock *device_state)
HRESULT CDECL wined3d_stateblock_set_stream_source(struct wined3d_stateblock *stateblock, UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride)
HRESULT CDECL wined3d_stateblock_get_light(const struct wined3d_stateblock *stateblock, UINT light_idx, struct wined3d_light *light, BOOL *enabled)
void CDECL wined3d_stateblock_set_texture_stage_state(struct wined3d_stateblock *stateblock, UINT stage, enum wined3d_texture_stage_state state, unsigned int value)
void CDECL wined3d_stateblock_set_viewport(struct wined3d_stateblock *stateblock, const struct wined3d_viewport *viewport)
void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, struct wined3d_stateblock *stateblock)
#define WINED3DUSAGE_QUERY_LEGACYBUMPMAP
#define WINED3D_TS_WORLD_MATRIX(index)
@ WINED3D_RS_COLORKEYENABLE
@ WINED3D_RS_ANTIALIASEDLINEENABLE
@ WINED3D_RS_NORMALIZENORMALS
@ WINED3D_RS_SPECULARENABLE
static int wined3d_bit_scan(unsigned int *x)
#define WINED3D_BIND_VERTEX_BUFFER
@ WINED3D_SAMP_MAX_ANISOTROPY
@ WINED3D_SAMP_MIPMAP_LOD_BIAS
@ WINED3D_SAMP_MIN_FILTER
@ WINED3D_SAMP_MIP_FILTER
@ WINED3D_SAMP_MAG_FILTER
@ WINED3D_SAMP_BORDER_COLOR
@ WINED3D_SAMP_MAX_MIP_LEVEL
@ WINED3D_RTYPE_TEXTURE_2D
static void wined3d_streaming_buffer_init(struct wined3d_streaming_buffer *buffer, unsigned int bind_flags)
wined3d_texture_filter_type
@ WINED3D_TEXF_GAUSSIAN_CUBIC
@ WINED3D_TEXF_FLAT_CUBIC
@ WINED3D_TEXF_ANISOTROPIC
wined3d_texture_stage_state
@ WINED3D_TSS_BUMPENV_LOFFSET
@ WINED3D_TSS_BUMPENV_MAT11
@ WINED3D_TSS_BUMPENV_MAT10
@ WINED3D_TSS_TEXCOORD_INDEX
@ WINED3D_TSS_BUMPENV_MAT01
@ WINED3D_TSS_BUMPENV_LSCALE
@ WINED3D_TSS_BUMPENV_MAT00
@ WINED3D_TSS_TEXTURE_TRANSFORM_FLAGS
#define WINED3D_BIND_SHADER_RESOURCE
#define WINED3DTA_CURRENT
@ WINED3DFMT_B2G3R3_UNORM
@ WINED3DFMT_B4G4R4A4_UNORM
@ WINED3DFMT_B8G8R8A8_UNORM
@ WINED3DFMT_R10G11B11_SNORM
@ WINED3DFMT_B8G8R8X8_UNORM
@ WINED3DFMT_B5G5R5X1_UNORM
@ WINED3DFMT_R5G5_SNORM_L6_UNORM
@ WINED3DFMT_B5G5R5A1_UNORM
@ WINED3DFMT_R10G10B10_SNORM_A2_UNORM
@ WINED3DFMT_R8G8_SNORM_L8X8_UNORM
@ WINED3DFMT_B5G6R5_UNORM
@ WINED3D_TOP_SELECT_ARG1
@ WINED3D_TOP_SELECT_ARG2
@ WINED3D_TOP_BLEND_TEXTURE_ALPHA
static bool wined3d_bound_range(unsigned int start, unsigned int count, unsigned int limit)
#define WINED3D_MAX_CLIP_DISTANCES
wined3d_depth_buffer_type
static void wined3d_streaming_buffer_cleanup(struct wined3d_streaming_buffer *buffer)
#define WINED3DERR_INVALIDCALL
@ WINED3D_DEVICE_TYPE_HAL
#define WINED3D_BIND_INDEX_BUFFER
#define WINED3DTA_TEXTURE
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)
#define CLASS_E_NOAGGREGATION