141 unsigned int wined3d_flags;
143 wined3d_flags =
flags & handled;
155 return wined3d_flags;
160 switch (primitive_type)
163 return primitive_count;
166 return primitive_count * 2;
169 return primitive_count + 1;
172 return primitive_count * 3;
176 return primitive_count + 2;
179 FIXME(
"Unhandled primitive type %#x.\n", primitive_type);
197 FIXME(
"Unhandled swap effect %#x.\n", effect);
234 FIXME(
"Unhandled swap effect %#x.\n", effect);
270 WARN(
"Invalid swap effect %u passed.\n", present_parameters->
SwapEffect);
291 WARN(
"Invalid presentation interval %#x.\n",
296 swapchain_desc->
output = output;
310 swapchain_desc->
flags
322 unsigned int adapter_ordinal)
428 caps->
LineCaps &= ~WINED3DLINECAPS_ANTIALIAS;
481 ERR(
"Handle %lu(%p) is in the free list, but has type %#x.\n",
index,
entry,
entry->type);
484 t->free_entries =
entry->object;
491 if (!(
t->entry_count <
t->table_size))
499 ERR(
"Failed to grow the handle table.\n");
502 t->entries = new_entries;
506 entry = &
t->entries[
t->entry_count];
510 return t->entry_count++;
531 object =
entry->object;
532 entry->object =
t->free_entries;
556 return entry->object;
572 TRACE(
"iface %p, riid %s, out %p.\n",
594 TRACE(
"%p increasing refcount to %lu.\n", iface,
ref);
604 if (
device->in_destruction)
609 TRACE(
"%p decreasing refcount to %lu.\n", iface,
ref);
613 IDirect3D8 *
parent = &
device->d3d_parent->IDirect3D8_iface;
616 TRACE(
"Releasing wined3d device %p.\n",
device->wined3d_device);
622 for (
i = 0;
i <
device->numConvertedDecls; ++
i)
652 TRACE(
"iface %p.\n", iface);
654 TRACE(
"device state: %#lx.\n",
device->device_state);
656 switch (
device->device_state)
673 TRACE(
"iface %p.\n", iface);
686 TRACE(
"iface %p, byte_count %lu.\n", iface, byte_count);
689 FIXME(
"Byte count ignored.\n");
702 TRACE(
"iface %p, d3d8 %p.\n", iface,
d3d8);
717 TRACE(
"iface %p, caps %p.\n", iface, caps);
737 TRACE(
"iface %p, mode %p.\n", iface,
mode);
779 TRACE(
"iface %p, hotspot_x %u, hotspot_y %u, bitmap %p.\n",
780 iface, hotspot_x, hotspot_y,
bitmap);
784 WARN(
"No cursor bitmap, returning D3DERR_INVALIDCALL.\n");
790 WARN(
"Failed to get surface description, hr %#lx.\n",
hr);
797 WARN(
"Failed to get device display mode, hr %#lx.\n",
hr);
803 WARN(
"Surface dimension %ux%u exceeds display mode %ux%u.\n", surface_desc.
Width,
820 TRACE(
"iface %p, x %u, y %u, flags %#lx.\n", iface,
x,
y,
flags);
832 TRACE(
"iface %p, show %#x.\n", iface, show);
848 unsigned int output_idx;
852 TRACE(
"iface %p, present_parameters %p, swapchain %p.\n",
853 iface, present_parameters, swapchain);
857 WARN(
"Trying to create an additional fullscreen swapchain, returning D3DERR_INVALIDCALL.\n");
873 WARN(
"Trying to create an additional swapchain in fullscreen mode, returning D3DERR_INVALIDCALL.\n");
879 output_idx =
device->adapter_ordinal;
885 *swapchain = &
object->IDirect3DSwapChain8_iface;
897 IDirect3DBaseTexture8 *
texture;
916 if (index_buffer && index_buffer->
sysmem)
920 WARN(
"Resource %p in pool D3DPOOL_DEFAULT blocks the Reset call.\n",
resource);
928 WARN(
"Texture %p (resource %p) in pool D3DPOOL_DEFAULT blocks the Reset call.\n",
texture,
resource);
933 if (!surface || !surface->
resource.refcount)
936 WARN(
"Surface %p in pool D3DPOOL_DEFAULT blocks the Reset call.\n", surface);
946 unsigned int output_idx;
949 TRACE(
"iface %p, present_parameters %p.\n", iface, present_parameters);
953 WARN(
"App not active, returning D3DERR_DEVICELOST.\n");
956 output_idx =
device->adapter_ordinal;
958 device->d3d_parent->wined3d_outputs[output_idx], present_parameters))
1028 const RECT *dst_rect,
HWND dst_window_override,
const RGNDATA *dirty_region)
1033 TRACE(
"iface %p, src_rect %s, dst_rect %s, dst_window_override %p, dirty_region %p.\n",
1043 src_rect, dst_rect, dst_window_override, dirty_region);
1053 TRACE(
"iface %p, backbuffer_idx %u, backbuffer_type %#x, backbuffer %p.\n",
1054 iface, backbuffer_idx, backbuffer_type, backbuffer);
1081 TRACE(
"iface %p, raster_status %p.\n", iface, raster_status);
1106 TRACE(
"iface %p, ramp %p.\n", iface,
ramp);
1123 TRACE(
"iface %p, width %u, height %u, levels %u, usage %#lx, format %#x, pool %#x, texture %p.\n",
1130 if (!(
object =
calloc(1,
sizeof(*
object))))
1136 WARN(
"Failed to initialize texture, hr %#lx.\n",
hr);
1151 TRACE(
"Created texture %p.\n",
object);
1152 *
texture = (IDirect3DTexture8 *)&
object->IDirect3DBaseTexture8_iface;
1165 TRACE(
"iface %p, width %u, height %u, depth %u, levels %u, usage %#lx, format %#x, pool %#x, texture %p.\n",
1172 if (!(
object =
calloc(1,
sizeof(*
object))))
1178 WARN(
"Failed to initialize volume texture, hr %#lx.\n",
hr);
1183 TRACE(
"Created volume texture %p.\n",
object);
1184 *
texture = (IDirect3DVolumeTexture8 *)&
object->IDirect3DBaseTexture8_iface;
1197 TRACE(
"iface %p, edge_length %u, levels %u, usage %#lx, format %#x, pool %#x, texture %p.\n",
1204 if (!(
object =
calloc(1,
sizeof(*
object))))
1210 WARN(
"Failed to initialize cube texture, hr %#lx.\n",
hr);
1225 TRACE(
"Created cube texture %p.\n",
object);
1226 *
texture = (IDirect3DCubeTexture8 *)&
object->IDirect3DBaseTexture8_iface;
1238 TRACE(
"iface %p, size %u, usage %#lx, fvf %#lx, pool %#x, buffer %p.\n",
1241 if (!(
object =
calloc(1,
sizeof(*
object))))
1247 WARN(
"Failed to initialize vertex buffer, hr %#lx.\n",
hr);
1252 TRACE(
"Created vertex buffer %p.\n",
object);
1253 *
buffer = &
object->IDirect3DVertexBuffer8_iface;
1265 TRACE(
"iface %p, size %u, usage %#lx, format %#x, pool %#x, buffer %p.\n",
1268 if (!(
object =
calloc(1,
sizeof(*
object))))
1274 WARN(
"Failed to initialize index buffer, hr %#lx.\n",
hr);
1279 TRACE(
"Created index buffer %p.\n",
object);
1280 *
buffer = &
object->IDirect3DIndexBuffer8_iface;
1287 unsigned int width,
unsigned int height, IDirect3DSurface8 **surface)
1294 TRACE(
"device %p, format %#x, multisample_type %#x, bind_flags %#x, "
1295 "access %#x, width %u, height %u, surface %p.\n",
1300 desc.multisample_type = multisample_type;
1301 desc.multisample_quality = 0;
1303 desc.bind_flags = bind_flags;
1316 WARN(
"Failed to create texture, hr %#lx.\n",
hr);
1338 IDirect3DSurface8 **surface)
1343 TRACE(
"iface %p, width %u, height %u, format %#x, multisample_type %#x, lockable %#x, surface %p.\n",
1360 IDirect3DSurface8 **surface)
1364 TRACE(
"iface %p, width %u, height %u, format %#x, multisample_type %#x, surface %p.\n",
1385 TRACE(
"iface %p, width %u, height %u, format %#x, surface %p.\n",
1395 IDirect3DSurface8 *src_surface,
const RECT *src_rects,
UINT rect_count,
1396 IDirect3DSurface8 *dst_surface,
const POINT *dst_points)
1405 TRACE(
"iface %p, src_surface %p, src_rects %p, rect_count %u, dst_surface %p, dst_points %p.\n",
1406 iface, src_surface, src_rects, rect_count, dst_surface, dst_points);
1412 WARN(
"Source %p is a depth stencil surface, returning D3DERR_INVALIDCALL.\n", src_surface);
1416 src_format = wined3d_desc.
format;
1417 src_w = wined3d_desc.
width;
1418 src_h = wined3d_desc.
height;
1423 WARN(
"Destination %p is a depth stencil surface, returning D3DERR_INVALIDCALL.\n", dst_surface);
1432 WARN(
"Source %p format must match the destination %p format, returning D3DERR_INVALIDCALL.\n",
1433 src_surface, dst_surface);
1439 if (!rect_count && !src_rects && !dst_points)
1449 if (src_rects && dst_points)
1451 for (
i = 0;
i < rect_count; ++
i)
1455 RECT dst_rect = {dst_points[
i].
x, dst_points[
i].
y,
1456 dst_points[
i].
x +
w, dst_points[
i].
y +
h};
1459 dst->wined3d_texture,
dst->sub_resource_idx, &dst_rect,
1465 for (
i = 0;
i < rect_count; ++
i)
1469 RECT dst_rect = {0, 0,
w,
h};
1472 dst->wined3d_texture,
dst->sub_resource_idx, &dst_rect,
1483 IDirect3DBaseTexture8 *src_texture, IDirect3DBaseTexture8 *dst_texture)
1489 TRACE(
"iface %p, src_texture %p, dst_texture %p.\n", iface, src_texture, dst_texture);
1496 WARN(
"Source or destination is managed; returning D3DERR_INVALIDCALL.\n");
1514 TRACE(
"iface %p, dst_surface %p.\n", iface, dst_surface);
1518 WARN(
"Invalid destination surface passed.\n");
1531 IDirect3DSurface8 *render_target, IDirect3DSurface8 *
depth_stencil)
1539 TRACE(
"iface %p, render_target %p, depth_stencil %p.\n", iface, render_target,
depth_stencil);
1543 WARN(
"Render target surface does not match device.\n");
1575 WARN(
"Depth stencil is smaller than the render target, returning D3DERR_INVALIDCALL\n");
1582 WARN(
"Multisample settings do not match, returning D3DERR_INVALIDCALL\n");
1619 TRACE(
"iface %p, render_target %p.\n", iface, render_target);
1636 ERR(
"Failed to get wined3d render target.\n");
1637 *render_target =
NULL;
1681 TRACE(
"iface %p.\n", iface);
1695 TRACE(
"iface %p.\n", iface);
1709 ((
color >> 16) & 0xff) / 255.0f,
1710 ((
color >> 8) & 0xff) / 255.0f,
1711 (
color & 0xff) / 255.0f,
1712 ((
color >> 24) & 0xff) / 255.0f,
1717 TRACE(
"iface %p, rect_count %lu, rects %p, flags %#lx, color 0x%08lx, z %.8e, stencil %lu.\n",
1720 if (rect_count && !rects)
1722 WARN(
"count %lu with NULL rects.\n", rect_count);
1789 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1800 if (viewport->
X > rt_desc.
width || viewport->
Width > rt_desc.
width - viewport->
X
1803 WARN(
"Invalid viewport, returning D3DERR_INVALIDCALL.\n");
1826 TRACE(
"iface %p, viewport %p.\n", iface, viewport);
1846 TRACE(
"iface %p, material %p.\n", iface, material);
1860 TRACE(
"iface %p, material %p.\n", iface, material);
1864 memcpy(material, &
device->stateblock_state->material,
sizeof(*material));
1952 TRACE(
"Plane %lu requested, but only %u planes are supported.\n",
index,
device->max_user_clip_planes);
1972 if (!(dst_texture =
state->textures[0]))
2037 TRACE(
"iface %p.\n", iface);
2043 WARN(
"Trying to begin a stateblock while recording, returning D3DERR_INVALIDCALL.\n");
2059 TRACE(
"iface %p, token %p.\n", iface,
token);
2068 WARN(
"Trying to end a stateblock, but no stateblock is being recorded.\n");
2071 stateblock =
device->recording;
2081 ERR(
"Failed to create a handle\n");
2089 TRACE(
"Returning %#lx (%p).\n", *
token, stateblock);
2104 TRACE(
"iface %p, token %#lx.\n", iface,
token);
2113 WARN(
"Trying to apply stateblock while recording, returning D3DERR_INVALIDCALL.\n");
2119 WARN(
"Invalid handle (%#lx) passed.\n",
token);
2146 TRACE(
"iface %p, token %#lx.\n", iface,
token);
2152 WARN(
"Trying to capture stateblock while recording, returning D3DERR_INVALIDCALL.\n");
2158 WARN(
"Invalid handle (%#lx) passed.\n",
token);
2173 TRACE(
"iface %p, token %#lx.\n", iface,
token);
2180 WARN(
"Invalid handle (%#lx) passed.\n",
token);
2187 ERR(
"Stateblock %p has references left, this shouldn't happen.\n", stateblock);
2207 WARN(
"Unexpected stateblock type, returning D3DERR_INVALIDCALL\n");
2215 WARN(
"Trying to create a stateblock while recording, returning D3DERR_INVALIDCALL.\n");
2222 ERR(
"Failed to create the state block, hr %#lx.\n",
hr);
2231 ERR(
"Failed to allocate a handle.\n");
2239 TRACE(
"Returning %#lx (%p).\n", *
handle, stateblock);
2249 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
2264 TRACE(
"iface %p, clip_status %p.\n", iface, clip_status);
2279 TRACE(
"iface %p, stage %lu, texture %p.\n", iface, stage,
texture);
2286 WARN(
"Ignoring invalid stage %lu.\n", stage);
2312 TRACE(
"iface %p, stage %lu, texture %p.\n", iface, stage,
texture);
2373 TRACE(
"iface %p, stage %lu, state %#x, value %p.\n", iface, stage,
state,
value);
2385 if (
l->sampler_state)
2400 TRACE(
"iface %p, stage %lu, state %#x, value %#lx.\n", iface, stage,
type,
value);
2404 WARN(
"Invalid type %#x passed.\n",
type);
2411 if (
l->sampler_state)
2425 TRACE(
"iface %p, pass_count %p.\n", iface, pass_count);
2435 WARN(
"Ignoring invalid texture filter settings.\n");
2446 TRACE(
"iface %p, info_id %#lx, info %p, info_size %lu.\n", iface, info_id,
info, info_size);
2456 WARN(
"iface %p, palette_idx %u, entries %p unimplemented\n", iface, palette_idx, entries);
2467 FIXME(
"iface %p, palette_idx %u, entries %p unimplemented.\n", iface, palette_idx, entries);
2474 WARN(
"iface %p, palette_idx %u unimplemented.\n", iface, palette_idx);
2481 FIXME(
"iface %p, palette_idx %p unimplemented.\n", iface, palette_idx);
2504 if (!(wined3d_decl =
state->vertex_declaration))
2512 dst_buffer =
stream->buffer;
2521 dst_resource, 0,
box.left, 0, 0,
2523 ERR(
"Failed to update buffer.\n");
2528 unsigned int *start_idx,
unsigned int idx_count)
2545 src_offset = (*start_idx) * idx_size;
2551 ERR(
"Failed to map index buffer, hr %#lx.\n",
hr);
2590 TRACE(
"iface %p, primitive_type %#x, start_vertex %u, primitive_count %u.\n",
2591 iface, primitive_type, start_vertex, primitive_count);
2604 if (
device->stateblock_state->streams[
i].buffer)
2618 UINT start_idx,
UINT primitive_count)
2623 unsigned int index_count,
i;
2624 int base_vertex_index;
2627 TRACE(
"iface %p, primitive_type %#x, min_vertex_idx %u, vertex_count %u, start_idx %u, primitive_count %u.\n",
2628 iface, primitive_type, min_vertex_idx,
vertex_count, start_idx, primitive_count);
2632 if (!
device->stateblock_state->index_buffer)
2635 WARN(
"Index buffer not set, returning D3D_OK.\n");
2638 base_vertex_index =
device->stateblock_state->base_vertex_index;
2655 if (
device->stateblock_state->streams[
i].buffer)
2674 unsigned int vb_pos;
2677 TRACE(
"iface %p, primitive_type %#x, primitive_count %u, data %p, stride %u.\n",
2678 iface, primitive_type, primitive_count,
data,
stride);
2680 if (!primitive_count || !
stride)
2682 WARN(
"primitive_count or stride is 0, returning D3D_OK.\n");
2711 const void *vertex_data,
UINT vertex_stride)
2716 unsigned int base_vertex_idx, vb_pos, ib_pos;
2718 UINT idx_size = idx_count * idx_fmt_size;
2721 TRACE(
"iface %p, primitive_type %#x, min_vertex_idx %u, vertex_count %u, primitive_count %u, "
2722 "index_data %p, index_format %#x, vertex_data %p, vertex_stride %u.\n",
2723 iface, primitive_type, min_vertex_idx,
vertex_count, primitive_count,
2724 index_data, index_format, vertex_data, vertex_stride);
2726 if (!primitive_count || !vertex_stride)
2728 WARN(
"primitive_count or vertex_stride is 0, returning D3D_OK.\n");
2735 (
char *)vertex_data + min_vertex_idx * vertex_stride, vtx_size, vertex_stride, &vb_pos)))
2739 index_data, idx_size, idx_fmt_size, &ib_pos)))
2748 base_vertex_idx = vb_pos / vertex_stride - min_vertex_idx;
2756 base_vertex_idx, ib_pos / idx_fmt_size, idx_count, 0, 0);
2775 unsigned int i,
map;
2778 TRACE(
"iface %p, src_start_idx %u, dst_idx %u, vertex_count %u, dst_buffer %p, flags %#lx.\n",
2799 ERR(
"Failed to set stream source.\n");
2814 ERR(
"Failed to set stream source.\n");
2827 DWORD shader_handle;
2831 TRACE(
"iface %p, declaration %p, byte_code %p, shader %p, usage %#lx.\n",
2834 if (!(
object =
calloc(1,
sizeof(*
object))))
2845 ERR(
"Failed to allocate vertex shader handle.\n");
2856 WARN(
"Failed to initialize vertex shader, hr %#lx.\n",
hr);
2865 TRACE(
"Created vertex shader %p (handle %#lx).\n",
object, shader_handle);
2878 TRACE(
"Searching for declaration for fvf %#lx... ",
fvf);
2881 high =
device->numConvertedDecls - 1;
2884 p = (low + high) >> 1;
2887 if (convertedDecls[
p].
fvf ==
fvf)
2893 if (convertedDecls[
p].
fvf <
fvf)
2898 TRACE(
"not found. Creating and inserting at position %d.\n", low);
2900 if (!(d3d8_declaration =
malloc(
sizeof(*d3d8_declaration))))
2905 WARN(
"Failed to initialize vertex declaration, hr %#lx.\n",
hr);
2906 free(d3d8_declaration);
2910 if (
device->declArraySize ==
device->numConvertedDecls)
2914 if (!(convertedDecls =
realloc(convertedDecls,
2915 sizeof(*convertedDecls) * (
device->numConvertedDecls + grow))))
2920 device->decls = convertedDecls;
2921 device->declArraySize += grow;
2924 memmove(convertedDecls + low + 1, convertedDecls + low,
2925 sizeof(*convertedDecls) * (
device->numConvertedDecls - low));
2926 convertedDecls[low].
declaration = d3d8_declaration;
2927 convertedDecls[low].
fvf =
fvf;
2928 ++
device->numConvertedDecls;
2930 TRACE(
"Returning %p. %u decls in array.\n", d3d8_declaration,
device->numConvertedDecls);
2932 return d3d8_declaration;
2955 TRACE(
"Setting shader\n");
2960 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
2983 if ((wined3d_declaration =
device->stateblock_state->vertex_declaration))
3009 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
3032 TRACE(
"iface %p, start_register %lu, data %p, count %lu.\n",
3037 WARN(
"Trying to access %lu constants, but d3d8 only supports %u.\n",
3055 TRACE(
"iface %p, start_idx %lu, constants %p, count %lu.\n", iface, start_idx,
constants,
count);
3071 TRACE(
"iface %p, shader %#lx, data %p, data_size %p.\n", iface,
shader,
data, data_size);
3079 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
3093 if (*data_size < declaration->elements_size)
3108 TRACE(
"iface %p, shader %#lx, data %p, data_size %p.\n", iface,
shader,
data, data_size);
3113 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
3133 IDirect3DIndexBuffer8 *
buffer,
UINT base_vertex_idx)
3139 TRACE(
"iface %p, buffer %p, base_vertex_idx %u.\n", iface,
buffer, base_vertex_idx);
3163 IDirect3DIndexBuffer8 **
buffer,
UINT *base_vertex_index)
3170 TRACE(
"iface %p, buffer %p, base_vertex_index %p.\n", iface,
buffer, base_vertex_index);
3178 *base_vertex_index =
state->base_vertex_index;
3199 DWORD shader_handle;
3203 TRACE(
"iface %p, byte_code %p, shader %p.\n", iface, byte_code,
shader);
3208 if (!(
object =
calloc(1,
sizeof(*
object))))
3216 ERR(
"Failed to allocate pixel shader handle.\n");
3226 WARN(
"Failed to initialize pixel shader, hr %#lx.\n",
hr);
3235 TRACE(
"Created pixel shader %p (handle %#lx).\n",
object, shader_handle);
3259 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
3264 TRACE(
"Setting shader %p.\n", shader_impl);
3282 if ((
object =
device->stateblock_state->ps))
3310 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
3331 TRACE(
"iface %p, start_register %lu, data %p, count %lu.\n", iface, start_register,
data,
count);
3346 TRACE(
"iface %p, start_idx %lu, constants %p, count %lu.\n", iface, start_idx,
constants,
count);
3365 TRACE(
"iface %p, shader %#lx, data %p, data_size %p.\n", iface,
shader,
data, data_size);
3370 WARN(
"Invalid handle (%#lx) passed.\n",
shader);
3385 FIXME(
"iface %p, handle %#x, segment_count %p, patch_info %p unimplemented.\n",
3386 iface,
handle, segment_count, patch_info);
3393 FIXME(
"iface %p, handle %#x, segment_count %p, patch_info %p unimplemented.\n",
3394 iface,
handle, segment_count, patch_info);
3400 FIXME(
"iface %p, handle %#x unimplemented.\n", iface,
handle);
3413 TRACE(
"iface %p, stream_idx %u, buffer %p, stride %u.\n",
3418 WARN(
"Stream index %u out of range.\n", stream_idx);
3439 device->sysmem_vb |= (1u << stream_idx);
3441 device->sysmem_vb &= ~(1u << stream_idx);
3457 TRACE(
"iface %p, stream_idx %u, buffer %p, stride %p.\n",
3465 WARN(
"Stream index %u out of range.\n", stream_idx);
3619 TRACE(
"device_parent %p, type %#x, wined3d_texture %p, sub_resource_idx %u, parent %p, parent_ops %p.\n",
3626 if (!(d3d_volume =
calloc(1,
sizeof(*d3d_volume))))
3631 TRACE(
"Created volume %p.\n", d3d_volume);
3635 ERR(
"Unhandled resource type %#x.\n",
type);
3652#if defined(__i386__) && defined(_MSC_VER)
3655 cw = (cw & ~0xf3f) | 0x3f;
3657#elif defined(__i386__) || (defined(__x86_64__) && !defined(__arm64ec__) && (defined(__GNUC__) || defined(__clang__)))
3659 __asm__ volatile (
"fnstcw %0" :
"=m" (cw));
3660 cw = (cw & ~0xf3f) | 0x3f;
3661 __asm__ volatile (
"fldcw %0" : :
"m" (cw));
3663 FIXME(
"FPU setup not implemented for this platform.\n");
3676 unsigned int output_idx;
3688 if (output_idx >=
parent->wined3d_output_count)
3696 sizeof(*
device->handle_table.entries))))
3698 ERR(
"Failed to allocate handle table memory.\n");
3712 WARN(
"Failed to create wined3d device, hr %#lx.\n",
hr);
3725 ERR(
"Failed to create primary stateblock, hr %#lx.\n",
hr);
3742 ERR(
"Failed to acquire focus window, hr %#lx.\n",
hr);
3766 WARN(
"Failed to create implicit swapchain, hr %#lx.\n",
hr);
3785 &swapchain_desc,
parameters->FullScreen_PresentationInterval);
3787 device->declArraySize = 16;
3790 ERR(
"Failed to allocate FVF vertex declaration map memory.\n");
#define DECLSPEC_HOTPATCH
#define InterlockedIncrement
#define InterlockedDecrement
static const char * wine_dbgstr_rect(const RECT *prc)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
#define D3DERR_INVALIDCALL
struct d3d8_texture * unsafe_impl_from_IDirect3DBaseTexture8(IDirect3DBaseTexture8 *iface)
void volume_init(struct d3d8_volume *volume, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx, const struct wined3d_parent_ops **parent_ops)
@ D3D8_DEVICE_STATE_NOT_RESET
void d3d8_vertex_declaration_destroy(struct d3d8_vertex_declaration *declaration)
#define VS_HIGHESTFIXEDFXF
#define D3D8_INVALID_HANDLE
HRESULT d3d8_vertex_shader_init(struct d3d8_vertex_shader *shader, struct d3d8_device *device, const DWORD *declaration, const DWORD *byte_code, DWORD shader_handle, DWORD usage)
HRESULT d3d8_texture_3d_init(struct d3d8_texture *texture, struct d3d8_device *device, unsigned int width, unsigned int height, unsigned int depth, unsigned int levels, DWORD usage, D3DFORMAT format, D3DPOOL pool)
struct d3d8_surface * unsafe_impl_from_IDirect3DSurface8(IDirect3DSurface8 *iface)
HRESULT d3d8_vertex_declaration_init_fvf(struct d3d8_vertex_declaration *declaration, struct d3d8_device *device, DWORD fvf)
struct d3d8_device * d3d8_surface_get_device(const struct d3d8_surface *surface)
#define D3D8_MAX_PIXEL_SHADER_CONSTANTF
#define D3D8_INITIAL_HANDLE_TABLE_SIZE
struct wined3d_rendertarget_view * d3d8_surface_acquire_rendertarget_view(struct d3d8_surface *surface)
static enum wined3d_device_type wined3d_device_type_from_d3d(D3DDEVTYPE type)
HRESULT d3d8_texture_cube_init(struct d3d8_texture *texture, struct d3d8_device *device, unsigned int edge_length, unsigned int level_count, DWORD usage, D3DFORMAT format, D3DPOOL pool)
static D3DMULTISAMPLE_TYPE d3dmultisample_type_from_wined3d(enum wined3d_multisample_type type)
#define D3DPRESENTFLAGS_MASK
struct d3d8_surface * d3d8_surface_create(struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx, IUnknown *container)
#define D3D8_MAX_VERTEX_SHADER_CONSTANTF
HRESULT d3d8_texture_2d_init(struct d3d8_texture *texture, struct d3d8_device *device, unsigned int width, unsigned int height, unsigned int level_count, DWORD usage, D3DFORMAT format, D3DPOOL pool)
void d3d8_vertex_shader_destroy(struct d3d8_vertex_shader *shader)
static struct wined3d_texture * d3d8_texture_get_draw_texture(struct d3d8_texture *texture)
static struct d3d8_device * impl_from_IDirect3DDevice8(IDirect3DDevice8 *iface)
HRESULT d3d8_pixel_shader_init(struct d3d8_pixel_shader *shader, struct d3d8_device *device, const DWORD *byte_code, DWORD shader_handle)
void d3d8_pixel_shader_destroy(struct d3d8_pixel_shader *shader)
HRESULT d3d8_swapchain_create(struct d3d8_device *device, struct wined3d_swapchain_desc *desc, unsigned int swap_interval, struct d3d8_swapchain **swapchain)
void d3d8_surface_release_rendertarget_view(struct d3d8_surface *surface, struct wined3d_rendertarget_view *rtv)
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
enum _D3DBACKBUFFER_TYPE D3DBACKBUFFER_TYPE
#define D3DPS_VERSION(major, minor)
enum _D3DDEVTYPE D3DDEVTYPE
#define D3DUSAGE_WRITEONLY
enum _D3DSWAPEFFECT D3DSWAPEFFECT
#define D3DLOCK_NO_DIRTY_UPDATE
@ D3DSWAPEFFECT_COPY_VSYNC
#define D3DLOCK_NOOVERWRITE
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
#define D3DLOCK_NOSYSLOCK
#define D3DVS_VERSION(major, minor)
enum _D3DFORMAT D3DFORMAT
enum _D3DMULTISAMPLE_TYPE D3DMULTISAMPLE_TYPE
enum _D3DSTATEBLOCKTYPE D3DSTATEBLOCKTYPE
static void CDECL device_parent_mode_changed(struct wined3d_device_parent *device_parent)
static void CDECL device_parent_activate(struct wined3d_device_parent *device_parent, BOOL activate)
static HRESULT CDECL device_parent_texture_sub_resource_created(struct wined3d_device_parent *device_parent, enum wined3d_resource_type type, struct wined3d_texture *wined3d_texture, unsigned int sub_resource_idx, void **parent, const struct wined3d_parent_ops **parent_ops)
static void CDECL device_parent_wined3d_device_created(struct wined3d_device_parent *device_parent, struct wined3d_device *wined3d_device)
struct d3d8_indexbuffer * unsafe_impl_from_IDirect3DIndexBuffer8(IDirect3DIndexBuffer8 *iface)
struct d3d8_vertexbuffer * unsafe_impl_from_IDirect3DVertexBuffer8(IDirect3DVertexBuffer8 *iface)
HRESULT indexbuffer_init(struct d3d8_indexbuffer *buffer, struct d3d8_device *device, UINT size, DWORD usage, D3DFORMAT format, D3DPOOL pool)
HRESULT vertexbuffer_init(struct d3d8_vertexbuffer *buffer, struct d3d8_device *device, UINT size, DWORD usage, DWORD fvf, D3DPOOL pool)
static D3DSWAPEFFECT d3dswapeffect_from_wined3dswapeffect(enum wined3d_swap_effect effect)
static HRESULT WINAPI d3d8_device_SetStreamSource(IDirect3DDevice8 *iface, UINT stream_idx, IDirect3DVertexBuffer8 *buffer, UINT stride)
static HRESULT WINAPI d3d8_device_BeginScene(IDirect3DDevice8 *iface)
static HRESULT WINAPI d3d8_device_GetClipPlane(IDirect3DDevice8 *iface, DWORD index, float *plane)
static HRESULT WINAPI d3d8_device_SetPixelShader(IDirect3DDevice8 *iface, DWORD shader)
static HRESULT WINAPI d3d8_device_GetTextureStageState(IDirect3DDevice8 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d8_device_Clear(IDirect3DDevice8 *iface, DWORD rect_count, const D3DRECT *rects, DWORD flags, D3DCOLOR color, float z, DWORD stencil)
static enum wined3d_transform_state wined3d_transform_state_from_d3d(D3DTRANSFORMSTATETYPE state)
static HRESULT WINAPI d3d8_device_DrawRectPatch(IDirect3DDevice8 *iface, UINT handle, const float *segment_count, const D3DRECTPATCH_INFO *patch_info)
static HRESULT WINAPI d3d8_device_SetVertexShaderConstant(IDirect3DDevice8 *iface, DWORD start_register, const void *data, DWORD count)
static HRESULT WINAPI d3d8_device_SetPaletteEntries(IDirect3DDevice8 *iface, UINT palette_idx, const PALETTEENTRY *entries)
static HRESULT WINAPI d3d8_device_LightEnable(IDirect3DDevice8 *iface, DWORD index, BOOL enable)
static HRESULT WINAPI d3d8_device_DrawIndexedPrimitiveUP(IDirect3DDevice8 *iface, D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx, UINT vertex_count, UINT primitive_count, const void *index_data, D3DFORMAT index_format, const void *vertex_data, UINT vertex_stride)
static HRESULT WINAPI d3d8_device_CopyRects(IDirect3DDevice8 *iface, IDirect3DSurface8 *src_surface, const RECT *src_rects, UINT rect_count, IDirect3DSurface8 *dst_surface, const POINT *dst_points)
static HRESULT WINAPI d3d8_device_GetLightEnable(IDirect3DDevice8 *iface, DWORD index, BOOL *enabled)
static void d3d8_device_upload_managed_textures(struct d3d8_device *device)
static void STDMETHODCALLTYPE d3d8_null_wined3d_object_destroyed(void *parent)
static HRESULT WINAPI d3d8_device_SetCursorProperties(IDirect3DDevice8 *iface, UINT hotspot_x, UINT hotspot_y, IDirect3DSurface8 *bitmap)
static struct d3d8_device * device_from_device_parent(struct wined3d_device_parent *device_parent)
static HRESULT WINAPI d3d8_device_CreateTexture(IDirect3DDevice8 *iface, UINT width, UINT height, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, IDirect3DTexture8 **texture)
static HRESULT WINAPI d3d8_device_TestCooperativeLevel(IDirect3DDevice8 *iface)
static HRESULT WINAPI d3d8_device_SetClipPlane(IDirect3DDevice8 *iface, DWORD index, const float *plane)
static HRESULT WINAPI d3d8_device_GetFrontBuffer(IDirect3DDevice8 *iface, IDirect3DSurface8 *dst_surface)
static enum wined3d_swap_interval wined3dswapinterval_from_d3d(DWORD interval)
static HRESULT WINAPI d3d8_device_DeletePixelShader(IDirect3DDevice8 *iface, DWORD shader)
static HRESULT WINAPI d3d8_device_GetRenderTarget(IDirect3DDevice8 *iface, IDirect3DSurface8 **render_target)
static HRESULT WINAPI d3d8_device_GetDeviceCaps(IDirect3DDevice8 *iface, D3DCAPS8 *caps)
static BOOL WINAPI d3d8_device_ShowCursor(IDirect3DDevice8 *iface, BOOL show)
static HRESULT WINAPI d3d8_device_GetPaletteEntries(IDirect3DDevice8 *iface, UINT palette_idx, PALETTEENTRY *entries)
static HRESULT CDECL reset_enum_callback(struct wined3d_resource *resource)
static ULONG WINAPI d3d8_device_AddRef(IDirect3DDevice8 *iface)
static HRESULT WINAPI d3d8_device_CreateStateBlock(IDirect3DDevice8 *iface, D3DSTATEBLOCKTYPE type, DWORD *handle)
static HRESULT WINAPI d3d8_device_UpdateTexture(IDirect3DDevice8 *iface, IDirect3DBaseTexture8 *src_texture, IDirect3DBaseTexture8 *dst_texture)
static enum wined3d_multisample_type wined3d_multisample_type_from_d3d(D3DMULTISAMPLE_TYPE type)
static HRESULT WINAPI d3d8_device_ApplyStateBlock(IDirect3DDevice8 *iface, DWORD token)
static HRESULT WINAPI d3d8_device_SetMaterial(IDirect3DDevice8 *iface, const D3DMATERIAL8 *material)
static HRESULT WINAPI d3d8_device_GetMaterial(IDirect3DDevice8 *iface, D3DMATERIAL8 *material)
static HRESULT WINAPI d3d8_device_SetClipStatus(IDirect3DDevice8 *iface, const D3DCLIPSTATUS8 *clip_status)
static void * d3d8_get_object(struct d3d8_handle_table *t, DWORD handle, enum d3d8_handle_type type)
static UINT WINAPI d3d8_device_GetAvailableTextureMem(IDirect3DDevice8 *iface)
static BOOL wined3d_swapchain_desc_from_d3d8(struct wined3d_swapchain_desc *swapchain_desc, struct wined3d_output *output, const D3DPRESENT_PARAMETERS *present_parameters)
static HRESULT WINAPI d3d8_device_CreateImageSurface(IDirect3DDevice8 *iface, UINT width, UINT height, D3DFORMAT format, IDirect3DSurface8 **surface)
static const struct wined3d_device_parent_ops d3d8_wined3d_device_parent_ops
static HRESULT WINAPI d3d8_device_SetPixelShaderConstant(IDirect3DDevice8 *iface, DWORD start_register, const void *data, DWORD count)
static HRESULT WINAPI d3d8_device_SetViewport(IDirect3DDevice8 *iface, const D3DVIEWPORT8 *viewport)
static HRESULT WINAPI d3d8_device_Present(IDirect3DDevice8 *iface, const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override, const RGNDATA *dirty_region)
static HRESULT WINAPI d3d8_device_CreateIndexBuffer(IDirect3DDevice8 *iface, UINT size, DWORD usage, D3DFORMAT format, D3DPOOL pool, IDirect3DIndexBuffer8 **buffer)
static DWORD d3d8_allocate_handle(struct d3d8_handle_table *t, void *object, enum d3d8_handle_type type)
static HRESULT WINAPI d3d8_device_CreateDepthStencilSurface(IDirect3DDevice8 *iface, UINT width, UINT height, D3DFORMAT format, D3DMULTISAMPLE_TYPE multisample_type, IDirect3DSurface8 **surface)
static const struct IDirect3DDevice8Vtbl d3d8_device_vtbl
static UINT vertex_count_from_primitive_count(D3DPRIMITIVETYPE primitive_type, UINT primitive_count)
HRESULT device_init(struct d3d8_device *device, struct d3d8 *parent, struct wined3d *wined3d, UINT adapter, D3DDEVTYPE device_type, HWND focus_window, DWORD flags, D3DPRESENT_PARAMETERS *parameters)
D3DFORMAT d3dformat_from_wined3dformat(enum wined3d_format_id format)
static HRESULT WINAPI d3d8_device_MultiplyTransform(IDirect3DDevice8 *iface, D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix)
static HRESULT d3d8_device_create_surface(struct d3d8_device *device, enum wined3d_format_id format, enum wined3d_multisample_type multisample_type, unsigned int bind_flags, unsigned int access, unsigned int width, unsigned int height, IDirect3DSurface8 **surface)
static void device_reset_viewport_state(struct d3d8_device *device)
static HRESULT WINAPI d3d8_device_GetCreationParameters(IDirect3DDevice8 *iface, D3DDEVICE_CREATION_PARAMETERS *parameters)
static HRESULT WINAPI d3d8_device_GetVertexShaderFunction(IDirect3DDevice8 *iface, DWORD shader, void *data, DWORD *data_size)
static HRESULT WINAPI d3d8_device_ResourceManagerDiscardBytes(IDirect3DDevice8 *iface, DWORD byte_count)
static HRESULT WINAPI d3d8_device_ProcessVertices(IDirect3DDevice8 *iface, UINT src_start_idx, UINT dst_idx, UINT vertex_count, IDirect3DVertexBuffer8 *dst_buffer, DWORD flags)
static HRESULT WINAPI d3d8_device_GetVertexShaderConstant(IDirect3DDevice8 *iface, DWORD start_idx, void *constants, DWORD count)
static HRESULT WINAPI d3d8_device_GetPixelShader(IDirect3DDevice8 *iface, DWORD *shader)
static HRESULT WINAPI d3d8_device_SetCurrentTexturePalette(IDirect3DDevice8 *iface, UINT palette_idx)
static HRESULT WINAPI d3d8_device_GetDisplayMode(IDirect3DDevice8 *iface, D3DDISPLAYMODE *mode)
static HRESULT WINAPI d3d8_device_SetIndices(IDirect3DDevice8 *iface, IDirect3DIndexBuffer8 *buffer, UINT base_vertex_idx)
static HRESULT WINAPI d3d8_device_CreatePixelShader(IDirect3DDevice8 *iface, const DWORD *byte_code, DWORD *shader)
static HRESULT d3d8_device_upload_sysmem_index_buffer(struct d3d8_device *device, unsigned int *start_idx, unsigned int idx_count)
static HRESULT WINAPI d3d8_device_EndStateBlock(IDirect3DDevice8 *iface, DWORD *token)
static HRESULT WINAPI d3d8_device_Reset(IDirect3DDevice8 *iface, D3DPRESENT_PARAMETERS *present_parameters)
static HRESULT WINAPI d3d8_device_CreateCubeTexture(IDirect3DDevice8 *iface, UINT edge_length, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, IDirect3DCubeTexture8 **texture)
static HRESULT WINAPI d3d8_device_GetPixelShaderFunction(IDirect3DDevice8 *iface, DWORD shader, void *data, DWORD *data_size)
static HRESULT WINAPI d3d8_device_GetDirect3D(IDirect3DDevice8 *iface, IDirect3D8 **d3d8)
static HRESULT WINAPI d3d8_device_GetLight(IDirect3DDevice8 *iface, DWORD index, D3DLIGHT8 *light)
static void * d3d8_free_handle(struct d3d8_handle_table *t, DWORD handle, enum d3d8_handle_type type)
static struct d3d8_vertex_declaration * d3d8_device_get_fvf_declaration(struct d3d8_device *device, DWORD fvf)
static HRESULT WINAPI d3d8_device_GetClipStatus(IDirect3DDevice8 *iface, D3DCLIPSTATUS8 *clip_status)
void d3dcaps_from_wined3dcaps(D3DCAPS8 *caps, const struct wined3d_caps *wined3d_caps, unsigned int adapter_ordinal)
static HRESULT WINAPI d3d8_device_SetRenderState(IDirect3DDevice8 *iface, D3DRENDERSTATETYPE state, DWORD value)
static HRESULT WINAPI d3d8_device_DrawPrimitive(IDirect3DDevice8 *iface, D3DPRIMITIVETYPE primitive_type, UINT start_vertex, UINT primitive_count)
static void d3d8_device_upload_sysmem_vertex_buffers(struct d3d8_device *device, unsigned int start_vertex, unsigned int vertex_count)
static HRESULT WINAPI d3d8_device_GetTexture(IDirect3DDevice8 *iface, DWORD stage, IDirect3DBaseTexture8 **texture)
static HRESULT WINAPI d3d8_device_QueryInterface(IDirect3DDevice8 *iface, REFIID riid, void **out)
static void resolve_depth_buffer(struct d3d8_device *device)
static HRESULT WINAPI d3d8_device_GetRasterStatus(IDirect3DDevice8 *iface, D3DRASTER_STATUS *raster_status)
static HRESULT WINAPI d3d8_device_CreateVolumeTexture(IDirect3DDevice8 *iface, UINT width, UINT height, UINT depth, UINT levels, DWORD usage, D3DFORMAT format, D3DPOOL pool, IDirect3DVolumeTexture8 **texture)
static HRESULT WINAPI d3d8_device_GetStreamSource(IDirect3DDevice8 *iface, UINT stream_idx, IDirect3DVertexBuffer8 **buffer, UINT *stride)
static HRESULT WINAPI d3d8_device_GetVertexShaderDeclaration(IDirect3DDevice8 *iface, DWORD shader, void *data, DWORD *data_size)
static enum wined3d_primitive_type wined3d_primitive_type_from_d3d(D3DPRIMITIVETYPE type)
static void setup_fpu(void)
static HRESULT WINAPI d3d8_device_DeleteStateBlock(IDirect3DDevice8 *iface, DWORD token)
static HRESULT WINAPI d3d8_device_GetTransform(IDirect3DDevice8 *iface, D3DTRANSFORMSTATETYPE state, D3DMATRIX *matrix)
static HRESULT WINAPI d3d8_device_DeletePatch(IDirect3DDevice8 *iface, UINT handle)
static HRESULT WINAPI d3d8_device_GetInfo(IDirect3DDevice8 *iface, DWORD info_id, void *info, DWORD info_size)
static HRESULT WINAPI d3d8_device_GetViewport(IDirect3DDevice8 *iface, D3DVIEWPORT8 *viewport)
static HRESULT WINAPI d3d8_device_GetRenderState(IDirect3DDevice8 *iface, D3DRENDERSTATETYPE state, DWORD *value)
static HRESULT WINAPI d3d8_device_SetVertexShader(IDirect3DDevice8 *iface, DWORD shader)
static HRESULT WINAPI d3d8_device_GetDepthStencilSurface(IDirect3DDevice8 *iface, IDirect3DSurface8 **depth_stencil)
static HRESULT WINAPI d3d8_device_BeginStateBlock(IDirect3DDevice8 *iface)
static void WINAPI d3d8_device_SetGammaRamp(IDirect3DDevice8 *iface, DWORD flags, const D3DGAMMARAMP *ramp)
static HRESULT WINAPI d3d8_device_DeleteVertexShader(IDirect3DDevice8 *iface, DWORD shader)
static HRESULT WINAPI d3d8_device_CreateVertexShader(IDirect3DDevice8 *iface, const DWORD *declaration, const DWORD *byte_code, DWORD *shader, DWORD usage)
static HRESULT WINAPI d3d8_device_GetVertexShader(IDirect3DDevice8 *iface, DWORD *shader)
const struct wined3d_parent_ops d3d8_null_wined3d_parent_ops
static HRESULT WINAPI d3d8_device_GetIndices(IDirect3DDevice8 *iface, IDirect3DIndexBuffer8 **buffer, UINT *base_vertex_index)
static enum wined3d_render_state wined3d_render_state_from_d3d(D3DRENDERSTATETYPE state)
static HRESULT WINAPI d3d8_device_CreateVertexBuffer(IDirect3DDevice8 *iface, UINT size, DWORD usage, DWORD fvf, D3DPOOL pool, IDirect3DVertexBuffer8 **buffer)
static HRESULT WINAPI DECLSPEC_HOTPATCH d3d8_device_EndScene(IDirect3DDevice8 *iface)
static HRESULT WINAPI d3d8_device_SetLight(IDirect3DDevice8 *iface, DWORD index, const D3DLIGHT8 *light)
unsigned int wined3dmapflags_from_d3dmapflags(unsigned int flags, unsigned int usage)
static HRESULT WINAPI d3d8_device_SetTexture(IDirect3DDevice8 *iface, DWORD stage, IDirect3DBaseTexture8 *texture)
static HRESULT WINAPI d3d8_device_GetBackBuffer(IDirect3DDevice8 *iface, UINT backbuffer_idx, D3DBACKBUFFER_TYPE backbuffer_type, IDirect3DSurface8 **backbuffer)
static ULONG WINAPI d3d8_device_Release(IDirect3DDevice8 *iface)
static HRESULT WINAPI d3d8_device_SetTransform(IDirect3DDevice8 *iface, D3DTRANSFORMSTATETYPE state, const D3DMATRIX *matrix)
static HRESULT WINAPI d3d8_device_SetTextureStageState(IDirect3DDevice8 *iface, DWORD stage, D3DTEXTURESTAGESTATETYPE type, DWORD value)
static HRESULT WINAPI d3d8_device_DrawPrimitiveUP(IDirect3DDevice8 *iface, D3DPRIMITIVETYPE primitive_type, UINT primitive_count, const void *data, UINT stride)
static enum wined3d_swap_effect wined3dswapeffect_from_d3dswapeffect(D3DSWAPEFFECT effect)
static HRESULT WINAPI d3d8_device_SetRenderTarget(IDirect3DDevice8 *iface, IDirect3DSurface8 *render_target, IDirect3DSurface8 *depth_stencil)
static HRESULT WINAPI d3d8_device_DrawTriPatch(IDirect3DDevice8 *iface, UINT handle, const float *segment_count, const D3DTRIPATCH_INFO *patch_info)
static HRESULT WINAPI d3d8_device_GetPixelShaderConstant(IDirect3DDevice8 *iface, DWORD start_idx, void *constants, DWORD count)
static HRESULT WINAPI d3d8_device_CreateAdditionalSwapChain(IDirect3DDevice8 *iface, D3DPRESENT_PARAMETERS *present_parameters, IDirect3DSwapChain8 **swapchain)
static HRESULT WINAPI d3d8_device_CreateRenderTarget(IDirect3DDevice8 *iface, UINT width, UINT height, D3DFORMAT format, D3DMULTISAMPLE_TYPE multisample_type, BOOL lockable, IDirect3DSurface8 **surface)
static void present_parameters_from_wined3d_swapchain_desc(D3DPRESENT_PARAMETERS *present_parameters, const struct wined3d_swapchain_desc *swapchain_desc, DWORD presentation_interval)
static HRESULT WINAPI d3d8_device_CaptureStateBlock(IDirect3DDevice8 *iface, DWORD token)
static HRESULT WINAPI d3d8_device_DrawIndexedPrimitive(IDirect3DDevice8 *iface, D3DPRIMITIVETYPE primitive_type, UINT min_vertex_idx, UINT vertex_count, UINT start_idx, UINT primitive_count)
enum wined3d_format_id wined3dformat_from_d3dformat(D3DFORMAT format)
static void WINAPI d3d8_device_GetGammaRamp(IDirect3DDevice8 *iface, D3DGAMMARAMP *ramp)
static HRESULT WINAPI d3d8_device_ValidateDevice(IDirect3DDevice8 *iface, DWORD *pass_count)
static HRESULT WINAPI d3d8_device_GetCurrentTexturePalette(IDirect3DDevice8 *iface, UINT *palette_idx)
static void WINAPI d3d8_device_SetCursorPosition(IDirect3DDevice8 *iface, UINT x, UINT y, DWORD flags)
HRESULT CDECL wined3d_streaming_buffer_upload(struct wined3d_device *device, struct wined3d_streaming_buffer *buffer, const void *data, unsigned int size, unsigned int stride, unsigned int *ret_pos)
void *CDECL wined3d_buffer_get_parent(const struct wined3d_buffer *buffer)
struct wined3d_resource *CDECL wined3d_buffer_get_resource(struct wined3d_buffer *buffer)
void CDECL wined3d_device_context_draw(struct wined3d_device_context *context, unsigned int start_vertex, unsigned int vertex_count, unsigned int start_instance, unsigned int instance_count)
void CDECL wined3d_device_context_set_primitive_type(struct wined3d_device_context *context, enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count)
void CDECL wined3d_device_get_creation_parameters(const struct wined3d_device *device, struct wined3d_device_creation_parameters *parameters)
HRESULT CDECL wined3d_device_acquire_focus_window(struct wined3d_device *device, HWND window)
HRESULT CDECL wined3d_device_get_clip_status(const struct wined3d_device *device, struct wined3d_clip_status *clip_status)
void CDECL wined3d_device_context_resolve_sub_resource(struct wined3d_device_context *context, struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx, struct wined3d_resource *src_resource, unsigned int src_sub_resource_idx, enum wined3d_format_id format_id)
HRESULT CDECL wined3d_device_context_set_rendertarget_views(struct wined3d_device_context *context, unsigned int start_idx, unsigned int count, struct wined3d_rendertarget_view *const *views, BOOL set_viewport)
void CDECL wined3d_device_set_cursor_position(struct wined3d_device *device, int x_screen_space, int y_screen_space, uint32_t flags)
void CDECL wined3d_device_evict_managed_resources(struct wined3d_device *device)
struct wined3d_rendertarget_view *CDECL wined3d_device_context_get_depth_stencil_view(const struct wined3d_device_context *context)
HRESULT CDECL wined3d_device_set_clip_status(struct wined3d_device *device, const struct wined3d_clip_status *clip_status)
HRESULT CDECL wined3d_device_context_copy_sub_resource_region(struct wined3d_device_context *context, struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx, unsigned int dst_x, unsigned int dst_y, unsigned int dst_z, struct wined3d_resource *src_resource, unsigned int src_sub_resource_idx, const struct wined3d_box *src_box, unsigned int flags)
UINT CDECL wined3d_device_get_available_texture_mem(const struct wined3d_device *device)
ULONG CDECL wined3d_device_decref(struct wined3d_device *device)
void CDECL wined3d_device_context_get_scissor_rects(const struct wined3d_device_context *context, unsigned int *rect_count, RECT *rects)
HRESULT CDECL wined3d_device_clear(struct wined3d_device *device, unsigned int rect_count, const RECT *rects, uint32_t flags, const struct wined3d_color *color, float depth, unsigned int stencil)
HRESULT CDECL wined3d_device_reset(struct wined3d_device *device, const struct wined3d_swapchain_desc *swapchain_desc, const struct wined3d_display_mode *mode, wined3d_device_reset_cb callback, BOOL reset_state)
HRESULT CDECL wined3d_device_set_cursor_properties(struct wined3d_device *device, UINT x_hotspot, UINT y_hotspot, struct wined3d_texture *texture, unsigned int sub_resource_idx)
HRESULT CDECL wined3d_device_update_texture(struct wined3d_device *device, struct wined3d_texture *src_texture, struct wined3d_texture *dst_texture)
struct wined3d_rendertarget_view *CDECL wined3d_device_context_get_rendertarget_view(const struct wined3d_device_context *context, unsigned int view_idx)
void CDECL wined3d_device_set_multithreaded(struct wined3d_device *device)
void CDECL wined3d_device_set_gamma_ramp(const struct wined3d_device *device, UINT swapchain_idx, uint32_t flags, const struct wined3d_gamma_ramp *ramp)
HRESULT CDECL wined3d_device_end_scene(struct wined3d_device *device)
void CDECL wined3d_device_context_get_viewports(const struct wined3d_device_context *context, unsigned int *viewport_count, struct wined3d_viewport *viewports)
struct wined3d_device_context *CDECL wined3d_device_get_immediate_context(struct wined3d_device *device)
BOOL CDECL wined3d_device_show_cursor(struct wined3d_device *device, BOOL show)
void CDECL wined3d_device_release_focus_window(struct wined3d_device *device)
HRESULT CDECL wined3d_device_validate_device(const struct wined3d_device *device, const struct wined3d_stateblock_state *state, DWORD *num_passes)
struct wined3d_swapchain *CDECL wined3d_device_get_swapchain(const struct wined3d_device *device, UINT swapchain_idx)
void CDECL wined3d_device_context_draw_indexed(struct wined3d_device_context *context, int base_vertex_index, unsigned int start_index, unsigned int index_count, unsigned int start_instance, unsigned int instance_count)
HRESULT CDECL wined3d_device_get_device_caps(const struct wined3d_device *device, struct wined3d_caps *caps)
void CDECL wined3d_device_get_gamma_ramp(const struct wined3d_device *device, UINT swapchain_idx, struct wined3d_gamma_ramp *ramp)
HRESULT CDECL wined3d_device_get_display_mode(const struct wined3d_device *device, UINT swapchain_idx, struct wined3d_display_mode *mode, enum wined3d_display_rotation *rotation)
UINT CDECL wined3d_device_get_swapchain_count(const struct wined3d_device *device)
HRESULT CDECL wined3d_device_begin_scene(struct wined3d_device *device)
HRESULT CDECL wined3d_device_context_set_depth_stencil_view(struct wined3d_device_context *context, struct wined3d_rendertarget_view *view)
HRESULT CDECL wined3d_device_get_raster_status(const struct wined3d_device *device, UINT swapchain_idx, struct wined3d_raster_status *raster_status)
HRESULT CDECL wined3d_device_process_vertices(struct wined3d_device *device, struct wined3d_stateblock *stateblock, UINT src_start_idx, UINT dst_idx, UINT vertex_count, struct wined3d_buffer *dst_buffer, const struct wined3d_vertex_declaration *declaration, uint32_t flags, uint32_t dst_fvf)
void CDECL wined3d_device_context_set_index_buffer(struct wined3d_device_context *context, struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset)
HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
void *CDECL wined3d_resource_get_parent(const struct wined3d_resource *resource)
void CDECL wined3d_resource_get_desc(const struct wined3d_resource *resource, struct wined3d_resource_desc *desc)
HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, uint32_t flags)
void *CDECL wined3d_shader_get_parent(const struct wined3d_shader *shader)
HRESULT CDECL wined3d_shader_get_byte_code(const struct wined3d_shader *shader, void *byte_code, UINT *byte_code_size)
void *CDECL wined3d_texture_get_parent(const struct wined3d_texture *texture)
HRESULT CDECL wined3d_texture_get_sub_resource_desc(const struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc)
struct wined3d_texture *__cdecl wined3d_texture_from_resource(struct wined3d_resource *resource)
HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct wined3d_resource_desc *desc, UINT layer_count, UINT level_count, uint32_t flags, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture)
void *CDECL wined3d_texture_get_sub_resource_parent(struct wined3d_texture *texture, unsigned int sub_resource_idx)
struct wined3d_resource *CDECL wined3d_texture_get_resource(struct wined3d_texture *texture)
ULONG CDECL wined3d_texture_decref(struct wined3d_texture *texture)
UINT CDECL wined3d_texture_get_level_count(const struct wined3d_texture *texture)
HRESULT CDECL wined3d_device_context_blt(struct wined3d_device_context *context, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, const RECT *dst_rect, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, const RECT *src_rect, unsigned int flags, const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
void *CDECL wined3d_rendertarget_view_get_sub_resource_parent(const struct wined3d_rendertarget_view *view)
struct wined3d_resource *CDECL wined3d_rendertarget_view_get_resource(const struct wined3d_rendertarget_view *view)
#define D3DPRASTERCAPS_ANTIALIASEDGES
#define D3DCAPS2_RESERVED
#define D3DPRESENT_INTERVAL_THREE
#define D3DPTEXTURECAPS_CUBEMAP_POW2
#define D3DPBLENDCAPS_SRCCOLOR
#define D3DVTXPCAPS_LOCALVIEWER
#define D3DPTEXTURECAPS_PROJECTED
#define D3DPRASTERCAPS_WBUFFER
#define D3DPBLENDCAPS_DESTCOLOR
#define D3DPMISCCAPS_CULLNONE
#define D3DPTFILTERCAPS_MAGFAFLATCUBIC
#define D3DPTFILTERCAPS_MIPFLINEAR
#define D3DPMISCCAPS_CLIPTLVERTS
#define D3DPMISCCAPS_CULLCW
#define D3DPBLENDCAPS_INVSRCCOLOR
#define D3DPBLENDCAPS_ZERO
#define D3DCAPS2_CANRENDERWINDOWED
#define D3DPRASTERCAPS_STRETCHBLTMULTISAMPLE
#define D3DPTFILTERCAPS_MINFANISOTROPIC
#define D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
#define D3DPBLENDCAPS_INVDESTCOLOR
#define D3DPBLENDCAPS_INVDESTALPHA
#define D3DVTXPCAPS_MATERIALSOURCE7
#define D3DPMISCCAPS_COLORWRITEENABLE
#define D3DPTFILTERCAPS_MINFLINEAR
#define D3DPTEXTURECAPS_SQUAREONLY
#define D3DPTFILTERCAPS_MAGFANISOTROPIC
#define D3DPTEXTURECAPS_ALPHAPALETTE
#define D3DPMISCCAPS_NULLREFERENCE
#define D3DPRASTERCAPS_ZBUFFERLESSHSR
#define D3DPBLENDCAPS_SRCALPHASAT
#define D3DPBLENDCAPS_BOTHSRCALPHA
#define D3DPMISCCAPS_CLIPPLANESCALEDPOINTS
#define D3DPRASTERCAPS_WFOG
#define D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD
#define D3DVTXPCAPS_NO_VSDT_UBYTE4
#define D3DPRESENT_INTERVAL_TWO
#define D3DPTEXTURECAPS_ALPHA
#define D3DPMISCCAPS_BLENDOP
#define D3DPMISCCAPS_CULLCCW
#define D3DPMISCCAPS_LINEPATTERNREP
#define D3DPTEXTURECAPS_VOLUMEMAP
#define D3DPRESENT_INTERVAL_FOUR
#define D3DPTEXTURECAPS_VOLUMEMAP_POW2
#define D3DPRESENT_INTERVAL_IMMEDIATE
#define D3DPRASTERCAPS_ANISOTROPY
#define D3DVTXPCAPS_DIRECTIONALLIGHTS
#define D3DPRASTERCAPS_COLORPERSPECTIVE
#define D3DPBLENDCAPS_INVSRCALPHA
#define D3DCAPS2_CANCALIBRATEGAMMA
#define D3DPRASTERCAPS_ZFOG
#define D3DPBLENDCAPS_DESTALPHA
#define D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC
#define D3DPTEXTURECAPS_NONPOW2CONDITIONAL
#define D3DPRESENT_INTERVAL_ONE
#define D3DCAPS3_RESERVED
#define D3DPRASTERCAPS_PAT
#define D3DPRASTERCAPS_FOGRANGE
#define D3DPTEXTURECAPS_PERSPECTIVE
#define D3DPBLENDCAPS_SRCALPHA
#define D3DVTXPCAPS_TWEENING
#define D3DPBLENDCAPS_ONE
#define D3DPRASTERCAPS_FOGVERTEX
#define D3DPMISCCAPS_TSSARGTEMP
#define D3DPTFILTERCAPS_MAGFLINEAR
#define D3DCAPS2_NO2DDURING3DSCENE
#define D3DPTFILTERCAPS_MINFPOINT
#define D3DPTEXTURECAPS_CUBEMAP
#define D3DVTXPCAPS_TEXGEN
#define D3DCAPS2_DYNAMICTEXTURES
#define D3DPBLENDCAPS_BOTHINVSRCALPHA
#define D3DPRASTERCAPS_FOGTABLE
#define D3DCAPS2_CANMANAGERESOURCE
#define D3DPTEXTURECAPS_MIPCUBEMAP
#define D3DPTFILTERCAPS_MIPFPOINT
#define D3DPMISCCAPS_MASKZ
#define D3DPRASTERCAPS_ZTEST
#define D3DVTXPCAPS_POSITIONALLIGHTS
#define D3DPRASTERCAPS_ZBIAS
#define D3DCAPS2_FULLSCREENGAMMA
#define D3DPTEXTURECAPS_MIPMAP
#define D3DPTEXTURECAPS_POW2
#define D3DPRESENT_INTERVAL_DEFAULT
#define D3DPTFILTERCAPS_MAGFPOINT
#define D3DPRASTERCAPS_MIPMAPLODBIAS
#define D3DPTEXTURECAPS_MIPVOLUMEMAP
#define D3DPRASTERCAPS_DITHER
static void depth_stencil(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
GLint GLint GLsizei GLsizei GLsizei depth
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLuint GLuint GLsizei GLenum type
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei width
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLuint GLint GLboolean GLint GLenum access
GLubyte GLubyte GLubyte GLubyte w
GLsizeiptr const GLvoid GLenum usage
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 token
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
static D3D_DRIVER_TYPE HMODULE UINT const D3D_FEATURE_LEVEL * feature_levels
#define InterlockedCompareExchange
#define memcpy(s1, s2, n)
#define memmove(s1, s2, n)
D3D11_SHADER_VARIABLE_DESC desc
static const char * dst_format
static const BYTE ramp[17]
#define IsEqualGUID(rguid1, rguid2)
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tpush %rbx\n" "\t.seh_pushreg %rbx\n" "\tpush %rdi\n" "\t.seh_pushreg %rdi\n" "\tpush %rsi\n" "\t.seh_pushreg %rsi\n" "\tpush %r12\n" "\t.seh_pushreg %r12\n" "\tpush %r13\n" "\t.seh_pushreg %r13\n" "\tpush %r14\n" "\t.seh_pushreg %r14\n" "\tpush %r15\n" "\t.seh_pushreg %r15\n" "\tsub $40, %rsp\n" "\t.seh_stackalloc 40\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $40, %rsp\n" "\tpop %r15\n" "\tpop %r14\n" "\tpop %r13\n" "\tpop %r12\n" "\tpop %rsi\n" "\tpop %rdi\n" "\tpop %rbx\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
#define IDirect3DSurface8_GetDesc(p, a)
#define IDirect3D8_Release(p)
#define IDirect3DSwapChain8_Release(p)
#define IDirect3DBaseTexture8_AddRef(p)
#define IDirect3DSwapChain8_Present(p, a, b, c, d)
#define IDirect3DTexture8_Release(p)
#define D3DCREATE_MULTITHREADED
#define IDirect3D8_QueryInterface(p, a, b)
#define IDirect3DSurface8_AddRef(p)
#define IDirect3DDevice8_SetVertexShader(p, a)
#define D3DERR_DEVICENOTRESET
#define IDirect3DIndexBuffer8_AddRef(p)
#define D3DCREATE_FPU_PRESERVE
#define D3DERR_OUTOFVIDEOMEMORY
#define IDirect3DVertexBuffer8_AddRef(p)
#define D3DERR_DEVICELOST
#define IDirect3DDevice8_AddRef(p)
#define IDirect3DBaseTexture8_Release(p)
#define IDirect3D8_GetAdapterDisplayMode(p, a, b)
#define IDirect3DDevice8_SetPixelShader(p, a)
#define IDirect3D8_AddRef(p)
wchar_t const *const size_t const buffer_size
struct d3d8_vertex_declaration * declaration
DWORD PresentationIntervals
DWORD MaxTextureAspectRatio
DWORD VolumeTextureAddressCaps
DWORD MaxVertexShaderConst
DWORD VertexProcessingCaps
DWORD VertexShaderVersion
DWORD MaxSimultaneousTextures
DWORD MaxTextureBlendStages
DWORD CubeTextureFilterCaps
float MaxPixelShaderValue
DWORD VolumeTextureFilterCaps
DWORD MaxVertexBlendMatrices
DWORD MaxVertexBlendMatrixIndex
UINT FullScreen_RefreshRateInHz
BOOL EnableAutoDepthStencil
D3DMULTISAMPLE_TYPE MultiSampleType
D3DFORMAT BackBufferFormat
UINT FullScreen_PresentationInterval
D3DFORMAT AutoDepthStencilFormat
struct wined3d_device_parent device_parent
struct wined3d_buffer * wined3d_buffer
enum wined3d_format_id format
IDirect3DIndexBuffer8 IDirect3DIndexBuffer8_iface
struct wined3d_shader * wined3d_shader
IDirect3DDevice8 * parent_device
unsigned int sub_resource_idx
struct wined3d_rendertarget_view * wined3d_rtv
IDirect3DSurface8 IDirect3DSurface8_iface
struct d3d8_resource resource
struct wined3d_texture * wined3d_texture
unsigned int swap_interval
IDirect3DSwapChain8 IDirect3DSwapChain8_iface
struct wined3d_swapchain * wined3d_swapchain
struct wined3d_texture * wined3d_texture
IDirect3DBaseTexture8 IDirect3DBaseTexture8_iface
struct wined3d_texture * draw_texture
struct wined3d_shader * wined3d_shader
struct d3d8_vertex_declaration * vertex_declaration
IDirect3DVertexBuffer8 IDirect3DVertexBuffer8_iface
struct wined3d_buffer * draw_buffer
struct wined3d_buffer * wined3d_buffer
unsigned int sub_resource_idx
enum wined3d_texture_stage_state texture_state
enum wined3d_sampler_state sampler_state
DWORD MaxVertexBlendMatrices
DWORD MaxTextureBlendStages
DWORD VolumeTextureAddressCaps
float PixelShader1xMaxValue
DWORD MaxVertexBlendMatrixIndex
DWORD VertexProcessingCaps
DWORD VolumeTextureFilterCaps
DWORD VertexShaderVersion
enum wined3d_device_type DeviceType
DWORD CubeTextureFilterCaps
DWORD MaxTextureAspectRatio
DWORD MaxSimultaneousTextures
DWORD MaxVertexShaderConst
enum wined3d_format_id format_id
enum wined3d_format_id format
unsigned int multisample_quality
enum wined3d_multisample_type multisample_type
unsigned int multisample_quality
unsigned int backbuffer_height
BOOL auto_restore_display_mode
enum wined3d_multisample_type multisample_type
enum wined3d_format_id auto_depth_stencil_format
struct wined3d_output * output
unsigned int backbuffer_width
unsigned int backbuffer_count
enum wined3d_format_id backbuffer_format
enum wined3d_swap_effect swap_effect
BOOL enable_auto_depth_stencil
unsigned int refresh_rate
unsigned int backbuffer_bind_flags
unsigned int swap_interval
#define CONTAINING_RECORD(address, type, field)
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
struct wined3d_adapter *CDECL wined3d_output_get_adapter(const struct wined3d_output *output)
HRESULT CDECL wined3d_get_device_caps(const struct wined3d_adapter *adapter, enum wined3d_device_type device_type, struct wined3d_caps *caps)
HRESULT CDECL wined3d_device_create(struct wined3d *wined3d, struct wined3d_adapter *adapter, enum wined3d_device_type device_type, HWND focus_window, uint32_t flags, BYTE surface_alignment, const enum wined3d_feature_level *feature_levels, unsigned int feature_level_count, struct wined3d_device_parent *device_parent, struct wined3d_device **device)
HRESULT CDECL wined3d_stateblock_set_vs_consts_f(struct wined3d_stateblock *stateblock, unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants)
void CDECL wined3d_stateblock_set_vertex_declaration(struct wined3d_stateblock *stateblock, struct wined3d_vertex_declaration *declaration)
HRESULT CDECL wined3d_stateblock_create(struct wined3d_device *device, const struct wined3d_stateblock *device_state, enum wined3d_stateblock_type type, struct wined3d_stateblock **stateblock)
void CDECL wined3d_stateblock_set_material(struct wined3d_stateblock *stateblock, const struct wined3d_material *material)
void CDECL wined3d_stateblock_reset(struct wined3d_stateblock *stateblock)
void CDECL wined3d_stateblock_set_texture(struct wined3d_stateblock *stateblock, UINT stage, struct wined3d_texture *texture)
void CDECL wined3d_stateblock_init_contained_states(struct wined3d_stateblock *stateblock)
HRESULT CDECL wined3d_stateblock_set_light(struct wined3d_stateblock *stateblock, UINT light_idx, const struct wined3d_light *light)
void CDECL wined3d_stateblock_depth_buffer_changed(struct wined3d_stateblock *stateblock)
HRESULT CDECL wined3d_stateblock_set_clip_plane(struct wined3d_stateblock *stateblock, UINT plane_idx, const struct wined3d_vec4 *plane)
HRESULT CDECL wined3d_stateblock_set_light_enable(struct wined3d_stateblock *stateblock, UINT light_idx, BOOL enable)
void CDECL wined3d_stateblock_set_pixel_shader(struct wined3d_stateblock *stateblock, struct wined3d_shader *shader)
HRESULT CDECL wined3d_stateblock_get_vs_consts_f(struct wined3d_stateblock *stateblock, unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants)
HRESULT CDECL wined3d_stateblock_set_ps_consts_f(struct wined3d_stateblock *stateblock, unsigned int start_idx, unsigned int count, const struct wined3d_vec4 *constants)
void CDECL wined3d_stateblock_set_sampler_state(struct wined3d_stateblock *stateblock, UINT sampler_idx, enum wined3d_sampler_state state, unsigned int value)
void CDECL wined3d_stateblock_set_vertex_shader(struct wined3d_stateblock *stateblock, struct wined3d_shader *shader)
const struct wined3d_stateblock_state *CDECL wined3d_stateblock_get_state(const struct wined3d_stateblock *stateblock)
ULONG CDECL wined3d_stateblock_decref(struct wined3d_stateblock *stateblock)
void CDECL wined3d_stateblock_set_transform(struct wined3d_stateblock *stateblock, enum wined3d_transform_state d3dts, const struct wined3d_matrix *matrix)
void CDECL wined3d_stateblock_multiply_transform(struct wined3d_stateblock *stateblock, enum wined3d_transform_state d3dts, const struct wined3d_matrix *matrix)
void CDECL wined3d_stateblock_set_index_buffer(struct wined3d_stateblock *stateblock, struct wined3d_buffer *buffer, enum wined3d_format_id format_id)
void CDECL wined3d_stateblock_set_render_state(struct wined3d_stateblock *stateblock, enum wined3d_render_state state, unsigned int value)
void CDECL wined3d_stateblock_apply(const struct wined3d_stateblock *stateblock, struct wined3d_stateblock *device_state)
void CDECL wined3d_stateblock_set_scissor_rect(struct wined3d_stateblock *stateblock, const RECT *rect)
void CDECL wined3d_stateblock_apply_clear_state(struct wined3d_stateblock *stateblock, struct wined3d_device *device)
void CDECL wined3d_stateblock_capture(struct wined3d_stateblock *stateblock, const struct wined3d_stateblock *device_state)
HRESULT CDECL wined3d_stateblock_get_ps_consts_f(struct wined3d_stateblock *stateblock, unsigned int start_idx, unsigned int count, struct wined3d_vec4 *constants)
void CDECL wined3d_stateblock_set_base_vertex_index(struct wined3d_stateblock *stateblock, INT base_index)
HRESULT CDECL wined3d_stateblock_set_stream_source(struct wined3d_stateblock *stateblock, UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride)
HRESULT CDECL wined3d_stateblock_get_light(const struct wined3d_stateblock *stateblock, UINT light_idx, struct wined3d_light *light, BOOL *enabled)
void CDECL wined3d_stateblock_set_texture_stage_state(struct wined3d_stateblock *stateblock, UINT stage, enum wined3d_texture_stage_state state, unsigned int value)
void CDECL wined3d_stateblock_set_viewport(struct wined3d_stateblock *stateblock, const struct wined3d_viewport *viewport)
void CDECL wined3d_device_apply_stateblock(struct wined3d_device *device, struct wined3d_stateblock *stateblock)
struct wined3d_texture *CDECL wined3d_swapchain_get_back_buffer(const struct wined3d_swapchain *swapchain, UINT back_buffer_idx)
void CDECL wined3d_swapchain_get_desc(const struct wined3d_swapchain *swapchain, struct wined3d_swapchain_desc *desc)
void *CDECL wined3d_swapchain_get_parent(const struct wined3d_swapchain *swapchain)
ULONG CDECL wined3d_swapchain_decref(struct wined3d_swapchain *swapchain)
ULONG CDECL wined3d_swapchain_incref(struct wined3d_swapchain *swapchain)
HRESULT CDECL wined3d_swapchain_get_front_buffer_data(const struct wined3d_swapchain *swapchain, struct wined3d_texture *dst_texture, unsigned int sub_resource_idx)
void *CDECL wined3d_vertex_declaration_get_parent(const struct wined3d_vertex_declaration *declaration)
#define WINED3DERR_UNSUPPORTEDTEXTUREFILTER
@ WINED3D_MULTISAMPLE_NONE
@ WINED3D_SWAP_INTERVAL_TWO
@ WINED3D_SWAP_INTERVAL_FOUR
@ WINED3D_SWAP_INTERVAL_ONE
@ WINED3D_SWAP_INTERVAL_DEFAULT
@ WINED3D_SWAP_INTERVAL_THREE
@ WINED3D_SWAP_INTERVAL_IMMEDIATE
@ WINED3D_RS_ANTIALIASEDLINEENABLE
@ WINED3D_RS_POINTSIZE_MIN
#define WINED3D_SWAPCHAIN_ALLOW_MODE_SWITCH
static int wined3d_bit_scan(unsigned int *x)
#define WINED3D_SWAPCHAIN_IMPLICIT
@ WINED3D_SWAP_EFFECT_COPY
@ WINED3D_SWAP_EFFECT_SEQUENTIAL
@ WINED3D_SWAP_EFFECT_DISCARD
@ WINED3D_SWAP_EFFECT_COPY_VSYNC
#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
#define WINED3D_RESOURCE_ACCESS_CPU
@ WINED3D_RTYPE_TEXTURE_2D
@ WINED3D_RTYPE_TEXTURE_3D
static void wined3d_streaming_buffer_init(struct wined3d_streaming_buffer *buffer, unsigned int bind_flags)
#define WINED3D_MAX_FRAGMENT_SAMPLERS
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
@ WINED3DFMT_B2G3R3_UNORM
@ WINED3DFMT_B4G4R4A4_UNORM
@ WINED3DFMT_R16G16_UNORM
@ WINED3DFMT_R10G10B10A2_UNORM
@ WINED3DFMT_R16G16_SNORM
@ WINED3DFMT_B8G8R8A8_UNORM
@ WINED3DFMT_R8G8B8A8_SNORM
@ WINED3DFMT_D16_LOCKABLE
@ WINED3DFMT_R10G11B11_SNORM
@ WINED3DFMT_S1_UINT_D15_UNORM
@ WINED3DFMT_B2G3R3A8_UNORM
@ WINED3DFMT_B8G8R8X8_UNORM
@ WINED3DFMT_B5G5R5X1_UNORM
@ WINED3DFMT_R5G5_SNORM_L6_UNORM
@ WINED3DFMT_B8G8R8_UNORM
@ WINED3DFMT_B5G5R5A1_UNORM
@ WINED3DFMT_R10G10B10_SNORM_A2_UNORM
@ WINED3DFMT_R8G8_SNORM_L8X8_UNORM
@ WINED3DFMT_B5G6R5_UNORM
@ WINED3DFMT_S4X4_UINT_D24_UNORM
@ WINED3DFMT_B4G4R4X4_UNORM
@ WINED3DFMT_D24_UNORM_S8_UINT
@ WINED3DFMT_P8_UINT_A8_UNORM
#define WINED3D_BIND_DEPTH_STENCIL
#define WINED3DLINECAPS_ANTIALIAS
static void wined3d_box_set(struct wined3d_box *box, unsigned int left, unsigned int top, unsigned int right, unsigned int bottom, unsigned int front, unsigned int back)
#define WINED3D_RESOURCE_ACCESS_MAP_R
#define WINED3DUSAGE_MANAGED
#define WINED3DPRASTERCAPS_DEPTHBIAS
static bool wined3d_bound_range(unsigned int start, unsigned int count, unsigned int limit)
#define WINED3D_MAP_WRITE
@ WINED3D_FEATURE_LEVEL_8
@ WINED3D_FEATURE_LEVEL_7
@ WINED3D_FEATURE_LEVEL_6
@ WINED3D_FEATURE_LEVEL_5
#define WINED3D_BIND_RENDER_TARGET
static void wined3d_streaming_buffer_cleanup(struct wined3d_streaming_buffer *buffer)
#define WINED3DERR_INVALIDCALL
#define WINED3D_BIND_INDEX_BUFFER
#define WINED3D_RESOURCE_ACCESS_MAP_W
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)