43 { 0xb7,0x98,0xc6,0x8a,0x77,0x2d,0x72,0x2a }
48#if defined(__i386__) && defined(__GNUC__)
49 __asm__ volatile (
"fldcw %0" : :
"m" (fpucw));
50#elif defined(__i386__) && defined(_MSC_VER)
59#if defined(__i386__) && defined(__GNUC__)
60 __asm__ volatile (
"fnstcw %0" :
"=m" (oldcw));
61#elif defined(__i386__) && defined(_MSC_VER)
67 FIXME(
"FPUPRESERVE not implemented for this platform / compiler\n");
147 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
156 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
165 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
174 return IUnknown_QueryInterface(
device->outer_unknown,
riid,
out);
191 TRACE(
"iface %p.\n", iface);
193 return IUnknown_AddRef(
device->outer_unknown);
200 TRACE(
"iface %p.\n", iface);
202 return IUnknown_AddRef(
device->outer_unknown);
209 TRACE(
"iface %p.\n", iface);
211 return IUnknown_AddRef(
device->outer_unknown);
218 TRACE(
"iface %p.\n", iface);
220 return IUnknown_AddRef(
device->outer_unknown);
237 struct list *vp_entry, *vp_entry2;
244 if (
This->index_buffer)
246 if (
This->vertex_buffer)
253 ERR(
"The wined3d device (%p) was destroyed unexpectedly.\n",
This->wined3d_device);
257 for (
i = 0;
i <
This->handle_table.entry_count; ++
i)
269 FIXME(
"Material handle %#x (%p) not unset properly.\n",
i + 1,
m);
277 WARN(
"Leftover matrix handle %#x (%p), deleting.\n",
i + 1,
entry->object);
285 WARN(
"Leftover stateblock handle %#x (%p), deleting.\n",
i + 1,
entry->object);
293 FIXME(
"Texture handle %#x (%p) not unset properly.\n",
i + 1, surf);
299 FIXME(
"Handle %#x (%p) has unknown type %#x.\n",
i + 1,
entry->object,
entry->type);
312 TRACE(
"Releasing render target %p.\n",
This->rt_iface);
313 rt_iface =
This->rt_iface;
315 if (
This->version != 1)
316 IUnknown_Release(rt_iface);
317 TRACE(
"Render target release done.\n");
337 TRACE(
"iface %p.\n", iface);
339 return IUnknown_Release(
device->outer_unknown);
346 TRACE(
"iface %p.\n", iface);
348 return IUnknown_Release(
device->outer_unknown);
355 TRACE(
"iface %p.\n", iface);
357 return IUnknown_Release(
device->outer_unknown);
364 TRACE(
"iface %p.\n", iface);
366 return IUnknown_Release(
device->outer_unknown);
392 FIXME(
"iface %p, d3d %p, guid %s, device_desc %p nop!\n",
402 TRACE(
"iface %p, device_desc %p.\n", iface, device_desc);
406 WARN(
"device_desc is NULL, returning DDERR_INVALIDPARAMS.\n");
477 TRACE(
"iface %p, hw_desc %p, hel_desc %p.\n", iface, HWDesc, HelDesc);
481 WARN(
"HWDesc is NULL, returning DDERR_INVALIDPARAMS.\n");
486 WARN(
"HWDesc->dwSize is %u, returning DDERR_INVALIDPARAMS.\n", HWDesc->
dwSize);
491 WARN(
"HelDesc is NULL, returning DDERR_INVALIDPARAMS.\n");
496 WARN(
"HelDesc->dwSize is %u, returning DDERR_INVALIDPARAMS.\n", HelDesc->
dwSize);
514 TRACE(
"iface %p, hw_desc %p, hel_desc %p.\n", iface, hw_desc, hel_desc);
524 TRACE(
"iface %p, hw_desc %p, hel_desc %p.\n", iface, hw_desc, hel_desc);
542 IDirect3DTexture2 *tex1, IDirect3DTexture2 *tex2)
549 TRACE(
"iface %p, tex1 %p, tex2 %p.\n", iface, tex1, tex2);
555 device->handle_table.entries[h1].object = surf2;
556 device->handle_table.entries[h2].object = surf1;
566 IDirect3DTexture *tex1, IDirect3DTexture *tex2)
574 TRACE(
"iface %p, tex1 %p, tex2 %p.\n", iface, tex1, tex2);
599 FIXME(
"iface %p, stats %p stub!\n", iface, Stats);
618 TRACE(
"iface %p, stats %p.\n", iface, stats);
627 TRACE(
"iface %p, stats %p.\n", iface, stats);
659 TRACE(
"iface %p, buffer_desc %p, buffer %p, outer_unknown %p.\n",
660 iface, buffer_desc, ExecuteBuffer, outer_unknown);
666 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
668 ERR(
"Failed to allocate execute buffer memory.\n");
675 WARN(
"Failed to initialize execute buffer, hr %#x.\n",
hr);
680 *ExecuteBuffer = &
object->IDirect3DExecuteBuffer_iface;
682 TRACE(
" Returning IDirect3DExecuteBuffer at %p, implementation is at %p\n", *ExecuteBuffer,
object);
703 IDirect3DExecuteBuffer *ExecuteBuffer, IDirect3DViewport *viewport,
DWORD flags)
710 TRACE(
"iface %p, buffer %p, viewport %p, flags %#x.\n", iface, ExecuteBuffer, viewport,
flags);
745 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
762 IDirect3DViewport2 *viewport)
767 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
777 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
803 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
807 WARN(
"NULL viewport, returning DDERR_INVALIDPARAMS\n");
820 if (
device->current_viewport == vp)
822 TRACE(
"Deleting current viewport, unsetting and releasing\n");
842 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
853 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
878 IDirect3DViewport3 *Viewport3, IDirect3DViewport3 **lplpDirect3DViewport3,
DWORD flags)
885 TRACE(
"iface %p, viewport %p, next %p, flags %#x.\n",
886 iface, Viewport3, lplpDirect3DViewport3,
flags);
890 *lplpDirect3DViewport3 =
NULL;
912 *lplpDirect3DViewport3 =
NULL;
920 *lplpDirect3DViewport3 = &
next->IDirect3DViewport3_iface;
923 *lplpDirect3DViewport3 =
NULL;
931 IDirect3DViewport2 *viewport, IDirect3DViewport2 **
next,
DWORD flags)
935 IDirect3DViewport3 *
res;
938 TRACE(
"iface %p, viewport %p, next %p, flags %#x.\n",
943 *
next = (IDirect3DViewport2 *)
res;
948 IDirect3DViewport *viewport, IDirect3DViewport **
next,
DWORD flags)
952 IDirect3DViewport3 *
res;
955 TRACE(
"iface %p, viewport %p, next %p, flags %#x.\n",
960 *
next = (IDirect3DViewport *)
res;
988 FIXME(
"iface %p, buffer %p, viewport %p, flags %#x, rect %s stub!\n",
1013 FIXME(
"iface %p, count %p, records %p stub!\n", iface,
count, records);
1085 WARN(
"Cannot get the current adapter format\n");
1096 memset(&pformat, 0,
sizeof(pformat));
1097 pformat.
dwSize =
sizeof(pformat);
1100 TRACE(
"Enumerating WineD3DFormat %d\n", FormatList[
i]);
1104 TRACE(
"Format enumeration cancelled by application\n");
1119 memset(&pformat, 0,
sizeof(pformat));
1120 pformat.
dwSize =
sizeof(pformat);
1123 TRACE(
"Enumerating WineD3DFormat %d\n", BumpFormatList[
i]);
1127 TRACE(
"Format enumeration cancelled by application\n");
1133 TRACE(
"End of enumeration\n");
1213 WARN(
"Cannot get the current adapter format\n");
1224 memset(&sdesc, 0,
sizeof(sdesc));
1225 sdesc.dwSize =
sizeof(sdesc);
1228 sdesc.ddpfPixelFormat.dwSize =
sizeof(sdesc.ddpfPixelFormat);
1231 TRACE(
"Enumerating WineD3DFormat %d\n", FormatList[
i]);
1235 TRACE(
"Format enumeration cancelled by application\n");
1241 TRACE(
"End of enumeration\n");
1279 TRACE(
"iface %p, matrix_handle %p.\n", iface, D3DMatHandle);
1286 ERR(
"Out of memory when allocating a D3DMATRIX\n");
1295 ERR(
"Failed to allocate a matrix handle.\n");
1301 *D3DMatHandle =
h + 1;
1303 TRACE(
" returning matrix handle %d\n", *D3DMatHandle);
1334 TRACE(
"iface %p, matrix_handle %#x, matrix %p.\n", iface, D3DMatHandle, D3DMatrix);
1343 WARN(
"Invalid matrix handle.\n");
1353 if (D3DMatHandle ==
This->world)
1357 if (D3DMatHandle ==
This->view)
1361 if (D3DMatHandle ==
This->proj)
1392 TRACE(
"iface %p, matrix_handle %#x, matrix %p.\n", iface, D3DMatHandle, D3DMatrix);
1401 WARN(
"Invalid matrix handle.\n");
1433 TRACE(
"iface %p, matrix_handle %#x.\n", iface, D3DMatHandle);
1440 WARN(
"Invalid matrix handle.\n");
1471 TRACE(
"iface %p.\n", iface);
1502 TRACE(
"iface %p.\n", iface);
1511 TRACE(
"iface %p.\n", iface);
1520 TRACE(
"iface %p.\n", iface);
1544 TRACE(
"iface %p.\n", iface);
1575 TRACE(
"iface %p.\n", iface);
1584 TRACE(
"iface %p.\n", iface);
1593 TRACE(
"iface %p.\n", iface);
1616 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1621 *d3d = &
device->ddraw->IDirect3D7_iface;
1624 TRACE(
"Returning interface %p.\n", *d3d);
1632 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1637 *d3d = &
device->ddraw->IDirect3D3_iface;
1640 TRACE(
"Returning interface %p.\n", *d3d);
1648 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1653 *d3d = &
device->ddraw->IDirect3D2_iface;
1656 TRACE(
"Returning interface %p.\n", *d3d);
1664 TRACE(
"iface %p, d3d %p.\n", iface, d3d);
1669 *d3d = &
device->ddraw->IDirect3D_iface;
1672 TRACE(
"Returning interface %p.\n", *d3d);
1697 TRACE(
"iface %p, viewport %p.\n", iface, Direct3DViewport3);
1701 WARN(
"Direct3DViewport3 is NULL, returning DDERR_INVALIDPARAMS\n");
1707 if (
This->current_viewport == vp)
1721 if (
This->current_viewport)
1723 TRACE(
"ViewportImpl is at %p, interface is at %p\n",
This->current_viewport,
1724 &
This->current_viewport->IDirect3DViewport3_iface);
1730 This->current_viewport = vp;
1745 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1770 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1773 if (!
device->current_viewport)
1776 WARN(
"No current viewport, returning D3DERR_NOCURRENTVIEWPORT\n");
1780 *viewport = &
device->current_viewport->IDirect3DViewport3_iface;
1783 TRACE(
"Returning interface %p.\n", *viewport);
1792 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1795 (IDirect3DViewport3 **)viewport);
1811 TRACE(
"No-op SetRenderTarget operation, not doing anything\n");
1816 WARN(
"Trying to set render target to NULL.\n");
1825 IUnknown_Release(
device->rt_iface);
1845 WARN(
"Surface %p has an indexed pixel format, but no palette.\n", target_impl);
1852 WARN(
"Surface %p is not a render target.\n", target_impl);
1859 WARN(
"Surface %p is not in video memory.\n", target_impl);
1866 WARN(
"Surface %p is a depth buffer.\n", target_impl);
1867 IDirectDrawSurface7_AddRef(
target);
1868 IUnknown_Release(
device->rt_iface);
1911 WARN(
"Surface %p has an indexed pixel format, but no palette.\n", target_impl);
1918 WARN(
"Surface %p is not a render target.\n", target_impl);
1925 WARN(
"Surface %p is a depth buffer.\n", target_impl);
1926 IDirectDrawSurface4_AddRef(
target);
1927 IUnknown_Release(
device->rt_iface);
1935 WARN(
"Surface %p is not in video memory.\n", target_impl);
1936 IDirectDrawSurface4_AddRef(
target);
1937 IUnknown_Release(
device->rt_iface);
1961 WARN(
"Surface %p has an indexed pixel format, but no palette.\n", target_impl);
1968 WARN(
"Surface %p is not a render target.\n", target_impl);
1975 WARN(
"Surface %p is a depth buffer.\n", target_impl);
1976 IUnknown_Release(
device->rt_iface);
1984 WARN(
"Surface %p is not in video memory.\n", target_impl);
1985 IDirectDrawSurface_AddRef(
target);
1986 IUnknown_Release(
device->rt_iface);
2019 TRACE(
"iface %p, target %p.\n", iface, RenderTarget);
2025 hr = IUnknown_QueryInterface(
device->rt_iface, &IID_IDirectDrawSurface7, (
void **)RenderTarget);
2038 TRACE(
"iface %p, target %p.\n", iface, RenderTarget);
2047 IDirectDrawSurface4_AddRef(*RenderTarget);
2048 IDirectDrawSurface7_Release(RenderTarget7);
2059 TRACE(
"iface %p, target %p.\n", iface, RenderTarget);
2068 IDirectDrawSurface_AddRef(*RenderTarget);
2069 IDirectDrawSurface7_Release(RenderTarget7);
2096 TRACE(
"iface %p, primitive_type %#x, fvf %#x, flags %#x.\n",
2101 device->vertex_type = fvf;
2116 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, flags %#x.\n",
2155 FIXME(
"iface %p, primitive_type %#x, fvf %#x, vertices %p, vertex_count %u, flags %#x stub!\n",
2169 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, vertices %p, vertex_count %u, flags %#x stub!\n",
2218 old_buffer =
device->sysmem_vertex_buffer;
2257 FIXME(
"iface %p, index %#x stub!\n", iface,
index);
2266 TRACE(
"iface %p, index %#x.\n", iface,
index);
2316 ERR(
"Unhandled texture mag %d !\n",tex_mag);
2344 ERR(
"Unhandled mip filter %#x.\n", tex_mip);
2362 ERR(
"Unhandled mip filter %#x.\n", tex_mip);
2368 ERR(
"Unhandled texture min filter %#x.\n",tex_min);
2384 FIXME(
"Unhandled render state D3DRENDERSTATE_BORDERCOLOR.\n");
2390 WARN(
"Render state %#x is invalid in d3d7.\n",
state);
2402 FIXME(
"Unhandled stipple pattern render state (%#x).\n",
state);
2466 DWORD colorop, colorarg1, colorarg2;
2467 DWORD alphaop, alphaarg1, alphaarg2;
2503 ddfmt.
dwSize =
sizeof(ddfmt);
2513 ERR(
"Unexpected texture stage state setup, returning D3DTBLEND_MODULATE - likely erroneous.\n");
2526 *
value = 0xffffffff;
2600 FIXME(
"Unhandled texture mag %#x.\n",
value);
2670 FIXME(
"Unhandled render state D3DRENDERSTATE_BORDERCOLOR.\n");
2676 WARN(
"Render state %#x is invalid in d3d7.\n",
state);
2688 FIXME(
"Unhandled stipple pattern render state (%#x).\n",
state);
2770 WARN(
"Invalid texture handle.\n");
2796 ddfmt.
dwSize =
sizeof(ddfmt);
2875 FIXME(
"Unhandled texture environment %#x.\n",
value);
2935 TRACE(
"Unexpected Light State Type\n");
2948 WARN(
"Invalid material handle.\n");
2963 ERR(
"DDCOLOR_MONO should not happen!\n");
2967 TRACE(
"Setting color model to RGB (no-op).\n");
2970 ERR(
"Unknown color model!\n");
2999 FIXME(
"Unhandled D3DLIGHTSTATETYPE %#x.\n",
state);
3051 TRACE(
"Unexpected Light State Type\n");
3091 FIXME(
"Unhandled D3DLIGHTSTATETYPE %#x.\n",
state);
3418 device->legacy_projection = tmp;
3463 if (
device->vertex_buffer_size < min_size || !
device->vertex_buffer)
3469 TRACE(
"Growing vertex buffer to %u bytes\n",
size);
3475 desc.misc_flags = 0;
3476 desc.structure_byte_stride = 0;
3481 ERR(
"Failed to create vertex buffer, hr %#x.\n",
hr);
3485 if (
device->vertex_buffer)
3490 device->vertex_buffer_pos = 0;
3506 TRACE(
"iface %p, primitive_type %#x, fvf %#x, vertices %p, vertex_count %u, flags %#x.\n",
3511 WARN(
"0 vertex count.\n");
3524 vb_pos =
device->vertex_buffer_pos;
3594 TRACE(
"iface %p, primitive_type %#x, fvf %#x, vertices %p, vertex_count %u, flags %#x.\n",
3610 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, vertices %p, vertex_count %u, flags %#x.\n",
3655 if (
device->index_buffer_size < min_size || !
device->index_buffer)
3661 TRACE(
"Growing index buffer to %u bytes\n",
size);
3667 desc.misc_flags = 0;
3668 desc.structure_byte_stride = 0;
3673 ERR(
"Failed to create index buffer, hr %#x.\n",
hr);
3677 if (
device->index_buffer)
3681 device->index_buffer_pos = 0;
3699 TRACE(
"iface %p, primitive_type %#x, fvf %#x, vertices %p, vertex_count %u, "
3700 "indices %p, index_count %u, flags %#x.\n",
3705 WARN(
"0 vertex or index count.\n");
3716 vb_pos =
device->vertex_buffer_pos;
3719 if (vb_pos + vtx_size +
align >
device->vertex_buffer_size)
3732 device->vertex_buffer_pos = vb_pos + vtx_size;
3737 ib_pos =
device->index_buffer_pos;
3738 if (
device->index_buffer_size - idx_size < ib_pos)
3749 device->index_buffer_pos = ib_pos + idx_size;
3795 TRACE(
"iface %p, primitive_type %#x, fvf %#x, vertices %p, vertex_count %u, "
3796 "indices %p, index_count %u, flags %#x.\n",
3812 TRACE(
"iface %p, primitive_type %#x, vertex_type %#x, vertices %p, vertex_count %u, "
3813 "indices %p, index_count %u, flags %#x.\n",
3852 TRACE(
"iface %p, flags %#x.\n", iface,
flags);
3862 TRACE(
"iface %p, flags %#x.\n", iface,
flags);
3885 FIXME(
"iface %p, clip_status %p stub!\n", iface, clip_status);
3894 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3903 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3922 FIXME(
"iface %p, clip_status %p stub!\n", iface, clip_status);
3931 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
3940 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
4014 offset =
i *
src->textureCoords[tex].dwStride;
4016 dst += attrib_count *
sizeof(
float);
4033 TRACE(
"iface %p, primitive_type %#x, fvf %#x, strided_data %p, vertex_count %u, flags %#x.\n",
4038 WARN(
"0 vertex count.\n");
4047 vb_pos =
device->vertex_buffer_pos;
4048 align = vb_pos % dst_stride;
4050 if (vb_pos + dst_size +
align >
device->vertex_buffer_size)
4063 device->vertex_buffer_pos = vb_pos + dst_size;
4083 VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4095 VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4107 TRACE(
"iface %p, primitive_type %#x, FVF %#x, strided_data %p, vertex_count %u, flags %#x.\n",
4108 iface, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4113 PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount,
Flags);
4139 UINT idx_size = index_count *
sizeof(
WORD);
4147 TRACE(
"iface %p, primitive_type %#x, fvf %#x, strided_data %p, "
4148 "vertex_count %u, indices %p, index_count %u, flags %#x.\n",
4153 WARN(
"0 vertex or index count.\n");
4163 vb_pos =
device->vertex_buffer_pos;
4164 align = vb_pos % vtx_dst_stride;
4166 if (vb_pos + vtx_dst_size +
align >
device->vertex_buffer_size)
4179 device->vertex_buffer_pos = vb_pos + vtx_dst_size;
4184 ib_pos =
device->index_buffer_pos;
4185 if (
device->index_buffer_size - idx_size < ib_pos)
4196 device->index_buffer_pos = ib_pos + idx_size;
4219 D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4232 D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4245 TRACE(
"iface %p, primitive_type %#x, FVF %#x, strided_data %p, vertex_count %u, indices %p, index_count %u, flags %#x.\n",
4246 iface, PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4251 PrimitiveType, VertexType, D3DDrawPrimStrideData, VertexCount, Indices, IndexCount,
Flags);
4281 TRACE(
"iface %p, primitive_type %#x, vb %p, start_vertex %u, vertex_count %u, flags %#x.\n",
4286 WARN(
"0 vertex count.\n");
4297 WARN(
"Failed to set stream source, hr %#x.\n",
hr);
4336 TRACE(
"iface %p, primitive_type %#x, vb %p, start_vertex %u, vertex_count %u, flags %#x.\n",
4337 iface, PrimitiveType, D3DVertexBuf, StartVertex, NumVertices,
Flags);
4375 TRACE(
"iface %p, primitive_type %#x, vb %p, start_vertex %u, "
4376 "vertex_count %u, indices %p, index_count %u, flags %#x.\n",
4381 WARN(
"0 vertex or index count.\n");
4402 ib_pos =
device->index_buffer_pos;
4404 if (
device->index_buffer_size - index_count *
sizeof(
WORD) < ib_pos)
4414 ERR(
"Failed to map buffer, hr %#x.\n",
hr);
4420 device->index_buffer_pos = ib_pos + index_count *
sizeof(
WORD);
4430 ERR(
"(%p) IDirect3DDevice::SetStreamSource failed with hr = %08x\n",
device,
hr);
4448 D3DVertexBuf, StartVertex, NumVertices, Indices, IndexCount,
Flags);
4460 D3DVertexBuf, StartVertex, NumVertices, Indices, IndexCount,
Flags);
4473 TRACE(
"iface %p, primitive_type %#x, vb %p, indices %p, index_count %u, flags %#x.\n",
4474 iface, PrimitiveType, D3DVertexBuf, Indices, IndexCount,
Flags);
4594 for (
i = 0;
i < sphere_count; ++
i)
4596 return_values[
i] = 0;
4597 for (
j = 0;
j < 12; ++
j)
4598 if (enabled_planes & 1u <<
j)
4607 DWORD enabled_planes = 0x3f;
4608 DWORD user_clip_planes;
4611 TRACE(
"iface %p, centers %p, radii %p, sphere_count %u, flags %#x, return_values %p.\n",
4612 iface, centers, radii, sphere_count,
flags, return_values);
4617 enabled_planes |= user_clip_planes << 6;
4618 for (
j = 6;
j < 12; ++
j)
4628 static const DWORD enabled_planes = 0x3f;
4632 TRACE(
"iface %p, centers %p, radii %p, sphere_count %u, flags %#x, return_values %p.\n",
4633 iface, centers, radii, sphere_count,
flags, return_values);
4638 for (
i = 0;
i < sphere_count; ++
i)
4641 DWORD d3d7_result = return_values[
i];
4643 return_values[
i] = 0;
4645 for (
j = 0;
j < 6; ++
j)
4652 intersect_frustum =
TRUE;
4657 outside_frustum =
TRUE;
4660 if (outside_frustum)
4662 else if (intersect_frustum)
4693 TRACE(
"iface %p, stage %u, texture %p.\n", iface, stage,
texture);
4708 IDirectDrawSurface7_AddRef(*
texture);
4740 TRACE(
"iface %p, stage %u, texture %p.\n", iface, stage, Texture2);
4747 TRACE(
"Returning texture %p.\n", *Texture2);
4775 TRACE(
"iface %p, stage %u, texture %p.\n", iface, stage,
texture);
4814 TRACE(
"iface %p, stage %u, texture %p.\n", iface, stage,
texture);
4818 if (
device->legacyTextureBlending)
4836 ddfmt.
dwSize =
sizeof(ddfmt);
4917 TRACE(
"iface %p, stage %u, state %#x, value %p.\n",
4925 WARN(
"Invalid state %#x passed.\n",
state);
4933 if (
l->sampler_state)
4954 ERR(
"Unexpected mipfilter value %#x.\n", *
value);
4982 ERR(
"Unexpected wined3d mag filter value %#x.\n", *
value);
5027 TRACE(
"iface %p, stage %u, state %#x, value %p.\n",
5056 TRACE(
"iface %p, stage %u, state %#x, value %#x.\n",
5061 WARN(
"Invalid state %#x passed.\n",
state);
5069 if (
l->sampler_state)
5089 ERR(
"Unexpected mipfilter value %#x.\n",
value);
5117 ERR(
"Unexpected d3d7 mag filter value %#x.\n",
value);
5168 TRACE(
"iface %p, stage %u, state %#x, value %#x.\n",
5196 TRACE(
"iface %p, pass_count %p.\n", iface, pass_count);
5226 TRACE(
"iface %p, pass_count %p.\n", iface, pass_count);
5256 ((
color >> 16) & 0xff) / 255.0f,
5257 ((
color >> 8) & 0xff) / 255.0f,
5258 (
color & 0xff) / 255.0f,
5259 ((
color >> 24) & 0xff) / 255.0f,
5264 TRACE(
"iface %p, count %u, rects %p, flags %#x, color 0x%08x, z %.8e, stencil %#x.\n",
5267 if (
count && !rects)
5269 WARN(
"count %u with NULL rects.\n",
count);
5320 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
5325 vp.
x = viewport->
dwX;
5326 vp.
y = viewport->
dwY;
5376 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
5527 TRACE(
"iface %p, light_idx %u, light %p.\n", iface, light_idx,
light);
5572 TRACE(
"iface %p, light_idx %u, light %p.\n", iface, light_idx,
light);
5616 TRACE(
"iface %p.\n", iface);
5665 TRACE(
"iface %p, stateblock %p.\n", iface, stateblock);
5675 WARN(
"Failed to end stateblock, hr %#x.\n",
hr);
5684 ERR(
"Failed to allocate a stateblock handle.\n");
5692 *stateblock =
h + 1;
5781 TRACE(
"iface %p, stateblock %#x.\n", iface, stateblock);
5787 WARN(
"Invalid stateblock handle.\n");
5835 TRACE(
"iface %p, stateblock %#x.\n", iface, stateblock);
5841 WARN(
"Invalid stateblock handle.\n");
5890 TRACE(
"iface %p, stateblock %#x.\n", iface, stateblock);
5897 WARN(
"Invalid stateblock handle.\n");
5904 ERR(
"Something is still holding stateblock %p (refcount %u).\n", wined3d_sb,
ref);
5953 TRACE(
"iface %p, type %#x, stateblock %p.\n", iface,
type, stateblock);
5962 WARN(
"Unexpected stateblock type, returning DDERR_INVALIDPARAMS\n");
5972 WARN(
"Failed to create stateblock, hr %#x.\n",
hr);
5980 ERR(
"Failed to allocate stateblock handle.\n");
5986 *stateblock =
h + 1;
6027 for (;src_level && dest_level;)
6055 return !dest_level && levelFound;
6067 IDirectDrawPalette *pal =
NULL, *pal_src =
NULL;
6072 IDirectDrawSurface7_GetPalette(&
src->IDirectDrawSurface7_iface, &pal_src);
6073 IDirectDrawSurface7_GetPalette(&
dst->IDirectDrawSurface7_iface, &pal);
6075 if (pal_src !=
NULL && pal !=
NULL)
6079 IDirectDrawPalette_GetEntries(pal_src, 0, 0, 256, palent);
6080 IDirectDrawPalette_SetEntries(pal, 0, 0, 256, palent);
6083 if (pal) IDirectDrawPalette_Release(pal);
6084 if (pal_src) IDirectDrawPalette_Release(pal_src);
6089 hr = IDirectDrawSurface7_GetColorKey(&
src->IDirectDrawSurface7_iface, ckeyflag, &ddckey);
6093 IDirectDrawSurface7_SetColorKey(&
dst->IDirectDrawSurface7_iface, ckeyflag, &ddckey);
6101 src_rect = *SrcRect;
6103 for (;src_level && dst_level;)
6114 ERR(
"Blit failed, hr %#x.\n",
hr);
6120 if (dst_level !=
dst)
6143 if (src_level && src_level !=
src)
6145 if (dst_level && dst_level !=
dst)
6182 TRACE(
"iface %p, dst_texture %p, dst_pos %s, src_texture %p, src_rect %s, flags %#x.\n",
6191 SetRect(&srcrect, 0, 0,
src->surface_desc.dwWidth,
src->surface_desc.dwHeight);
6193 srcrect = *src_rect;
6196 destpoint.
x = destpoint.
y = 0;
6198 destpoint = *dst_pos;
6206 srcrect.
bottom >
src->surface_desc.dwHeight ||
6207 destpoint.
x + srcrect.
right - srcrect.
left >
src->surface_desc.dwWidth ||
6208 destpoint.
y + srcrect.
bottom - srcrect.
top >
src->surface_desc.dwHeight ||
6209 dest->surface_desc.dwWidth >
src->surface_desc.dwWidth ||
6210 dest->surface_desc.dwHeight >
src->surface_desc.dwHeight)
6227 DWORD src_face_flag, dest_face_flag;
6240 for (
i = 0;
i < 2;
i++)
6245 for (;dest_face && src_face;)
6250 if (src_face_flag == dest_face_flag)
6261 else if (
flags & dest_face_flag)
6270 IDirectDrawSurface7_GetAttachedSurface(&
src->IDirectDrawSurface7_iface, &ddsd.
ddsCaps, &
temp);
6272 if (src_face !=
src) IDirectDrawSurface7_Release(&src_face->IDirectDrawSurface7_iface);
6278 if (src_face !=
src) IDirectDrawSurface7_Release(&src_face->IDirectDrawSurface7_iface);
6288 IDirectDrawSurface7_GetAttachedSurface(&
dest->IDirectDrawSurface7_iface, &ddsd.
ddsCaps, &
temp);
6377 TRACE(
"iface %p, light_idx %u, enabled %#x.\n", iface, light_idx,
enabled);
6424 TRACE(
"iface %p, light_idx %u, enabled %p.\n", iface, light_idx,
enabled);
6486 device->user_clip_planes[
idx] = *wined3d_plane;
6489 WARN(
"Clip plane %u is not supported.\n",
idx);
6546 WARN(
"Clip plane %u is not supported.\n",
idx);
6547 *wined3d_plane =
device->user_clip_planes[
idx];
6590 TRACE(
"iface %p, info_id %#x, info %p, info_size %u.\n",
6591 iface, info_id,
info, info_size);
6595 TRACE(
" info requested : ");
6852 if (!iface)
return NULL;
6859 if (!iface)
return NULL;
6866 if (!iface)
return NULL;
6873 if (!iface)
return NULL;
6886 &IID_IDirectDrawSurface7, (
void **)&render_target)))
6888 IDirectDrawSurface7_GetAttachedSurface(render_target, &depthcaps, &depthStencil);
6889 IDirectDrawSurface7_Release(render_target);
6893 TRACE(
"Setting wined3d depth stencil to NULL\n");
6902 IDirectDrawSurface7_Release(depthStencil);
6911 1.0f, 0.0f, 0.0f, 0.0f,
6912 0.0f, 1.0f, 0.0f, 0.0f,
6913 0.0f, 0.0f, 1.0f, 0.0f,
6914 0.0f, 0.0f, 0.0f, 1.0f,
6932 device->outer_unknown = outer_unknown;
6941 ERR(
"Failed to initialize handle table.\n");
6957 ERR(
"Failed to set render target, hr %#x.\n",
hr);
6962 device->rt_iface = rt_iface;
6964 IUnknown_AddRef(
device->rt_iface);
6987 TRACE(
"ddraw %p, guid %s, target %p, version %u, device %p, outer_unknown %p.\n",
6996 WARN(
"Surface %p is not a render target.\n",
target);
7002 WARN(
"Surface %p has an indexed pixel format, but no palette.\n",
target);
7008 WARN(
"Surface %p is not in video memory.\n",
target);
7014 ERR_(winediag)(
"The application wants to create a Direct3D device, "
7015 "but the current DirectDrawRenderer does not support this.\n");
7022 FIXME(
"Only one Direct3D device per DirectDraw object supported.\n");
7026 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
7028 ERR(
"Failed to allocate device memory.\n");
7034 WARN(
"Failed to initialize device, hr %#x.\n",
hr);
7039 TRACE(
"Created device %p.\n",
object);
_Tp _STLP_CALL norm(const complex< _Tp > &__z)
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#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_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 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 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 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 D3DERR_NOCURRENTVIEWPORT
#define IDirect3DDevice7_SetTransform(p, a, b)
#define IDirect3D2_AddRef(p)
#define IDirect3DDevice7_SetTexture(p, a, b)
#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 IDirect3DDevice_DeleteMatrix(p, a)
#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 D3DDEVINFOID_TEXTURING
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface7(IDirectDrawSurface7 *iface) DECLSPEC_HIDDEN
struct d3d_viewport * unsafe_impl_from_IDirect3DViewport3(IDirect3DViewport3 *iface) DECLSPEC_HIDDEN
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface4(IDirectDrawSurface4 *iface) DECLSPEC_HIDDEN
HRESULT d3d_execute_buffer_init(struct d3d_execute_buffer *execute_buffer, struct d3d_device *device, D3DEXECUTEBUFFERDESC *desc) DECLSPEC_HIDDEN
void * ddraw_free_handle(struct ddraw_handle_table *t, DWORD handle, enum ddraw_handle_type type) DECLSPEC_HIDDEN
DWORD ddraw_allocate_handle(struct ddraw_handle_table *t, void *object, enum ddraw_handle_type type) DECLSPEC_HIDDEN
DWORD get_flexible_vertex_size(DWORD d3dvtVertexType) DECLSPEC_HIDDEN
void multiply_matrix(D3DMATRIX *dst, const D3DMATRIX *src1, const D3DMATRIX *src2) DECLSPEC_HIDDEN
struct wined3d_rendertarget_view * ddraw_surface_get_rendertarget_view(struct ddraw_surface *surface) DECLSPEC_HIDDEN
void ddrawformat_from_wined3dformat(DDPIXELFORMAT *ddraw_format, enum wined3d_format_id wined3d_format) DECLSPEC_HIDDEN
#define GET_TEXCOORD_SIZE_FROM_FVF(d3dvtVertexType, tex_num)
static BOOL format_is_paletteindexed(const DDPIXELFORMAT *fmt)
void ddraw_handle_table_destroy(struct ddraw_handle_table *t) DECLSPEC_HIDDEN
static struct d3d_device * impl_from_IDirect3DDevice7(IDirect3DDevice7 *iface)
struct d3d_viewport * unsafe_impl_from_IDirect3DViewport2(IDirect3DViewport2 *iface) DECLSPEC_HIDDEN
HRESULT hr_ddraw_from_wined3d(HRESULT hr) DECLSPEC_HIDDEN
struct ddraw_surface * unsafe_impl_from_IDirect3DTexture(IDirect3DTexture *iface) DECLSPEC_HIDDEN
struct ddraw_surface * unsafe_impl_from_IDirectDrawSurface(IDirectDrawSurface *iface) DECLSPEC_HIDDEN
BOOL ddraw_handle_table_init(struct ddraw_handle_table *t, UINT initial_size) DECLSPEC_HIDDEN
#define DDRAW_INVALID_HANDLE
struct d3d_execute_buffer * unsafe_impl_from_IDirect3DExecuteBuffer(IDirect3DExecuteBuffer *iface) DECLSPEC_HIDDEN
struct d3d_vertex_buffer * unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface) DECLSPEC_HIDDEN
#define DD_STRUCT_COPY_BYSIZE(to, from)
#define GET_TEXCOUNT_FROM_FVF(d3dvtVertexType)
void material_activate(struct d3d_material *material) DECLSPEC_HIDDEN
static struct d3d_device * impl_from_IDirect3DDevice3(IDirect3DDevice3 *iface)
@ DDRAW_HANDLE_STATEBLOCK
void dump_D3DMATRIX(const D3DMATRIX *mat) DECLSPEC_HIDDEN
struct ddraw_surface * unsafe_impl_from_IDirect3DTexture2(IDirect3DTexture2 *iface) DECLSPEC_HIDDEN
void viewport_activate(struct d3d_viewport *viewport, BOOL ignore_lights) DECLSPEC_HIDDEN
static struct d3d_device * impl_from_IDirect3DDevice(IDirect3DDevice *iface)
void * ddraw_get_object(struct ddraw_handle_table *t, DWORD handle, enum ddraw_handle_type type) DECLSPEC_HIDDEN
static struct d3d_device * impl_from_IDirect3DDevice2(IDirect3DDevice2 *iface)
HRESULT d3d_execute_buffer_execute(struct d3d_execute_buffer *execute_buffer, struct d3d_device *device, struct d3d_viewport *viewport) DECLSPEC_HIDDEN
struct d3d_viewport * unsafe_impl_from_IDirect3DViewport(IDirect3DViewport *iface) DECLSPEC_HIDDEN
static struct ddraw_surface * impl_from_IDirectDrawSurface7(IDirectDrawSurface7 *iface)
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)
const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops
static HRESULT WINAPI d3d_device1_GetStats(IDirect3DDevice *iface, D3DSTATS *stats)
static HRESULT WINAPI d3d_device7_CreateStateBlock_FPUPreserve(IDirect3DDevice7 *iface, D3DSTATEBLOCKTYPE type, DWORD *stateblock)
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)
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_device_init(struct d3d_device *device, struct ddraw *ddraw, BOOL hw, struct ddraw_surface *target, IUnknown *rt_iface, UINT version, IUnknown *outer_unknown)
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_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 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 ULONG WINAPI d3d_device_inner_Release(IUnknown *iface)
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 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 d3d_device_prepare_index_buffer(struct d3d_device *device, UINT min_size)
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 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 struct d3d_device * impl_from_IUnknown(IUnknown *iface)
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)
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 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_device_inner_QueryInterface(IUnknown *iface, REFIID riid, void **out)
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_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 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_device1_SetMatrix(IDirect3DDevice *iface, D3DMATRIXHANDLE D3DMatHandle, D3DMATRIX *D3DMatrix)
static HRESULT WINAPI d3d_device7_CaptureStateBlock_FPUSetup(IDirect3DDevice7 *iface, DWORD stateblock)
static HRESULT d3d_device_prepare_vertex_buffer(struct d3d_device *device, UINT min_size)
static HRESULT WINAPI d3d_device3_DrawIndexedPrimitiveVB(IDirect3DDevice3 *iface, D3DPRIMITIVETYPE PrimitiveType, IDirect3DVertexBuffer *D3DVertexBuf, WORD *Indices, DWORD IndexCount, DWORD Flags)
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_device3_SetCurrentViewport(IDirect3DDevice3 *iface, IDirect3DViewport3 *Direct3DViewport3)
static void compute_sphere_visibility(struct wined3d_vec4 plane[12], DWORD enabled_planes, BOOL equality, D3DVECTOR *centers, D3DVALUE *radii, DWORD sphere_count, DWORD *return_values)
static ULONG WINAPI d3d_device_inner_AddRef(IUnknown *iface)
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)
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_buffer_create(struct wined3d_device *device, const struct wined3d_buffer_desc *desc, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer)
ULONG CDECL wined3d_buffer_decref(struct wined3d_buffer *buffer)
struct wined3d_resource *CDECL wined3d_buffer_get_resource(struct wined3d_buffer *buffer)
HRESULT CDECL wined3d_device_set_rendertarget_view(struct wined3d_device *device, unsigned int view_idx, struct wined3d_rendertarget_view *view, BOOL set_viewport)
HRESULT CDECL wined3d_device_set_light_enable(struct wined3d_device *device, UINT light_idx, BOOL enable)
void CDECL wined3d_device_set_vertex_declaration(struct wined3d_device *device, struct wined3d_vertex_declaration *declaration)
void CDECL wined3d_device_set_base_vertex_index(struct wined3d_device *device, INT base_index)
void CDECL wined3d_device_set_material(struct wined3d_device *device, const struct wined3d_material *material)
void CDECL wined3d_device_set_transform(struct wined3d_device *device, enum wined3d_transform_state d3dts, const struct wined3d_matrix *matrix)
HRESULT CDECL wined3d_device_clear(struct wined3d_device *device, DWORD rect_count, const RECT *rects, DWORD flags, const struct wined3d_color *color, float depth, DWORD stencil)
DWORD CDECL wined3d_device_get_render_state(const struct wined3d_device *device, enum wined3d_render_state state)
HRESULT CDECL wined3d_device_draw_indexed_primitive(struct wined3d_device *device, UINT start_idx, UINT index_count)
HRESULT CDECL wined3d_device_begin_stateblock(struct wined3d_device *device)
HRESULT CDECL wined3d_device_set_texture(struct wined3d_device *device, UINT stage, struct wined3d_texture *texture)
void CDECL wined3d_device_multiply_transform(struct wined3d_device *device, enum wined3d_transform_state state, const struct wined3d_matrix *matrix)
ULONG CDECL wined3d_device_decref(struct wined3d_device *device)
DWORD CDECL wined3d_device_get_sampler_state(const struct wined3d_device *device, UINT sampler_idx, enum wined3d_sampler_state state)
HRESULT CDECL wined3d_device_get_clip_plane(const struct wined3d_device *device, UINT plane_idx, struct wined3d_vec4 *plane)
HRESULT CDECL wined3d_device_end_scene(struct wined3d_device *device)
void CDECL wined3d_device_set_sampler_state(struct wined3d_device *device, UINT sampler_idx, enum wined3d_sampler_state state, DWORD value)
void CDECL wined3d_device_set_index_buffer(struct wined3d_device *device, struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset)
HRESULT CDECL wined3d_device_get_light(const struct wined3d_device *device, UINT light_idx, struct wined3d_light *light)
void CDECL wined3d_device_set_depth_stencil_view(struct wined3d_device *device, struct wined3d_rendertarget_view *view)
HRESULT CDECL wined3d_device_set_light(struct wined3d_device *device, UINT light_idx, const struct wined3d_light *light)
HRESULT CDECL wined3d_device_draw_primitive(struct wined3d_device *device, UINT start_vertex, UINT vertex_count)
void CDECL wined3d_device_set_viewport(struct wined3d_device *device, const struct wined3d_viewport *viewport)
HRESULT CDECL wined3d_device_validate_device(const struct wined3d_device *device, DWORD *num_passes)
void CDECL wined3d_device_set_texture_stage_state(struct wined3d_device *device, UINT stage, enum wined3d_texture_stage_state state, DWORD value)
void CDECL wined3d_device_set_render_state(struct wined3d_device *device, enum wined3d_render_state state, DWORD value)
HRESULT CDECL wined3d_device_set_clip_plane(struct wined3d_device *device, UINT plane_idx, const struct wined3d_vec4 *plane)
void CDECL wined3d_device_set_primitive_type(struct wined3d_device *device, enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count)
void CDECL wined3d_device_get_material(const struct wined3d_device *device, struct wined3d_material *material)
HRESULT CDECL wined3d_device_set_stream_source(struct wined3d_device *device, UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride)
DWORD CDECL wined3d_device_get_texture_stage_state(const struct wined3d_device *device, UINT stage, enum wined3d_texture_stage_state state)
void CDECL wined3d_device_get_viewport(const struct wined3d_device *device, struct wined3d_viewport *viewport)
ULONG CDECL wined3d_device_incref(struct wined3d_device *device)
struct wined3d_texture *CDECL wined3d_device_get_texture(const struct wined3d_device *device, UINT stage)
HRESULT CDECL wined3d_device_end_stateblock(struct wined3d_device *device, struct wined3d_stateblock **stateblock)
HRESULT CDECL wined3d_device_begin_scene(struct wined3d_device *device)
HRESULT CDECL wined3d_device_get_light_enable(const struct wined3d_device *device, UINT light_idx, BOOL *enable)
void CDECL wined3d_device_get_transform(const struct wined3d_device *device, enum wined3d_transform_state state, struct wined3d_matrix *matrix)
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, DWORD flags)
void *CDECL wined3d_texture_get_parent(const struct wined3d_texture *texture)
struct wined3d_resource *CDECL wined3d_texture_get_resource(struct wined3d_texture *texture)
HRESULT CDECL wined3d_texture_blt(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, DWORD flags, const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
#define WINE_DECLARE_DEBUG_CHANNEL(x)
static const WCHAR version[]
int align(int length, int align)
#define D3DRENDERSTATE_ZBIAS
#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
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double x)
#define memcpy(s1, s2, n)
static IPrintDialogCallback callback
static const WCHAR desc[]
static float(__cdecl *square_half_float)(float x
#define IsEqualGUID(rguid1, rguid2)
DWORD IDirectDrawSurface7
__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" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\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 $32, %rsp\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
#define DECLSPEC_HOTPATCH
__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
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 d3d_device * d3ddevice
struct wined3d_device * wined3d_device
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, UINT adapter_idx, enum wined3d_device_type device_type, enum wined3d_format_id adapter_format_id, DWORD usage, enum wined3d_resource_type resource_type, enum wined3d_format_id check_format_id)
HRESULT CDECL wined3d_get_adapter_display_mode(const struct wined3d *wined3d, UINT adapter_idx, struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
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)
#define WINED3DUSAGE_WRITEONLY
#define WINED3DUSAGE_QUERY_LEGACYBUMPMAP
#define WINED3D_TS_WORLD_MATRIX(index)
@ WINED3D_RS_COLORKEYENABLE
@ WINED3D_RS_NORMALIZENORMALS
@ WINED3D_RS_SPECULARENABLE
#define WINED3DADAPTER_DEFAULT
#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
#define WINED3D_RESOURCE_ACCESS_GPU
@ WINED3D_RTYPE_TEXTURE_2D
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 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
#define WINED3D_RESOURCE_ACCESS_MAP_R
#define WINED3D_MAP_DISCARD
#define WINED3D_MAP_WRITE
wined3d_depth_buffer_type
#define WINED3D_MAP_NOOVERWRITE
#define WINED3DUSAGE_DYNAMIC
#define WINED3DERR_INVALIDCALL
#define WINED3DUSAGE_STATICDECL
@ WINED3D_DEVICE_TYPE_HAL
#define WINED3DUSAGE_TEXTURE
#define WINED3D_BIND_INDEX_BUFFER
#define WINED3D_RESOURCE_ACCESS_MAP_W
#define WINED3DTA_TEXTURE
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)
#define CLASS_E_NOAGGREGATION
BOOL WINAPI IsRectEmpty(_In_ LPCRECT)
BOOL WINAPI SetRect(_Out_ LPRECT, _In_ int, _In_ int, _In_ int, _In_ int)
_Must_inspect_result_ _In_ ULONG Flags