170 unsigned int wined3d_flags;
172 wined3d_flags =
flags & handled;
184 return wined3d_flags;
189 switch (primitive_type)
192 return primitive_count;
195 return primitive_count * 2;
198 return primitive_count + 1;
201 return primitive_count * 3;
205 return primitive_count + 2;
208 FIXME(
"Unhandled primitive type %#x.\n", primitive_type);
228 FIXME(
"Unhandled swap effect %#x.\n", effect);
268 FIXME(
"Unhandled swap effect %#x.\n", effect);
277 UINT highest_bb_count = extended ? 30 : 3;
281 WARN(
"Invalid swap effect %u passed.\n", present_parameters->
SwapEffect);
305 swapchain_desc->
flags
319 static const DWORD ps_minor_version[] = {0, 4, 0, 0};
320 static const DWORD vs_minor_version[] = {0, 1, 0, 0};
321 static const DWORD texture_filter_caps =
497 if (!
device->d3d_parent->extended)
499 WARN(
"IDirect3D9 instance wasn't created with CreateDirect3D9Ex, returning E_NOINTERFACE.\n");
530 if (
device->in_destruction)
543 for (
i = 0;
i <
device->fvf_decl_count; ++
i)
549 if (
device->vertex_buffer)
573 TRACE(
"iface %p.\n", iface);
575 TRACE(
"device state: %#x.\n",
device->device_state);
577 if (
device->d3d_parent->extended)
580 switch (
device->device_state)
597 TRACE(
"iface %p.\n", iface);
610 TRACE(
"iface %p.\n", iface);
623 TRACE(
"iface %p, d3d9 %p.\n", iface,
d3d9);
637 TRACE(
"iface %p, caps %p.\n", iface, caps);
642 memset(caps, 0,
sizeof(*caps));
659 TRACE(
"iface %p, swapchain %u, mode %p.\n", iface, swapchain,
mode);
681 TRACE(
"iface %p, parameters %p.\n", iface, parameters);
698 TRACE(
"iface %p, hotspot_x %u, hotspot_y %u, bitmap %p.\n",
699 iface, hotspot_x, hotspot_y,
bitmap);
703 WARN(
"No cursor bitmap, returning D3DERR_INVALIDCALL.\n");
719 TRACE(
"iface %p, x %u, y %u, flags %#x.\n", iface,
x,
y,
flags);
731 TRACE(
"iface %p, show %#x.\n", iface, show);
749 TRACE(
"iface %p, present_parameters %p, swapchain %p.\n",
750 iface, present_parameters, swapchain);
754 WARN(
"Trying to create an additional fullscreen swapchain, returning D3DERR_INVALIDCALL.\n");
770 WARN(
"Trying to create an additional swapchain in fullscreen mode, returning D3DERR_INVALIDCALL.\n");
777 device->d3d_parent->extended))
780 *swapchain = (IDirect3DSwapChain9 *)&
object->IDirect3DSwapChain9Ex_iface;
787 UINT swapchain_idx, IDirect3DSwapChain9 **swapchain)
792 TRACE(
"iface %p, swapchain_idx %u, swapchain %p.\n", iface, swapchain_idx, swapchain);
797 *swapchain = (IDirect3DSwapChain9 *)&
device->implicit_swapchains[swapchain_idx]->IDirect3DSwapChain9Ex_iface;
816 TRACE(
"iface %p.\n", iface);
828 IDirect3DBaseTexture9 *
texture;
838 WARN(
"Resource %p in pool D3DPOOL_DEFAULT blocks the Reset call.\n",
resource);
846 WARN(
"Texture %p (resource %p) in pool D3DPOOL_DEFAULT blocks the Reset call.\n",
texture,
resource);
854 WARN(
"Surface %p in pool D3DPOOL_DEFAULT blocks the Reset call.\n", surface);
863 if (!(
device->implicit_swapchains =
heap_alloc(new_swapchain_count *
sizeof(*
device->implicit_swapchains))))
866 for (
i = 0;
i < new_swapchain_count; ++
i)
871 device->implicit_swapchain_count = new_swapchain_count;
888 WARN(
"App not active, returning D3DERR_DEVICELOST.\n");
906 if (
device->vertex_buffer)
910 device->vertex_buffer_size = 0;
917 device->index_buffer_size = 0;
946 if (!
device->d3d_parent->extended)
970 TRACE(
"iface %p, present_parameters %p.\n", iface, present_parameters);
976 const RECT *src_rect,
const RECT *dst_rect,
HWND dst_window_override,
const RGNDATA *dirty_region)
982 TRACE(
"iface %p, src_rect %p, dst_rect %p, dst_window_override %p, dirty_region %p.\n",
983 iface, src_rect, dst_rect, dst_window_override, dirty_region);
989 FIXME(
"Ignoring dirty_region %p.\n", dirty_region);
992 for (
i = 0;
i <
device->implicit_swapchain_count; ++
i)
995 src_rect, dst_rect, dst_window_override, 0, 0)))
1012 TRACE(
"iface %p, swapchain %u, backbuffer_idx %u, backbuffer_type %#x, backbuffer %p.\n",
1013 iface, swapchain, backbuffer_idx, backbuffer_type, backbuffer);
1021 if (swapchain >=
device->implicit_swapchain_count)
1024 WARN(
"Swapchain index %u is out of range, returning D3DERR_INVALIDCALL.\n", swapchain);
1029 backbuffer_idx, backbuffer_type, backbuffer);
1041 TRACE(
"iface %p, swapchain %u, raster_status %p.\n", iface, swapchain, raster_status);
1070 TRACE(
"iface %p, swapchain %u, flags %#x, ramp %p.\n", iface, swapchain,
flags,
ramp);
1082 TRACE(
"iface %p, swapchain %u, ramp %p.\n", iface, swapchain,
ramp);
1099 TRACE(
"iface %p, width %u, height %u, levels %u, usage %#x, format %#x, pool %#x, texture %p, shared_handle %p.\n",
1105 if (!
device->d3d_parent->extended)
1107 WARN(
"Trying to create a shared or user memory texture on a non-ex device.\n");
1121 WARN(
"Trying to create a shared texture in pool %#x.\n",
pool);
1124 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1128 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
1134 WARN(
"Failed to initialize texture, hr %#x.\n",
hr);
1144 TRACE(
"Created texture %p.\n",
object);
1145 *
texture = (IDirect3DTexture9 *)&
object->IDirect3DBaseTexture9_iface;
1158 TRACE(
"iface %p, width %u, height %u, depth %u, levels %u, "
1159 "usage %#x, format %#x, pool %#x, texture %p, shared_handle %p.\n",
1166 if (!
device->d3d_parent->extended)
1168 WARN(
"Trying to create a shared volume texture on a non-ex device.\n");
1174 WARN(
"Trying to create a shared volume texture in pool %#x.\n",
pool);
1177 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1180 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
1186 WARN(
"Failed to initialize volume texture, hr %#x.\n",
hr);
1191 TRACE(
"Created volume texture %p.\n",
object);
1192 *
texture = (IDirect3DVolumeTexture9 *)&
object->IDirect3DBaseTexture9_iface;
1205 TRACE(
"iface %p, edge_length %u, levels %u, usage %#x, format %#x, pool %#x, texture %p, shared_handle %p.\n",
1211 if (!
device->d3d_parent->extended)
1213 WARN(
"Trying to create a shared cube texture on a non-ex device.\n");
1219 WARN(
"Trying to create a shared cube texture in pool %#x.\n",
pool);
1222 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1225 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
1231 WARN(
"Failed to initialize cube texture, hr %#x.\n",
hr);
1236 TRACE(
"Created cube texture %p.\n",
object);
1237 *
texture = (IDirect3DCubeTexture9 *)&
object->IDirect3DBaseTexture9_iface;
1250 TRACE(
"iface %p, size %u, usage %#x, fvf %#x, pool %#x, buffer %p, shared_handle %p.\n",
1255 if (!
device->d3d_parent->extended)
1257 WARN(
"Trying to create a shared vertex buffer on a non-ex device.\n");
1263 WARN(
"Trying to create a shared vertex buffer in pool %#x.\n",
pool);
1266 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1269 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
1275 WARN(
"Failed to initialize vertex buffer, hr %#x.\n",
hr);
1280 TRACE(
"Created vertex buffer %p.\n",
object);
1281 *
buffer = &
object->IDirect3DVertexBuffer9_iface;
1294 TRACE(
"iface %p, size %u, usage %#x, format %#x, pool %#x, buffer %p, shared_handle %p.\n",
1299 if (!
device->d3d_parent->extended)
1301 WARN(
"Trying to create a shared index buffer on a non-ex device.\n");
1307 WARN(
"Trying to create a shared index buffer in pool %#x.\n",
pool);
1310 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1313 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
1319 WARN(
"Failed to initialize index buffer, hr %#x.\n",
hr);
1324 TRACE(
"Created index buffer %p.\n",
object);
1325 *
buffer = &
object->IDirect3DIndexBuffer9_iface;
1339 TRACE(
"device %p, width %u, height %u, format %#x, flags %#x, surface %p.\n"
1340 "usage %#x, pool %#x, multisample_type %#x, multisample_quality %u.\n",
1342 multisample_type, multisample_quality);
1346 desc.multisample_type = multisample_type;
1347 desc.multisample_quality = multisample_quality;
1367 WARN(
"Failed to create texture, hr %#x.\n",
hr);
1380 desc.format, multisample_type, multisample_quality, user_mem, 0);
1407 BOOL lockable, IDirect3DSurface9 **surface,
HANDLE *shared_handle)
1412 TRACE(
"iface %p, width %u, height %u, format %#x, multisample_type %#x, multisample_quality %u.\n"
1413 "lockable %#x, surface %p, shared_handle %p.\n",
1415 lockable, surface, shared_handle);
1420 if (!
device->d3d_parent->extended)
1422 WARN(
"Trying to create a shared render target on a non-ex device.\n");
1426 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1438 BOOL discard, IDirect3DSurface9 **surface,
HANDLE *shared_handle)
1443 TRACE(
"iface %p, width %u, height %u, format %#x, multisample_type %#x, multisample_quality %u.\n"
1444 "discard %#x, surface %p, shared_handle %p.\n",
1446 discard, surface, shared_handle);
1451 if (!
device->d3d_parent->extended)
1453 WARN(
"Trying to create a shared depth stencil on a non-ex device.\n");
1457 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1469 IDirect3DSurface9 *src_surface,
const RECT *src_rect,
1470 IDirect3DSurface9 *dst_surface,
const POINT *dst_point)
1479 TRACE(
"iface %p, src_surface %p, src_rect %p, dst_surface %p, dst_point %p.\n",
1480 iface, src_surface, src_rect, dst_surface, dst_point);
1489 WARN(
"Surface formats (%#x/%#x) don't match.\n",
1503 src->sub_resource_idx, &src_box);
1516 IDirect3DBaseTexture9 *src_texture, IDirect3DBaseTexture9 *dst_texture)
1522 TRACE(
"iface %p, src_texture %p, dst_texture %p.\n", iface, src_texture, dst_texture);
1538 IDirect3DSurface9 *render_target, IDirect3DSurface9 *dst_surface)
1543 RECT dst_rect, src_rect;
1546 TRACE(
"iface %p, render_target %p, dst_surface %p.\n", iface, render_target, dst_surface);
1548 if (!render_target || !dst_surface)
1570 UINT swapchain, IDirect3DSurface9 *dst_surface)
1576 TRACE(
"iface %p, swapchain %u, dst_surface %p.\n", iface, swapchain, dst_surface);
1579 if (swapchain < device->implicit_swapchain_count)
1597 TRACE(
"iface %p, src_surface %p, src_rect %p, dst_surface %p, dst_rect %p, filter %#x.\n",
1598 iface, src_surface, src_rect, dst_surface, dst_rect,
filter);
1617 WARN(
"Destination resource is not in DEFAULT pool.\n");
1622 WARN(
"Source resource is not in DEFAULT pool.\n");
1628 WARN(
"Destination is a regular texture.\n");
1636 WARN(
"Rejecting depth / stencil blit while in scene.\n");
1643 WARN(
"Rejecting depth / stencil blit with invalid source rect %s.\n",
1651 WARN(
"Rejecting depth / stencil blit with invalid destination rect %s.\n",
1658 WARN(
"Rejecting depth / stencil blit with mismatched surface sizes.\n");
1680 ((
color >> 16) & 0xff) / 255.0f,
1681 ((
color >> 8) & 0xff) / 255.0f,
1682 (
color & 0xff) / 255.0f,
1683 ((
color >> 24) & 0xff) / 255.0f,
1691 TRACE(
"iface %p, surface %p, rect %p, color 0x%08x.\n", iface, surface,
rect,
color);
1705 WARN(
"Colour fills are not allowed on surfaces with resource access %#x.\n",
desc.access);
1711 WARN(
"Colorfill is not allowed on non-RT textures, returning D3DERR_INVALIDCALL.\n");
1717 WARN(
"Colorfill is not allowed on depth stencil surfaces, returning D3DERR_INVALIDCALL.\n");
1738 void *user_mem =
NULL;
1740 TRACE(
"iface %p, width %u, height %u, format %#x, pool %#x, surface %p, shared_handle %p.\n",
1746 WARN(
"Attempting to create a managed offscreen plain surface.\n");
1752 if (!
device->d3d_parent->extended)
1754 WARN(
"Trying to create a shared or user memory surface on a non-ex device.\n");
1759 user_mem = *shared_handle;
1764 WARN(
"Trying to create a shared surface in pool %#x.\n",
pool);
1767 FIXME(
"Resource sharing not implemented, *shared_handle %p.\n", *shared_handle);
1785 TRACE(
"iface %p, idx %u, surface %p.\n", iface,
idx, surface);
1789 WARN(
"Invalid index %u specified.\n",
idx);
1793 if (!
idx && !surface_impl)
1795 WARN(
"Trying to set render target 0 to NULL.\n");
1801 WARN(
"Render target surface does not match device.\n");
1810 device->render_targets[
idx] = surface_impl;
1823 TRACE(
"iface %p, idx %u, surface %p.\n", iface,
idx, surface);
1830 WARN(
"Invalid index %u specified.\n",
idx);
1859 TRACE(
"iface %p, depth_stencil %p.\n", iface, depth_stencil);
1877 TRACE(
"iface %p, depth_stencil %p.\n", iface, depth_stencil);
1894 *depth_stencil =
NULL;
1906 TRACE(
"iface %p.\n", iface);
1921 TRACE(
"iface %p.\n", iface);
1939 if (surface && surface->
texture)
1949 ((
color >> 16) & 0xff) / 255.0f,
1950 ((
color >> 8) & 0xff) / 255.0f,
1951 (
color & 0xff) / 255.0f,
1952 ((
color >> 24) & 0xff) / 255.0f,
1957 TRACE(
"iface %p, rect_count %u, rects %p, flags %#x, color 0x%08x, z %.8e, stencil %u.\n",
1960 if (rect_count && !rects)
1962 WARN(
"count %u with NULL rects.\n", rect_count);
2025 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
2046 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
2066 TRACE(
"iface %p, material %p.\n", iface, material);
2080 TRACE(
"iface %p, material %p.\n", iface, material);
2215 TRACE(
"iface %p, type %#x, stateblock %p.\n", iface,
type, stateblock);
2219 WARN(
"Unexpected stateblock type, returning D3DERR_INVALIDCALL.\n");
2223 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
2229 WARN(
"Failed to initialize stateblock, hr %#x.\n",
hr);
2234 TRACE(
"Created stateblock %p.\n",
object);
2235 *stateblock = &
object->IDirect3DStateBlock9_iface;
2245 TRACE(
"iface %p.\n", iface);
2261 TRACE(
"iface %p, stateblock %p.\n", iface, stateblock);
2268 WARN(
"Failed to end the state block, hr %#x.\n",
hr);
2272 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
2283 WARN(
"Failed to initialize stateblock, hr %#x.\n",
hr);
2291 TRACE(
"Created stateblock %p.\n",
object);
2292 *stateblock = &
object->IDirect3DStateBlock9_iface;
2302 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
2316 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
2331 TRACE(
"iface %p, stage %u, texture %p.\n", iface, stage,
texture);
2358 TRACE(
"iface %p, stage %u, texture %p.\n", iface, stage,
texture);
2370 device->textures[
i] = texture_impl;
2419 TRACE(
"iface %p, stage %u, state %#x, value %p.\n", iface, stage,
state,
value);
2423 WARN(
"Invalid state %#x passed.\n",
state);
2439 TRACE(
"iface %p, stage %u, state %#x, value %#x.\n", iface, stage,
state,
value);
2443 WARN(
"Invalid state %#x passed.\n",
state);
2487 TRACE(
"iface %p, pass_count %p.\n", iface, pass_count);
2499 WARN(
"iface %p, palette_idx %u, entries %p unimplemented.\n", iface, palette_idx, entries);
2512 FIXME(
"iface %p, palette_idx %u, entries %p unimplemented.\n", iface, palette_idx, entries);
2519 WARN(
"iface %p, palette_idx %u unimplemented.\n", iface, palette_idx);
2526 FIXME(
"iface %p, palette_idx %p.\n", iface, palette_idx);
2535 TRACE(
"iface %p, rect %p.\n", iface,
rect);
2548 TRACE(
"iface %p, rect %p.\n", iface,
rect);
2561 TRACE(
"iface %p, software %#x.\n", iface, software);
2575 TRACE(
"iface %p.\n", iface);
2589 TRACE(
"iface %p, segment_count %.8e.\n", iface, segment_count);
2603 TRACE(
"iface %p.\n", iface);
2628 TRACE(
"iface %p, primitive_type %#x, start_vertex %u, primitive_count %u.\n",
2629 iface, primitive_type, start_vertex, primitive_count);
2632 if (!
device->has_vertex_declaration)
2635 WARN(
"Called without a valid vertex declaration set.\n");
2656 TRACE(
"iface %p, primitive_type %#x, base_vertex_idx %u, min_vertex_idx %u, "
2657 "vertex_count %u, start_idx %u, primitive_count %u.\n",
2658 iface, primitive_type, base_vertex_idx, min_vertex_idx,
2662 if (!
device->has_vertex_declaration)
2665 WARN(
"Called without a valid vertex declaration set.\n");
2685 if (
device->vertex_buffer_size < min_size || !
device->vertex_buffer)
2691 TRACE(
"Growing vertex buffer to %u bytes.\n",
size);
2697 desc.misc_flags = 0;
2698 desc.structure_byte_stride = 0;
2703 ERR(
"Failed to create vertex buffer, hr %#x.\n",
hr);
2707 if (
device->vertex_buffer)
2712 device->vertex_buffer_pos = 0;
2729 TRACE(
"iface %p, primitive_type %#x, primitive_count %u, data %p, stride %u.\n",
2730 iface, primitive_type, primitive_count,
data,
stride);
2732 if (!primitive_count)
2734 WARN(
"primitive_count is 0, returning D3D_OK\n");
2740 if (!
device->has_vertex_declaration)
2743 WARN(
"Called without a valid vertex declaration set.\n");
2751 vb_pos =
device->vertex_buffer_pos;
2790 if (
device->index_buffer_size < min_size || !
device->index_buffer)
2796 TRACE(
"Growing index buffer to %u bytes.\n",
size);
2802 desc.misc_flags = 0;
2803 desc.structure_byte_stride = 0;
2808 ERR(
"Failed to create index buffer, hr %#x.\n",
hr);
2812 if (
device->index_buffer)
2817 device->index_buffer_pos = 0;
2825 const void *vertex_data,
UINT vertex_stride)
2831 UINT idx_size = idx_count * idx_fmt_size;
2838 TRACE(
"iface %p, primitive_type %#x, min_vertex_idx %u, vertex_count %u, primitive_count %u, "
2839 "index_data %p, index_format %#x, vertex_data %p, vertex_stride %u.\n",
2840 iface, primitive_type, min_vertex_idx,
vertex_count, primitive_count,
2841 index_data, index_format, vertex_data, vertex_stride);
2843 if (!primitive_count)
2845 WARN(
"primitive_count is 0, returning D3D_OK.\n");
2851 if (!
device->has_vertex_declaration)
2854 WARN(
"Called without a valid vertex declaration set.\n");
2862 vb_pos =
device->vertex_buffer_pos;
2863 align = vb_pos % vertex_stride;
2865 if (vb_pos + vtx_size +
align >
device->vertex_buffer_size)
2878 device->vertex_buffer_pos = vb_pos + vtx_size;
2884 ib_pos =
device->index_buffer_pos;
2885 align = ib_pos % idx_fmt_size;
2887 if (ib_pos + idx_size +
align >
device->index_buffer_size)
2900 device->index_buffer_pos = ib_pos + idx_size;
2935 TRACE(
"iface %p, src_start_idx %u, dst_idx %u, vertex_count %u, dst_buffer %p, declaration %p, flags %#x.\n",
2958 WARN(
"Caller passed a NULL declaration, returning D3DERR_INVALIDCALL.\n");
2963 *
declaration = &
object->IDirect3DVertexDeclaration9_iface;
2979 device->has_vertex_declaration = !!decl_impl;
3022 TRACE(
"Searching for declaration for fvf %08x... ",
fvf);
3025 high =
device->fvf_decl_count - 1;
3028 p = (low + high) >> 1;
3033 TRACE(
"found %p.\n", fvf_decls[
p].decl);
3034 return fvf_decls[
p].
decl;
3042 TRACE(
"not found. Creating and inserting at position %d.\n", low);
3056 if (!(fvf_decls =
heap_realloc(fvf_decls,
sizeof(*fvf_decls) * (
device->fvf_decl_size + grow))))
3061 device->fvf_decls = fvf_decls;
3062 device->fvf_decl_size += grow;
3065 d3d9_declaration->
fvf =
fvf;
3070 memmove(fvf_decls + low + 1, fvf_decls + low,
sizeof(*fvf_decls) * (
device->fvf_decl_count - low));
3072 fvf_decls[low].
fvf =
fvf;
3073 ++
device->fvf_decl_count;
3085 TRACE(
"iface %p, fvf %#x.\n", iface, fvf);
3089 WARN(
"%#x is not a valid FVF.\n", fvf);
3097 ERR(
"Failed to create a vertex declaration for fvf %#x.\n", fvf);
3114 TRACE(
"iface %p, fvf %p.\n", iface,
fvf);
3120 *
fvf = d3d9_declaration->
fvf;
3128 TRACE(
"Returning FVF %#x.\n", *
fvf);
3134 const DWORD *byte_code, IDirect3DVertexShader9 **
shader)
3140 TRACE(
"iface %p, byte_code %p, shader %p.\n", iface, byte_code,
shader);
3142 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3148 WARN(
"Failed to initialize vertex shader, hr %#x.\n",
hr);
3153 TRACE(
"Created vertex shader %p.\n",
object);
3154 *
shader = &
object->IDirect3DVertexShader9_iface;
3206 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3210 WARN(
"Trying to access %u constants, but d3d9 only supports %u\n",
3229 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3233 WARN(
"Trying to access %u constants, but d3d9 only supports %u\n",
3252 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3268 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3284 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3299 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3315 TRACE(
"iface %p, stream_idx %u, buffer %p, offset %u, stride %u.\n",
3334 TRACE(
"iface %p, stream_idx %u, buffer %p, offset %p, stride %p.\n",
3364 TRACE(
"iface %p, stream_idx %u, freq %u.\n", iface, stream_idx, freq);
3378 TRACE(
"iface %p, stream_idx %u, freq %p.\n", iface, stream_idx, freq);
3431 const DWORD *byte_code, IDirect3DPixelShader9 **
shader)
3437 TRACE(
"iface %p, byte_code %p, shader %p.\n", iface, byte_code,
shader);
3439 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3441 FIXME(
"Failed to allocate pixel shader memory.\n");
3448 WARN(
"Failed to initialize pixel shader, hr %#x.\n",
hr);
3453 TRACE(
"Created pixel shader %p.\n",
object);
3454 *
shader = &
object->IDirect3DPixelShader9_iface;
3508 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3524 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3540 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3556 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3572 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3587 TRACE(
"iface %p, reg_idx %u, data %p, count %u.\n", iface, reg_idx,
data,
count);
3599 FIXME(
"iface %p, handle %#x, segment_count %p, patch_info %p unimplemented.\n",
3600 iface,
handle, segment_count, patch_info);
3607 FIXME(
"iface %p, handle %#x, segment_count %p, patch_info %p unimplemented.\n",
3608 iface,
handle, segment_count, patch_info);
3614 FIXME(
"iface %p, handle %#x unimplemented.\n", iface,
handle);
3626 if (!(
object = heap_alloc_zero(
sizeof(*
object))))
3632 WARN(
"Failed to initialize query, hr %#x.\n",
hr);
3637 TRACE(
"Created query %p.\n",
object);
3638 if (
query) *
query = &
object->IDirect3DQuery9_iface;
3647 FIXME(
"iface %p, width %u, height %u, rows %p, columns %p stub!\n",
3654 IDirect3DSurface9 *src_surface, IDirect3DSurface9 *dst_surface, IDirect3DVertexBuffer9 *src_descs,
3657 FIXME(
"iface %p, src_surface %p, dst_surface %p, src_descs %p, rect_count %u, "
3658 "dst_descs %p, operation %#x, offset_x %u, offset_y %u stub!\n",
3659 iface, src_surface, dst_surface, src_descs, rect_count,
3660 dst_descs,
operation, offset_x, offset_y);
3666 const RECT *src_rect,
const RECT *dst_rect,
HWND dst_window_override,
3673 TRACE(
"iface %p, src_rect %s, dst_rect %s, dst_window_override %p, dirty_region %p, flags %#x.\n",
3675 dst_window_override, dirty_region,
flags);
3681 FIXME(
"Ignoring dirty_region %p.\n", dirty_region);
3684 for (
i = 0;
i <
device->implicit_swapchain_count; ++
i)
3687 src_rect, dst_rect, dst_window_override, 0,
flags)))
3714 FIXME(
"iface %p, swapchain_idx %u stub!\n", iface, swapchain_idx);
3722 FIXME(
"iface %p, resources %p, resource_count %u stub!\n",
3730 TRACE(
"iface %p, max_latency %u.\n", iface, max_latency);
3733 FIXME(
"Ignoring max_latency %u.\n", max_latency);
3740 FIXME(
"iface %p, max_latency %p stub!\n", iface, max_latency);
3752 TRACE(
"iface %p, dst_window %p.\n", iface, dst_window);