25#ifndef __WINE_WINED3D_PRIVATE_H
26#define __WINE_WINED3D_PRIVATE_H
35#define LIBVKD3D_SHADER_SOURCE
38#define WIN32_NO_STATUS
46#include "ddk/d3dkmthk.h"
52#include "wine/rbtree.h"
97#define MAKEDWORD_VERSION(maj, min) (((maj & 0xffffu) << 16) | (min & 0xffffu))
99#define WINED3D_MAX_DIRTY_REGION_COUNT 7
101#define WINED3D_ALPHA_TO_COVERAGE_ENABLE MAKEFOURCC('A','2','M','1')
102#define WINED3D_ALPHA_TO_COVERAGE_DISABLE MAKEFOURCC('A','2','M','0')
104#define WINED3D_BITMAP_SIZE(x) (((x) + 31) >> 5)
285 return f1.x_sign_fixup ==
f2.x_sign_fixup &&
f1.x_source ==
f2.x_source
286 &&
f1.y_sign_fixup ==
f2.y_sign_fixup &&
f1.y_source ==
f2.y_source
287 &&
f1.z_sign_fixup ==
f2.z_sign_fixup &&
f1.z_source ==
f2.z_source
288 &&
f1.w_sign_fixup ==
f2.w_sign_fixup &&
f1.w_source ==
f2.w_source;
302#define WINED3D_MAX_ACTIVE_LIGHTS 8
303#define WINED3D_MAX_SOFTWARE_ACTIVE_LIGHTS 32
304#define MAX_CONSTANT_BUFFERS 15
305#define MAX_SAMPLER_OBJECTS 16
306#define MAX_SHADER_RESOURCE_VIEWS 128
307#define MAX_UNORDERED_ACCESS_VIEWS 8
308#define MAX_TGSM_REGISTERS 8192
309#define MAX_VERTEX_BLENDS 4
332 const unsigned short s = ((*in) & 0x8000u);
333 const unsigned short e = ((*in) & 0x7c00u) >> 10;
334 const unsigned short m = (*in) & 0x3ffu;
335 const float sgn = (
s ? -1.0f : 1.0f);
338 if(
m == 0)
return sgn * 0.0f;
341 return sgn *
powf(2, (
float)
e - 15.0f) * (1.0f + ((
float)
m / 1024.0f));
350 const float sgn =
in & 0x800000u ? -1.0f : 1.0f;
351 const unsigned short e = (
in & 0x780000u) >> 19;
352 const unsigned int m =
in & 0x7ffffu;
356 if (
m == 0)
return sgn * 0.0f;
361 return sgn *
powf(2, (
float)
e - 7.0f) * (1.0f + ((
float)
m / 524288.0f));
374 unsigned int mantissa;
383 return (*
in < 0.0f ? 0xfc00 : 0x7c00);
385 if (tmp < (
float)(1u << 10))
391 }
while (tmp < (
float)(1u << 10));
393 else if (tmp >= (
float)(1u << 11))
399 }
while (tmp >= (
float)(1u << 11));
402 mantissa = (
unsigned int)tmp;
403 if (tmp - mantissa >= 0.5f)
418 mantissa = mantissa >> 1;
421 ret = mantissa & 0x3ff;
425 ret = (
exp << 10) | (mantissa & 0x3ff);
428 ret |= ((*
in < 0.0f ? 1 : 0) << 15);
434#if defined(__MINGW32__)
435 return __builtin_popcount(
x);
437 x -=
x >> 1 & 0x55555555;
438 x = (
x & 0x33333333) + (
x >> 2 & 0x33333333);
439 return ((
x + (
x >> 4)) & 0x0f0f0f0f) * 0x01010101 >> 24;
445 return (
x >
y) - (
x <
y);
450 return (
x >
y) - (
x <
y);
453#define PCI_VENDOR_NONE 0xffff
454#define PCI_DEVICE_NONE 0xffff
463#define WINED3D_CSMT_ENABLE 0x00000001
464#define WINED3D_CSMT_SERIALIZE 0x00000002
510#define WINED3D_SHADER_CONST_VS_F 0x00000001
511#define WINED3D_SHADER_CONST_VS_I 0x00000002
512#define WINED3D_SHADER_CONST_VS_B 0x00000004
513#define WINED3D_SHADER_CONST_VS_CLIP_PLANES 0x00000008
514#define WINED3D_SHADER_CONST_VS_POINTSIZE 0x00000010
515#define WINED3D_SHADER_CONST_POS_FIXUP 0x00000020
516#define WINED3D_SHADER_CONST_PS_F 0x00000040
517#define WINED3D_SHADER_CONST_PS_I 0x00000080
518#define WINED3D_SHADER_CONST_PS_B 0x00000100
519#define WINED3D_SHADER_CONST_PS_BUMP_ENV 0x00000200
520#define WINED3D_SHADER_CONST_PS_FOG 0x00000400
521#define WINED3D_SHADER_CONST_PS_ALPHA_TEST 0x00000800
522#define WINED3D_SHADER_CONST_FFP_MODELVIEW 0x00004000
523#define WINED3D_SHADER_CONST_FFP_VERTEXBLEND 0x00008000
524#define WINED3D_SHADER_CONST_FFP_PROJ 0x00010000
525#define WINED3D_SHADER_CONST_FFP_TEXMATRIX 0x00020000
526#define WINED3D_SHADER_CONST_FFP_MATERIAL 0x00040000
527#define WINED3D_SHADER_CONST_FFP_LIGHTS 0x00080000
528#define WINED3D_SHADER_CONST_FFP_PS 0x00100000
529#define WINED3D_SHADER_CONST_FFP_COLOR_KEY 0x00200000
530#define WINED3D_SHADER_CONST_BASE_VERTEX_ID 0x00400000
607#define WINED3DSP_NOSWIZZLE (0u | (1u << 2) | (2u << 4) | (3u << 6))
627#define WINED3DSP_WRITEMASK_0 0x1u
628#define WINED3DSP_WRITEMASK_1 0x2u
629#define WINED3DSP_WRITEMASK_2 0x4u
630#define WINED3DSP_WRITEMASK_3 0x8u
631#define WINED3DSP_WRITEMASK_ALL 0xfu
653#define WINED3D_PACKED_INTERPOLATION_SIZE 3
654#define WINED3D_PACKED_INTERPOLATION_BIT_COUNT 3
700#define WINED3DSI_TEXLD_PROJECT 0x1
701#define WINED3DSI_TEXLD_BIAS 0x2
702#define WINED3DSI_INDEXED_DYNAMIC 0x4
703#define WINED3DSI_RESINFO_RCP_FLOAT 0x1
704#define WINED3DSI_RESINFO_UINT 0x2
705#define WINED3DSI_SAMPLE_INFO_UINT 0x1
706#define WINED3DSI_SAMPLER_COMPARISON_MODE 0x1
708#define WINED3DSI_PRECISE_X 0x100
709#define WINED3DSI_PRECISE_Y 0x200
710#define WINED3DSI_PRECISE_Z 0x400
711#define WINED3DSI_PRECISE_W 0x800
712#define WINED3DSI_PRECISE_XYZW (WINED3DSI_PRECISE_X | WINED3DSI_PRECISE_Y \
713 | WINED3DSI_PRECISE_Z | WINED3DSI_PRECISE_W)
714#define WINED3DSI_PRECISE_SHIFT 8
778#define WINED3D_SM1_VS 0xfffeu
779#define WINED3D_SM1_PS 0xffffu
780#define WINED3D_SM4_PS 0x0000u
781#define WINED3D_SM4_VS 0x0001u
782#define WINED3D_SM4_GS 0x0002u
783#define WINED3D_SM5_HS 0x0003u
784#define WINED3D_SM5_DS 0x0004u
785#define WINED3D_SM5_CS 0x0005u
788#define WINED3DPS_VERSION(major, minor) ((WINED3D_SM1_PS << 16) | ((major) << 8) | (minor))
789#define WINED3DVS_VERSION(major, minor) ((WINED3D_SM1_VS << 16) | ((major) << 8) | (minor))
793#define MAX_ATTRIBS 32
794#define MAX_REG_ADDR 1
795#define MAX_REG_TEXCRD 8
796#define MAX_REG_INPUT 32
797#define MAX_REG_OUTPUT 32
798#define WINED3D_MAX_CBS 15
804#define MAX_IMMEDIATE_CONSTANT_BUFFER_SIZE 4096
1073#define WINED3D_SAMPLER_DEFAULT ~0x0u
1103#define WINED3D_SHADER_VERSION(major, minor) (((major) << 8) | (minor))
1387 void *(*shader_init)(
const DWORD *byte_code,
size_t byte_code_size,
1402 unsigned int *component_idx);
1406#define WINED3D_SHADER_CAP_DOUBLE_PRECISION 0x00000004u
1407#define WINED3D_SHADER_CAP_OUTPUT_INTERPOLATION 0x00000008u
1408#define WINED3D_SHADER_CAP_FULL_FFP_VARYINGS 0x00000010u
1445#define WINED3D_CONST_NUM_UNUSED ~0U
1459#define WINED3D_PSARGS_PROJECTED (1u << 3)
1460#define WINED3D_PSARGS_TEXTRANSFORM_SHIFT 4
1461#define WINED3D_PSARGS_TEXTRANSFORM_MASK 0xfu
1462#define WINED3D_PSARGS_TEXTYPE_SHIFT 2
1463#define WINED3D_PSARGS_TEXTYPE_MASK 0x3u
1558#define D3DCOLOR_B_R(dw) (((dw) >> 16) & 0xff)
1559#define D3DCOLOR_B_G(dw) (((dw) >> 8) & 0xff)
1560#define D3DCOLOR_B_B(dw) (((dw) >> 0) & 0xff)
1561#define D3DCOLOR_B_A(dw) (((dw) >> 24) & 0xff)
1590 colour_srgb->
a = colour->
a;
1711#define GET_TEXCOORD_SIZE_FROM_FVF(d3dvtVertexType, tex_num) \
1712 (((((d3dvtVertexType) >> (16 + (2 * (tex_num)))) + 1) & 0x03) + 1)
1716#define STATE_RENDER(a) (a)
1717#define STATE_IS_RENDER(a) ((a) >= STATE_RENDER(1) && (a) <= STATE_RENDER(WINEHIGHEST_RENDER_STATE))
1719#define STATE_TEXTURESTAGE(stage, num) \
1720 (STATE_RENDER(WINEHIGHEST_RENDER_STATE) + 1 + (stage) * (WINED3D_HIGHEST_TEXTURE_STATE + 1) + (num))
1721#define STATE_IS_TEXTURESTAGE(a) \
1722 ((a) >= STATE_TEXTURESTAGE(0, 1) && (a) <= STATE_TEXTURESTAGE(WINED3D_MAX_FFP_TEXTURES - 1, WINED3D_HIGHEST_TEXTURE_STATE))
1724#define STATE_GRAPHICS_SHADER(a) (STATE_TEXTURESTAGE(WINED3D_MAX_FFP_TEXTURES - 1, WINED3D_HIGHEST_TEXTURE_STATE) + 1 + (a))
1725#define STATE_IS_GRAPHICS_SHADER(a) \
1726 ((a) >= STATE_GRAPHICS_SHADER(0) && (a) < STATE_GRAPHICS_SHADER(WINED3D_SHADER_TYPE_GRAPHICS_COUNT))
1728#define STATE_GRAPHICS_CONSTANT_BUFFER(a) (STATE_GRAPHICS_SHADER(WINED3D_SHADER_TYPE_GRAPHICS_COUNT) + (a))
1729#define STATE_IS_GRAPHICS_CONSTANT_BUFFER(a) \
1730 ((a) >= STATE_GRAPHICS_CONSTANT_BUFFER(0) \
1731 && (a) < STATE_GRAPHICS_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GRAPHICS_COUNT))
1733#define STATE_GRAPHICS_SHADER_RESOURCE_BINDING (STATE_GRAPHICS_CONSTANT_BUFFER(WINED3D_SHADER_TYPE_GRAPHICS_COUNT))
1734#define STATE_IS_GRAPHICS_SHADER_RESOURCE_BINDING(a) ((a) == STATE_GRAPHICS_SHADER_RESOURCE_BINDING)
1736#define STATE_GRAPHICS_UNORDERED_ACCESS_VIEW_BINDING (STATE_GRAPHICS_SHADER_RESOURCE_BINDING + 1)
1737#define STATE_IS_GRAPHICS_UNORDERED_ACCESS_VIEW_BINDING(a) ((a) == STATE_GRAPHICS_UNORDERED_ACCESS_VIEW_BINDING)
1739#define STATE_STREAMSRC (STATE_GRAPHICS_UNORDERED_ACCESS_VIEW_BINDING + 1)
1740#define STATE_IS_STREAMSRC(a) ((a) == STATE_STREAMSRC)
1741#define STATE_INDEXBUFFER (STATE_STREAMSRC + 1)
1742#define STATE_IS_INDEXBUFFER(a) ((a) == STATE_INDEXBUFFER)
1744#define STATE_VDECL (STATE_INDEXBUFFER + 1)
1745#define STATE_IS_VDECL(a) ((a) == STATE_VDECL)
1747#define STATE_VIEWPORT (STATE_VDECL + 1)
1748#define STATE_IS_VIEWPORT(a) ((a) == STATE_VIEWPORT)
1750#define STATE_SCISSORRECT (STATE_VIEWPORT + 1)
1751#define STATE_IS_SCISSORRECT(a) ((a) == STATE_SCISSORRECT)
1753#define STATE_CLIPPLANE(a) (STATE_SCISSORRECT + 1 + (a))
1754#define STATE_IS_CLIPPLANE(a) ((a) >= STATE_CLIPPLANE(0) && (a) <= STATE_CLIPPLANE(WINED3D_MAX_CLIP_DISTANCES - 1))
1756#define STATE_RASTERIZER (STATE_CLIPPLANE(WINED3D_MAX_CLIP_DISTANCES))
1757#define STATE_IS_RASTERIZER(a) ((a) == STATE_RASTERIZER)
1759#define STATE_DEPTH_BOUNDS (STATE_RASTERIZER + 1)
1760#define STATE_IS_DEPTH_BOUNDS(a) ((a) == STATE_DEPTH_BOUNDS)
1762#define STATE_BASEVERTEXINDEX (STATE_DEPTH_BOUNDS + 1)
1763#define STATE_IS_BASEVERTEXINDEX(a) ((a) == STATE_BASEVERTEXINDEX)
1765#define STATE_FRAMEBUFFER (STATE_BASEVERTEXINDEX + 1)
1766#define STATE_IS_FRAMEBUFFER(a) ((a) == STATE_FRAMEBUFFER)
1768#define STATE_STREAM_OUTPUT (STATE_FRAMEBUFFER + 1)
1769#define STATE_IS_STREAM_OUTPUT(a) ((a) == STATE_STREAM_OUTPUT)
1771#define STATE_BLEND (STATE_STREAM_OUTPUT + 1)
1772#define STATE_IS_BLEND(a) ((a) == STATE_BLEND)
1774#define STATE_BLEND_FACTOR (STATE_BLEND + 1)
1775#define STATE_IS_BLEND_FACTOR(a) ((a) == STATE_BLEND_FACTOR)
1777#define STATE_SAMPLE_MASK (STATE_BLEND_FACTOR + 1)
1778#define STATE_IS_SAMPLE_MASK(a) ((a) == STATE_SAMPLE_MASK)
1780#define STATE_DEPTH_STENCIL (STATE_SAMPLE_MASK + 1)
1781#define STATE_IS_DEPTH_STENCIL(a) ((a) == STATE_DEPTH_STENCIL)
1783#define STATE_STENCIL_REF (STATE_DEPTH_STENCIL + 1)
1784#define STATE_IS_STENCIL_REF(a) ((a) == STATE_STENCIL_REF)
1786#define STATE_COMPUTE_OFFSET (STATE_STENCIL_REF + 1)
1788#define STATE_COMPUTE_SHADER (STATE_COMPUTE_OFFSET)
1789#define STATE_IS_COMPUTE_SHADER(a) ((a) == STATE_COMPUTE_SHADER)
1791#define STATE_COMPUTE_CONSTANT_BUFFER (STATE_COMPUTE_SHADER + 1)
1792#define STATE_IS_COMPUTE_CONSTANT_BUFFER(a) ((a) == STATE_COMPUTE_CONSTANT_BUFFER)
1794#define STATE_COMPUTE_SHADER_RESOURCE_BINDING (STATE_COMPUTE_CONSTANT_BUFFER + 1)
1795#define STATE_IS_COMPUTE_SHADER_RESOURCE_BINDING(a) ((a) == STATE_COMPUTE_SHADER_RESOURCE_BINDING)
1797#define STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING (STATE_COMPUTE_SHADER_RESOURCE_BINDING + 1)
1798#define STATE_IS_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING(a) ((a) == STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING)
1800#define STATE_COMPUTE_HIGHEST (STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING)
1801#define STATE_HIGHEST (STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING)
1803#define STATE_IS_COMPUTE(a) ((a) >= STATE_COMPUTE_OFFSET && (a) <= STATE_COMPUTE_HIGHEST)
1804#define STATE_COMPUTE_COUNT (STATE_COMPUTE_HIGHEST - STATE_COMPUTE_OFFSET + 1)
1806#define STATE_SHADER(a) ((a) != WINED3D_SHADER_TYPE_COMPUTE ? STATE_GRAPHICS_SHADER(a) : STATE_COMPUTE_SHADER)
1807#define STATE_CONSTANT_BUFFER(a) \
1808 ((a) != WINED3D_SHADER_TYPE_COMPUTE ? STATE_GRAPHICS_CONSTANT_BUFFER(a) : STATE_COMPUTE_CONSTANT_BUFFER)
1809#define STATE_UNORDERED_ACCESS_VIEW_BINDING(a) ((a) == WINED3D_PIPELINE_GRAPHICS ? \
1810 STATE_GRAPHICS_UNORDERED_ACCESS_VIEW_BINDING : STATE_COMPUTE_UNORDERED_ACCESS_VIEW_BINDING)
1856#define WINED3D_QUERY_POOL_SIZE 256
1949#define GL_EXT_EMUL_ARB_MULTITEXTURE 0x00000001
1950#define GL_EXT_EMUL_EXT_FOG_COORD 0x00000002
2025 unsigned int rt_count,
const struct wined3d_fb_state *fb,
unsigned int rect_count,
const RECT *clear_rects,
2029 const RECT *src_rect,
struct wined3d_texture *dst_texture,
unsigned int dst_sub_resource_idx,
2046 unsigned int sub_resource_idx);
2479#define WINED3D_MAX_DEVICE_IDENTIFIER_LENGTH 512
2497#define UPLOAD_BO_UPLOAD_ON_UNMAP 0x1
2498#define UPLOAD_BO_RENAME_ON_UNMAP 0x2
2499#define UPLOAD_BO_FREE_ON_UNMAP 0x4
2527 unsigned int range_count,
const struct wined3d_range *ranges);
2595#define MAX_PERSISTENT_MAPPED_BYTES I64_MAX
2597#define MAX_PERSISTENT_MAPPED_BYTES (128 * 1024 * 1024)
2633 unsigned int wined3d_creation_flags);
2636 unsigned int wined3d_creation_flags);
2652#define ARG_UNUSED 0xff
2717#define WINED3D_FFP_TCI_SHIFT 16
2718#define WINED3D_FFP_TCI_MASK 0xffu
2720#define WINED3D_FFP_LIGHT_TYPE_SHIFT(idx) (3 * (idx))
2721#define WINED3D_FFP_LIGHT_TYPE_MASK 0x7u
2851#define WINED3D_FFP_CONSTANTS_EXTRA_REGISTER 3
2884 if (!
state->desc.independent)
2921#define WINED3D_STATE_NO_REF 0x00000001
2922#define WINED3D_STATE_INIT_DEFAULT 0x00000002
2987 if (!
state->depth_stencil_state)
2989 return state->depth_stencil_state->desc.depth ||
state->depth_stencil_state->desc.depth_write
2990 ||
state->depth_stencil_state->desc.stencil;
2993#define WINED3D_UNMAPPED_STAGE ~0u
2997#define WINED3DCREATE_MULTITHREADED 0x00000004
3122#define WINED3D_ALLOCATOR_CHUNK_SIZE (64 * 1024 * 1024)
3123#define WINED3D_ALLOCATOR_CHUNK_ORDER_COUNT 15
3124#define WINED3D_ALLOCATOR_MIN_BLOCK_SIZE (WINED3D_ALLOCATOR_CHUNK_SIZE >> (WINED3D_ALLOCATOR_CHUNK_ORDER_COUNT - 1))
3125#define WINED3D_SLAB_BO_MIN_OBJECT_ALIGN 16
3126#define WINED3D_RETIRED_BO_SIZE_THRESHOLD (64 * 1024 * 1024)
3189 if ((
count = old_count) == 1)
3199 while (old_count !=
count);
3204#define CLIENT_BO_DISCARDED ((struct wined3d_bo *)~(UINT_PTR)0)
3231 unsigned int sub_resource_idx,
unsigned int *row_pitch,
unsigned int *slice_pitch);
3291 return resource->resource_ops->resource_sub_resource_get_desc(
resource, sub_resource_idx,
desc);
3295 unsigned int sub_resource_idx,
unsigned int *row_pitch,
unsigned int *slice_pitch)
3297 resource->resource_ops->resource_sub_resource_get_map_pitch(
resource, sub_resource_idx, row_pitch, slice_pitch);
3304 unsigned int bind_flags,
unsigned int access,
unsigned int width,
unsigned int height,
unsigned int depth,
3324#define RESOURCE_ALIGNMENT 16
3325#define WINED3D_CONSTANT_BUFFER_ALIGNMENT 16
3327#define WINED3D_LOCATION_DISCARDED 0x00000001
3328#define WINED3D_LOCATION_SYSMEM 0x00000002
3329#define WINED3D_LOCATION_CLEARED 0x00000004
3330#define WINED3D_LOCATION_BUFFER 0x00000008
3331#define WINED3D_LOCATION_TEXTURE_RGB 0x00000010
3332#define WINED3D_LOCATION_TEXTURE_SRGB 0x00000020
3333#define WINED3D_LOCATION_DRAWABLE 0x00000040
3334#define WINED3D_LOCATION_RB_MULTISAMPLE 0x00000080
3335#define WINED3D_LOCATION_RB_RESOLVED 0x00000100
3349 unsigned int src_slice_pitch,
struct wined3d_texture *dst_texture,
unsigned int dst_sub_resource_idx,
3350 unsigned int dst_location,
unsigned int dst_x,
unsigned int dst_y,
unsigned int dst_z);
3352 unsigned int src_sub_resource_idx,
unsigned int src_location,
const struct wined3d_box *src_box,
3354 unsigned int dst_x,
unsigned int dst_y,
unsigned int dst_z,
3355 unsigned int dst_row_pitch,
unsigned int dst_slice_pitch);
3358#define WINED3D_TEXTURE_COND_NP2 0x00000001
3359#define WINED3D_TEXTURE_IS_SRGB 0x00000008
3360#define WINED3D_TEXTURE_RGB_ALLOCATED 0x00000010
3361#define WINED3D_TEXTURE_RGB_VALID 0x00000020
3362#define WINED3D_TEXTURE_SRGB_ALLOCATED 0x00000040
3363#define WINED3D_TEXTURE_SRGB_VALID 0x00000080
3364#define WINED3D_TEXTURE_CONVERTED 0x00000100
3365#define WINED3D_TEXTURE_GET_DC_LENIENT 0x00000800
3366#define WINED3D_TEXTURE_DC_IN_USE 0x00001000
3367#define WINED3D_TEXTURE_DISCARD 0x00002000
3368#define WINED3D_TEXTURE_GET_DC 0x00004000
3369#define WINED3D_TEXTURE_GENERATE_MIPMAPS 0x00008000
3370#define WINED3D_TEXTURE_DOWNLOADABLE 0x00010000
3372#define WINED3D_TEXTURE_ASYNC_COLOR_KEY 0x00000001
3507 if ((
r->left &&
r->right) ||
abs(
r->right -
r->left) !=
t)
3510 if ((
r->top &&
r->bottom) ||
abs(
r->bottom -
r->top) !=
t)
3522 struct wined3d_texture *src_texture,
unsigned int src_sub_resource_idx);
3544 unsigned int dst_x,
unsigned int dst_y,
unsigned int dst_z,
struct wined3d_texture *src_texture,
3545 unsigned int src_sub_resource_idx,
const struct wined3d_box *src_box);
3549 unsigned int sub_resource_idx);
3610#define WINED3D_CS_QUERY_POLL_INTERVAL 100u
3612#define WINED3D_CS_QUEUE_SIZE 0x1000000u
3614#define WINED3D_CS_QUEUE_SIZE 0x400000u
3616#define WINED3D_CS_SPIN_COUNT 2000u
3618#define WINED3D_CS_COMMAND_WAIT_WITH_QUERIES_TIMEOUT 100
3620#define WINED3D_CS_CLIENT_WAIT_TIMEOUT 0
3621#define WINED3D_CS_QUEUE_MASK (WINED3D_CS_QUEUE_SIZE - 1)
3692 void (*
callback)(
void *
object),
void *
object);
3708 void (*
callback)(
void *
object),
void *
object);
3712 bool enable,
float min_depth,
float max_depth);
3716 cs->c.ops->finish(&
cs->c, queue_id);
3731 unsigned int start_idx,
unsigned int index_count,
unsigned int start_instance,
unsigned int instance_count,
3743 unsigned int sample_mask);
3772 unsigned int rect_count,
const RECT *rects);
3798 const void *
data,
unsigned int row_pitch,
unsigned int slice_pitch);
3811#define WINED3D_PAUSE_SPIN_COUNT 200u
3831 unsigned int spin_count = 0;
3836 access_time =
resource->access_time;
3900 if (
buffer->bo_user.valid)
3902 buffer->bo_user.valid =
true;
4015 unsigned int value);
4153#define wined3d_lock_init(lock, name) wined3d_lock_init_(lock, __FILE__ ": " name)
4164 lock->DebugInfo->Spare[0] = 0;
4169#define PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args)))
4171#define PRINTF_ATTR(fmt,args)
4309 unsigned int resource_idx,
DWORD tex_types);
4347 if (
reg->idx[0].offset)
4366 switch (
reg->idx[0].offset)
4387 float center_offset,
x = 0.0f,
y = 0.0f;
4394 center_offset = 1.0f;
4396 center_offset = 0.0f;
4398 center_offset +=
context->d3d_info->filling_convention_offset;
4400 for (
i = 0;
i < fixup_count; ++
i)
4402 position_fixup[4 *
i ] = 1.0f;
4403 position_fixup[4 *
i + 1] = -1.0f;
4404 if (!
context->d3d_info->subpixel_viewport)
4410 position_fixup[4 *
i + 2] = (center_offset +
x) /
state->viewports[
i].width;
4411 position_fixup[4 *
i + 3] = (center_offset +
y) /
state->viewports[
i].height;
4419 if (
shader->load_local_constsF)
4432 const struct ps_compile_args *ps_args,
unsigned int resource_idx,
unsigned int sampler_idx)
4437 return shader->reg_maps.sampler_comparison_mode & (1u << sampler_idx);
4447 float *out_min,
float *out_max);
4469#define WINED3D_FORMAT_ATTR_FLOAT 0x00000001
4470#define WINED3D_FORMAT_ATTR_INTEGER 0x00000002
4471#define WINED3D_FORMAT_ATTR_NORMALISED 0x00000004
4472#define WINED3D_FORMAT_ATTR_BUMPMAP 0x00000008
4473#define WINED3D_FORMAT_ATTR_EXTENSION 0x00000010
4474#define WINED3D_FORMAT_ATTR_BLOCKS 0x00000020
4475#define WINED3D_FORMAT_ATTR_BLOCKS_NO_VERIFY 0x00000040
4476#define WINED3D_FORMAT_ATTR_COMPRESSED 0x00000080
4477#define WINED3D_FORMAT_ATTR_BROKEN_PITCH 0x00000100
4478#define WINED3D_FORMAT_ATTR_HEIGHT_SCALE 0x00000200
4479#define WINED3D_FORMAT_ATTR_MAPPABLE 0x00000400
4480#define WINED3D_FORMAT_ATTR_CAST_TO_BLOCK 0x00000800
4483#define WINED3D_FORMAT_CAP_POSTPIXELSHADER_BLENDING 0x00000001
4484#define WINED3D_FORMAT_CAP_FILTERING 0x00000002
4485#define WINED3D_FORMAT_CAP_UNORDERED_ACCESS 0x00000004
4486#define WINED3D_FORMAT_CAP_DEPTH_STENCIL 0x00000008
4487#define WINED3D_FORMAT_CAP_RENDERTARGET 0x00000010
4488#define WINED3D_FORMAT_CAP_FBO_ATTACHABLE 0x00000020
4489#define WINED3D_FORMAT_CAP_FBO_ATTACHABLE_SRGB 0x00000040
4490#define WINED3D_FORMAT_CAP_DECOMPRESS 0x00000080
4491#define WINED3D_FORMAT_CAP_SRGB_READ 0x00000100
4492#define WINED3D_FORMAT_CAP_SRGB_WRITE 0x00000200
4493#define WINED3D_FORMAT_CAP_VTF 0x00000400
4494#define WINED3D_FORMAT_CAP_SHADOW 0x00000800
4495#define WINED3D_FORMAT_CAP_TEXTURE 0x00001000
4496#define WINED3D_FORMAT_CAP_GEN_MIPMAP 0x00002000
4497#define WINED3D_FORMAT_CAP_VERTEX_ATTRIBUTE 0x00004000
4498#define WINED3D_FORMAT_CAP_BLIT 0x00008000
4499#define WINED3D_FORMAT_CAP_INDEX_BUFFER 0x00010000
4559 unsigned int dst_row_pitch,
unsigned dst_slice_pitch,
4562 unsigned int dst_row_pitch,
unsigned dst_slice_pitch,
4565 unsigned int dst_row_pitch,
unsigned dst_slice_pitch,
4576 unsigned int width,
unsigned int height,
unsigned int *row_pitch,
unsigned int *slice_pitch);
4582 unsigned int src_row_pitch,
unsigned int src_slice_pitch,
uint8_t *
dst,
unsigned int dst_row_pitch,
4583 unsigned int dst_slice_pitch,
unsigned int w,
unsigned int h,
unsigned int d);
4609 && (!
state->vertex_declaration || !
state->vertex_declaration->position_transformed);
4623 return !!
shader->u.gs.so_desc;
4630 unsigned int rep =
state_table[state_id].representative;
4640 if (!
context->d3d_info->srgb_read_control
4645 if (!
context->d3d_info->srgb_write_control
4668 return geometry_shader && geometry_shader->
u.
gs.so_desc
4674 return size < 32 ? (1u <<
size) - 1 : ~0
u;
4680 const unsigned int word_bit_count =
sizeof(*bitstream) *
CHAR_BIT;
4681 const unsigned int idx =
offset / word_bit_count;
4682 const unsigned int shift =
offset % word_bit_count;
4689 const unsigned int extracted_bit_count = word_bit_count -
shift;
4690 const unsigned int remaining_bit_count =
count - extracted_bit_count;
4691 mask = (1u << remaining_bit_count) - 1;
4692 ret |= (bitstream[
idx + 1] &
mask) << extracted_bit_count;
4700 const unsigned int word_bit_count =
sizeof(*bitstream) *
CHAR_BIT;
4701 const unsigned int idx =
offset / word_bit_count;
4702 const unsigned int shift =
offset % word_bit_count;
4708 const unsigned int inserted_bit_count = word_bit_count -
shift;
4709 const unsigned int remaining_bit_count =
count - inserted_bit_count;
4710 mask = (1u << remaining_bit_count) - 1;
4711 bitstream[
idx + 1] |= (
bits >> inserted_bit_count) &
mask;
4769 tmp.
x =
v->x *
m->_11 +
v->y *
m->_21 +
v->z *
m->_31 +
v->w *
m->_41;
4770 tmp.
y =
v->x *
m->_12 +
v->y *
m->_22 +
v->z *
m->_32 +
v->w *
m->_42;
4771 tmp.
z =
v->x *
m->_13 +
v->y *
m->_23 +
v->z *
m->_33 +
v->w *
m->_43;
4772 tmp.
w =
v->x *
m->_14 +
v->y *
m->_24 +
v->z *
m->_34 +
v->w *
m->_44;
4792 context->device->adapter->adapter_ops->adapter_release_context(
context);
4804 tmpvalue.d =
state->render_states[rs];
4817 context->device->adapter->adapter_ops->adapter_unmap_bo_address(
context,
data, range_count, ranges);
4824 context->device->adapter->adapter_ops->adapter_copy_bo_address(
context,
dst,
src, range_count, ranges, map_flags);
4835 context->device->adapter->adapter_ops->adapter_destroy_bo(
context, bo);
4857 if (srv->
desc.u.texture.layer_idx || srv->
desc.u.texture.level_idx)
4861 return srv->
desc.u.texture.level_count ==
texture->level_count
4918 if (!srv->
resource->rtv_bind_count_device)
4942 return map[
idx >> 5] &= ~(1u << (
idx & 0x1f));
4947 return map[
idx >> 5] |= (1u << (
idx & 0x1f));
4952 return map[
idx >> 5] & (1u << (
idx & 0x1f));
4958 const unsigned int word_bit_count =
sizeof(*bitmap) *
CHAR_BIT;
4962 assert(bit_count < word_bit_count || !(bit_count % word_bit_count));
4965 end_ptr =
bitmap + (bit_count + word_bit_count - 1) / word_bit_count;
4974 if (++
ptr == end_ptr)
4994 unsigned int range_start, range_end;
4997 if (range_start == ~0
u)
5001 if (range_end == ~0
u)
5002 range_end = bit_count;
5004 range->offset = range_start;
5005 range->size = range_end - range_start;
5036 return sizeof(
void *) >=
sizeof(
uint64_t);
5040#define WINED3D_OPENGL_WINDOW_CLASS_NAME "WineD3D_OpenGL"
struct mke2fs_defaults settings[]
COMPILER_DEPENDENT_INT64 INT64
COMPILER_DEPENDENT_UINT64 UINT64
struct outqueuenode * tail
struct outqueuenode * head
_Check_return_ _Ret_maybenull_ _In_ size_t alignment
#define InterlockedIncrement
#define InterlockedDecrement
static void list_add_head(struct list_entry *head, struct list_entry *entry)
static const struct @282 state_table[]
static const WCHAR version[]
BOOL WINAPI InitializeCriticalSectionEx(OUT LPCRITICAL_SECTION lpCriticalSection, IN DWORD dwSpinCount, IN DWORD flags)
_ACRTIMP int __cdecl memcmp(const void *, const void *, size_t)
_ACRTIMP float __cdecl powf(float, float)
_ACRTIMP double __cdecl modf(double, double *)
_ACRTIMP float __cdecl fabsf(float)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
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
GLdouble GLdouble GLdouble r
GLint GLint GLsizei width
GLdouble GLdouble GLdouble GLdouble q
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg3
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLenum const GLvoid * addr
GLuint GLint GLboolean GLint GLenum access
GLenum GLuint GLint GLint layer
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 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 * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint GLenum GLenum GLenum GLint GLuint GLenum GLenum GLfloat GLenum GLfloat GLenum GLint const GLfloat GLenum GLint const GLushort GLint GLint GLsizei GLsizei GLenum GLsizei GLsizei GLenum GLenum const GLvoid GLenum plane
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum light
#define InterlockedCompareExchange
#define location(file, line)
static IPrintDialogCallback callback
D3D11_SHADER_VARIABLE_DESC desc
static const char * dst_format
static const BYTE ramp[17]
static IHTMLWindow2 * window
static void stream_info(IStream *stream, HGLOBAL *hmem, int *size, int *pos)
static float(__cdecl *square_half_float)(float x
NTSTATUS NTAPI NtDelayExecution(IN BOOLEAN Alertable, IN PLARGE_INTEGER DelayInterval)
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
static unsigned __int64 next
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
unsigned short y_sign_fixup
unsigned short x_sign_fixup
unsigned short z_sign_fixup
unsigned short w_sign_fixup
uint32_t interpolation_mode[WINED3D_PACKED_INTERPOLATION_SIZE]
enum wined3d_tessellator_output_primitive tessellator_output_primitive
unsigned int output_count
enum wined3d_tessellator_partitioning tessellator_partitioning
unsigned int next_shader_type
struct wine_rb_entry entry
struct ffp_frag_settings settings
unsigned char alpha_test_func
unsigned char color_key_enabled
struct texture_stage_op op[WINED3D_MAX_FFP_TEXTURES]
unsigned char texcoords_initialized
unsigned char flatshading
unsigned char pointsprite
unsigned int max_blend_stages
unsigned int PrimitiveMiscCaps
unsigned int max_textures
unsigned int TextureOpCaps
enum wined3d_primitive_type primitive_type
unsigned int output_count
uint32_t interpolation_mode[WINED3D_PACKED_INTERPOLATION_SIZE]
enum wined3d_ffp_ps_fog_mode fog
struct color_fixup_desc color_fixup[WINED3D_MAX_FRAGMENT_SAMPLERS]
WORD texcoords_initialized
enum wined3d_vertex_processing_mode vp_mode
unsigned int varying_count
unsigned int ps_uniform_count
unsigned int vs_uniform_count
struct color_fixup_desc color_fixup
uint32_t interpolation_mode[WINED3D_PACKED_INTERPOLATION_SIZE]
unsigned int next_shader_input_count
void(* adapter_destroy_bo)(struct wined3d_context *context, struct wined3d_bo *bo)
void(* adapter_destroy_unordered_access_view)(struct wined3d_unordered_access_view *view)
HRESULT(* adapter_create_texture)(struct wined3d_device *device, const struct wined3d_resource_desc *desc, unsigned int layer_count, unsigned int level_count, uint32_t flags, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture)
HRESULT(* adapter_create_query)(struct wined3d_device *device, enum wined3d_query_type type, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_query **query)
HRESULT(* adapter_create_device)(struct wined3d *wined3d, const struct wined3d_adapter *adapter, enum wined3d_device_type device_type, HWND focus_window, unsigned int flags, BYTE surface_alignment, const enum wined3d_feature_level *levels, unsigned int level_count, struct wined3d_device_parent *device_parent, struct wined3d_device **device)
BOOL(* adapter_check_format)(const struct wined3d_adapter *adapter, const struct wined3d_format *adapter_format, const struct wined3d_format *rt_format, const struct wined3d_format *ds_format)
HRESULT(* adapter_create_sampler)(struct wined3d_device *device, const struct wined3d_sampler_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_sampler **sampler)
void(* adapter_destroy_device)(struct wined3d_device *device)
void(* adapter_draw_primitive)(struct wined3d_device *device, const struct wined3d_state *state, const struct wined3d_draw_parameters *parameters)
void(* adapter_destroy)(struct wined3d_adapter *adapter)
void(* adapter_unmap_bo_address)(struct wined3d_context *context, const struct wined3d_bo_address *data, unsigned int range_count, const struct wined3d_range *ranges)
void(* adapter_dispatch_compute)(struct wined3d_device *device, const struct wined3d_state *state, const struct wined3d_dispatch_parameters *parameters)
HRESULT(* adapter_create_buffer)(struct wined3d_device *device, const struct wined3d_buffer_desc *desc, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer)
void(* adapter_copy_bo_address)(struct wined3d_context *context, const struct wined3d_bo_address *dst, const struct wined3d_bo_address *src, unsigned int range_count, const struct wined3d_range *ranges, uint32_t map_flags)
HRESULT(* adapter_init_3d)(struct wined3d_device *device)
void(* adapter_destroy_query)(struct wined3d_query *query)
void(* adapter_uninit_3d)(struct wined3d_device *device)
void(* adapter_destroy_swapchain)(struct wined3d_swapchain *swapchain)
void(* adapter_clear_uav)(struct wined3d_context *context, struct wined3d_unordered_access_view *view, const struct wined3d_uvec4 *clear_value, bool fp)
void(* adapter_destroy_shader_resource_view)(struct wined3d_shader_resource_view *view)
void(* adapter_flush_context)(struct wined3d_context *context)
HRESULT(* adapter_create_rendertarget_view)(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_rendertarget_view **view)
void(* adapter_generate_mipmap)(struct wined3d_context *context, struct wined3d_shader_resource_view *view)
HRESULT(* adapter_create_unordered_access_view)(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_unordered_access_view **view)
void(* adapter_release_context)(struct wined3d_context *context)
void(* adapter_destroy_texture)(struct wined3d_texture *texture)
HRESULT(* adapter_create_swapchain)(struct wined3d_device *device, const struct wined3d_swapchain_desc *desc, struct wined3d_swapchain_state_parent *state_parent, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_swapchain **swapchain)
void(* adapter_flush_bo_address)(struct wined3d_context *context, const struct wined3d_const_bo_address *data, size_t size)
void(* adapter_get_wined3d_caps)(const struct wined3d_adapter *adapter, struct wined3d_caps *caps)
void(* adapter_destroy_buffer)(struct wined3d_buffer *buffer)
void(* adapter_destroy_rendertarget_view)(struct wined3d_rendertarget_view *view)
HRESULT(* adapter_create_shader_resource_view)(const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader_resource_view **view)
bool(* adapter_alloc_bo)(struct wined3d_device *device, struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_bo_address *addr)
void(* adapter_destroy_sampler)(struct wined3d_sampler *sampler)
struct wined3d_driver_info driver_info
const struct wined3d_shader_backend_ops * shader_backend
struct wined3d_d3d_info d3d_info
const struct wined3d_state_entry_template * misc_state_template
struct wined3d_output * outputs
const struct wined3d_fragment_pipe_ops * fragment_pipe
const struct wined3d_vertex_pipe_ops * vertex_pipe
D3DKMT_HANDLE kmt_adapter
const struct wined3d_adapter_ops * adapter_ops
struct wined3d_allocator_block * sibling
struct wined3d_allocator_chunk * chunk
struct wined3d_allocator_block * parent
struct list available[WINED3D_ALLOCATOR_CHUNK_ORDER_COUNT]
struct wined3d_allocator * allocator
void(* allocator_destroy_chunk)(struct wined3d_allocator_chunk *chunk)
struct wined3d_allocator_block * free
struct wined3d_allocator_pool * pools
const struct wined3d_allocator_ops * ops
struct wined3d_blend_state_desc desc
struct wined3d_device * device
const struct wined3d_parent_ops * parent_ops
struct wine_rb_entry entry
void(* blitter_destroy)(struct wined3d_blitter *blitter, struct wined3d_context *context)
DWORD(* blitter_blit)(struct wined3d_blitter *blitter, enum wined3d_blit_op op, struct wined3d_context *context, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, DWORD src_location, const RECT *src_rect, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, DWORD dst_location, const RECT *dst_rect, const struct wined3d_color_key *colour_key, enum wined3d_texture_filter_type filter, const struct wined3d_format *resolve_format)
void(* blitter_clear)(struct wined3d_blitter *blitter, struct wined3d_device *device, unsigned int rt_count, const struct wined3d_fb_state *fb, unsigned int rect_count, const RECT *clear_rects, const RECT *draw_rect, uint32_t flags, const struct wined3d_color *colour, float depth, unsigned int stencil)
struct wined3d_blitter * next
const struct wined3d_blitter_ops * ops
struct wined3d_bo * buffer_object
unsigned int client_map_count
struct wined3d_range * dirty_ranges
struct wined3d_bo * buffer_object
const struct wined3d_buffer_ops * buffer_ops
SIZE_T dirty_ranges_capacity
unsigned int structure_byte_stride
struct wined3d_bo_user bo_user
struct wined3d_box mapped_box
struct upload_bo mapped_upload
enum wined3d_format_id dst_format
void(* convert)(const BYTE *src, unsigned int src_pitch, BYTE *dst, unsigned int dst_pitch, unsigned int width, unsigned int height, const struct wined3d_color_key *colour_key)
struct wined3d_shader_thread_group_size thread_group_size
struct wined3d_bo * buffer_object
struct wined3d_device * device
DWORD update_shader_resource_bindings
DWORD transform_feedback_paused
struct wined3d_texture * texture
uint32_t dirty_graphics_states[WINED3D_BITMAP_SIZE(STATE_HIGHEST)]
struct wined3d_context::@351 current_rt
const struct wined3d_state_entry * state_table
enum fogsource fog_source
DWORD update_patch_vertex_count
struct wined3d_swapchain * swapchain
DWORD lowest_disabled_stage
uint32_t dirty_compute_states[WINED3D_BITMAP_SIZE(STATE_COMPUTE_COUNT)]
DWORD update_compute_unordered_access_view_bindings
void * shader_backend_data
DWORD fixed_function_usage_map
unsigned int sub_resource_idx
const struct wined3d_d3d_info * d3d_info
struct wined3d_stream_info stream_info
DWORD uses_fbo_attached_resources
DWORD numbered_array_mask
DWORD transform_feedback_active
DWORD last_was_dual_source_blend
unsigned int viewport_count
unsigned int scissor_rect_count
DWORD update_compute_shader_resource_bindings
DWORD constant_update_mask
DWORD update_multisample_state
DWORD update_unordered_access_view_bindings
DWORD update_primitive_type
struct wined3d_state state
struct list query_poll_list
uint32_t subpixel_viewport
uint32_t gpu_push_constants
struct fragment_caps ffp_fragment_caps
uint32_t viewport_array_index_any_shader
uint32_t full_ffp_varyings
uint32_t srgb_read_control
enum wined3d_feature_level feature_level
struct wined3d_d3d_limits limits
uint32_t shader_double_precision
uint32_t wined3d_creation_flags
uint32_t emulated_flatshading
uint32_t draw_base_vertex_offset
uint32_t shader_output_interpolation
float filling_convention_offset
DWORD multisample_draw_location
uint32_t srgb_write_control
uint32_t unconditional_npot
unsigned int max_clip_distances
unsigned int texture_size
unsigned int varying_count
unsigned int ffp_vertex_blend_matrices
unsigned int max_rt_count
unsigned int sample_count
unsigned int active_light_count
struct wine_rb_entry entry
struct wined3d_device * device
const struct wined3d_parent_ops * parent_ops
struct wined3d_depth_stencil_state_desc desc
void(* reference_command_list)(struct wined3d_device_context *context, struct wined3d_command_list *list)
bool(* unmap_upload_bo)(struct wined3d_device_context *context, struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_box *box, struct upload_bo *upload_bo)
void(* issue_query)(struct wined3d_device_context *context, struct wined3d_query *query, unsigned int flags)
void(* flush)(struct wined3d_device_context *context)
void(* reference_resource)(struct wined3d_device_context *context, struct wined3d_resource *resource)
void(* submit)(struct wined3d_device_context *context, enum wined3d_cs_queue_id queue_id)
bool(* map_upload_bo)(struct wined3d_device_context *context, struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, uint32_t flags)
void(* finish)(struct wined3d_device_context *context, enum wined3d_cs_queue_id queue_id)
struct wined3d_device * device
const struct wined3d_device_context_ops * ops
struct wined3d_state * state
struct wined3d_context context_no3d
CRITICAL_SECTION bo_map_lock
unsigned int max_frame_latency
struct wined3d_device_parent * device_parent
unsigned char surface_alignment
const struct wined3d_shader_backend_ops * shader_backend
struct wine_rb_tree ffp_vertex_shaders ffp_pixel_shaders
struct wined3d_state_entry state_table[STATE_HIGHEST+1]
struct wine_rb_tree so_descs
struct wined3d_texture * cursor_texture
struct wined3d_blitter * blitter
struct wined3d_buffer * push_constants[WINED3D_PUSH_CONSTANTS_COUNT]
struct wined3d_texture * logo_texture
APPLYSTATEFUNC * multistate_funcs[STATE_HIGHEST+1]
BYTE softwareVertexProcessing
struct wine_rb_tree samplers rasterizer_states blend_states depth_stencil_states
struct wined3d_context ** contexts
struct wined3d_sampler * null_sampler
struct wined3d_swapchain ** swapchains
struct wined3d_device_creation_parameters create_parms
struct wined3d_sampler * default_sampler
struct wined3d_rendertarget_view * back_buffer_view
struct wined3d_rendertarget_view * auto_depth_stencil_view
struct wined3d_adapter * adapter
unsigned int group_count_y
unsigned int group_count_x
unsigned int group_count_z
unsigned int start_instance
unsigned int instance_count
union wined3d_dispatch_parameters::@349 u
struct wined3d_direct_dispatch_parameters direct
enum wined3d_tessellator_domain tessellator_domain
struct wined3d_direct_draw_parameters direct
union wined3d_draw_parameters::@350 u
unsigned int version_high
enum wined3d_pci_vendor vendor
enum wined3d_pci_device device
struct wined3d_rendertarget_view * depth_stencil
struct wined3d_rendertarget_view * render_targets[WINED3D_MAX_RENDER_TARGETS]
struct wined3d_ffp_ps_constants::wined3d_ffp_bumpenv_constants::@353 matrices[WINED3D_MAX_FFP_TEXTURES]
float lscale[WINED3D_MAX_FFP_TEXTURES]
float loffset[WINED3D_MAX_FFP_TEXTURES]
struct wined3d_color texture_constants[WINED3D_MAX_FFP_TEXTURES]
struct wined3d_ffp_ps_constants::wined3d_ffp_bumpenv_constants bumpenv
struct wined3d_color texture_factor
struct wined3d_color specular_enable
struct ffp_frag_desc entry
struct wined3d_shader * shader
struct wined3d_color ambient
struct wined3d_light_constants lights[8]
struct wined3d_ffp_vs_constants::wined3d_ffp_point_constants point
struct wined3d_material material
struct wined3d_matrix texture_matrices[WINED3D_MAX_FFP_TEXTURES]
struct wined3d_matrix projection_matrix
struct wined3d_ffp_vs_constants::wined3d_ffp_light_constants light
union wined3d_ffp_vs_constants::wined3d_ffp_vs_modelview_matrices modelview
struct wine_rb_entry entry
struct wined3d_ffp_vs_settings settings
DWORD parallel_point_light_count
unsigned int texgen[WINED3D_MAX_FFP_TEXTURES]
DWORD per_vertex_point_size
DWORD directional_light_count
struct wined3d_shader * shader
struct wined3d_ffp_vs_desc entry
BOOL(* color_fixup_supported)(struct color_fixup_desc fixup)
const struct wined3d_state_entry_template * states
void(* free_context_data)(struct wined3d_context *context)
void(* free_private)(struct wined3d_device *device, struct wined3d_context *context)
unsigned int(* get_emul_mask)(const struct wined3d_adapter *adapter)
void(* fp_disable)(const struct wined3d_context *context)
BOOL(* allocate_context_data)(struct wined3d_context *context)
void(* fp_apply_draw_state)(struct wined3d_context *context, const struct wined3d_state *state)
void(* get_caps)(const struct wined3d_adapter *adapter, struct fragment_caps *caps)
const struct wined3d_stream_output_desc * so_desc
unsigned int instance_count
enum wined3d_primitive_type output_type
unsigned int vertices_out
enum wined3d_primitive_type input_type
enum wined3d_pci_vendor vendor
enum wined3d_pci_device device
enum wined3d_display_driver driver
struct wined3d_shader_phase * control_point
struct wined3d_shader_phase * fork
unsigned int output_vertex_count
enum wined3d_tessellator_output_primitive tessellator_output_primitive
struct wined3d_hull_shader::@357 phases
enum wined3d_tessellator_partitioning tessellator_partitioning
struct wined3d_shader_phase * join
struct wined3d_buffer * buffer
struct wined3d_buffer * buffer
struct wined3d_color diffuse specular ambient
unsigned int OriginalIndex
struct list changed_entry
struct wined3d_light OriginalParms
const struct wined3d_light_info * lights[WINED3D_MAX_ACTIVE_LIGHTS]
struct rb_tree lights_tree
D3DDDI_VIDEO_PRESENT_SOURCE_ID vidpn_source_id
struct wined3d_adapter * adapter
struct wined3d_display_mode * modes
WCHAR device_name[CCHDEVICENAME]
enum wined3d_format_id screen_format
struct wined3d_device * device
unsigned int declared_in_count
enum wined3d_shader_register_type depth_output
BOOL force_early_depth_stencil
unsigned int input_reg_map[MAX_REG_INPUT]
uint32_t interpolation_mode[WINED3D_PACKED_INTERPOLATION_SIZE]
BOOL(* query_issue)(struct wined3d_query *query, uint32_t flags)
BOOL(* query_poll)(struct wined3d_query *query, uint32_t flags)
void(* query_destroy)(struct wined3d_query *query)
const struct wined3d_parent_ops * parent_ops
enum wined3d_query_state state
const struct wined3d_query_ops * query_ops
unsigned int buffer_object
struct wined3d_device * device
enum wined3d_query_type type
struct list poll_list_entry
struct wined3d_device * device
struct wined3d_rasterizer_state_desc desc
const struct wined3d_parent_ops * parent_ops
struct wine_rb_entry entry
unsigned int format_attrs
struct wined3d_view_desc desc
struct wined3d_resource * resource
const struct wined3d_parent_ops * parent_ops
const struct wined3d_format * format
unsigned int sub_resource_idx
HRESULT(* resource_sub_resource_get_desc)(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc)
void(* resource_unload)(struct wined3d_resource *resource)
HRESULT(* resource_sub_resource_unmap)(struct wined3d_resource *resource, unsigned int sub_resource_idx)
void(* resource_sub_resource_get_map_pitch)(struct wined3d_resource *resource, unsigned int sub_resource_idx, unsigned int *row_pitch, unsigned int *slice_pitch)
ULONG(* resource_incref)(struct wined3d_resource *resource)
HRESULT(* resource_sub_resource_map)(struct wined3d_resource *resource, unsigned int sub_resource_idx, void **map_ptr, const struct wined3d_box *box, uint32_t flags)
void(* resource_preload)(struct wined3d_resource *resource)
ULONG(* resource_decref)(struct wined3d_resource *resource)
LONG rtv_bind_count_device
unsigned int format_attrs
const struct wined3d_parent_ops * parent_ops
struct wined3d_client_resource client
enum wined3d_resource_type type
struct wined3d_device * device
struct list resource_list_entry
enum wined3d_gl_resource_type gl_type
const struct wined3d_format * format
LONG srv_bind_count_device
const struct wined3d_resource_ops * resource_ops
enum wined3d_multisample_type multisample_type
struct wined3d_sampler_desc desc
struct wine_rb_entry entry
const struct wined3d_parent_ops * parent_ops
struct wined3d_device * device
unsigned int max_gl_version
bool check_float_constants
enum wined3d_shader_backend shader_backend
unsigned int cs_multithreaded
unsigned int multisample_textures
unsigned int strict_shader_math
unsigned int sample_count
unsigned short pci_vendor_id
UINT64 emulated_textureram
enum wined3d_renderer renderer
unsigned short pci_device_id
enum wined3d_decl_usage usage
void(* shader_apply_compute_state)(void *shader_priv, struct wined3d_context *context, const struct wined3d_state *state)
void(* shader_apply_draw_state)(void *shader_priv, struct wined3d_context *context, const struct wined3d_state *state)
void(* shader_free_private)(struct wined3d_device *device, struct wined3d_context *context)
BOOL(* shader_allocate_context_data)(struct wined3d_context *context)
void(* shader_update_float_vertex_constants)(struct wined3d_device *device, UINT start, UINT count)
void(* shader_init_context_state)(struct wined3d_context *context)
void(* shader_precompile)(void *shader_priv, struct wined3d_shader *shader)
void(* shader_update_float_pixel_constants)(struct wined3d_device *device, UINT start, UINT count)
void(* shader_free_context_data)(struct wined3d_context *context)
void(* shader_disable)(void *shader_priv, struct wined3d_context *context)
void(* shader_get_caps)(const struct wined3d_adapter *adapter, struct shader_caps *caps)
HRESULT(* shader_alloc_private)(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, const struct wined3d_fragment_pipe_ops *fragment_pipe)
BOOL(* shader_color_fixup_supported)(struct color_fixup_desc fixup)
void(* shader_handle_instruction)(const struct wined3d_shader_instruction *)
uint64_t(* shader_compile)(struct wined3d_context *context, const struct wined3d_shader_desc *shader_desc, enum wined3d_shader_type shader_type)
void(* shader_destroy)(struct wined3d_shader *shader)
const struct wined3d_shader_reg_maps * reg_maps
const struct wined3d_shader * shader
struct wined3d_string_buffer * buffer
struct wined3d_shader_parser_state * state
struct wined3d_shader_tex_mx * tex_mx
struct wined3d_shader_register reg
void(* shader_read_header)(void *data, const DWORD **ptr, struct wined3d_shader_version *shader_version)
BOOL(* shader_is_end)(void *data, const DWORD **ptr)
void(* shader_free)(void *data)
void(* shader_read_instruction)(void *data, const DWORD **ptr, struct wined3d_shader_instruction *ins)
unsigned int last_register
struct wined3d_shader_dst_param first_register
unsigned int component_count
unsigned int register_size
unsigned int register_idx
enum wined3d_data_type resource_data_type
struct wined3d_shader_primitive_type primitive_type
struct wined3d_shader_tgsm_structured tgsm_structured
enum wined3d_tessellator_partitioning tessellator_partitioning
const struct wined3d_shader_src_param * src
union wined3d_shader_instruction::@348 declaration
struct wined3d_shader_semantic semantic
const struct wined3d_shader_dst_param * dst
enum wined3d_shader_resource_type resource_type
struct wined3d_shader_function_table_pointer fp
const struct wined3d_shader_src_param * predicate
enum WINED3D_SHADER_INSTRUCTION_HANDLER handler_idx
struct wined3d_shader_indexable_temp indexable_temp
struct wined3d_shader_structured_resource structured_resource
struct wined3d_shader_index_range index_range
float max_tessellation_factor
enum wined3d_tessellator_output_primitive tessellator_output_primitive
enum wined3d_tessellator_domain tessellator_domain
struct wined3d_shader_tgsm_raw tgsm_raw
const struct wined3d_shader_context * ctx
const struct wined3d_shader_immediate_constant_buffer * icb
struct wined3d_shader_texel_offset texel_offset
struct wined3d_shader_thread_group_size thread_group_size
struct wined3d_shader_register_semantic register_semantic
unsigned int constant_int
unsigned int packed_output
unsigned int constant_float
unsigned int packed_input
unsigned int constant_bool
unsigned int current_loop_reg
unsigned int current_loop_depth
unsigned int instance_count
unsigned int temporary_count
enum wined3d_primitive_type type
unsigned int patch_vertex_count
UINT cb_sizes[WINED3D_MAX_CBS]
DWORD sampler_comparison_mode
struct wined3d_shader_version shader_version
DWORD input_rel_addressing
DWORD texcoord_mask[MAX_REG_TEXCRD]
union wined3d_shader_reg_maps::@346 u
struct wined3d_shader_tgsm * tgsm
const struct wined3d_shader_immediate_constant_buffer * icb
unsigned int min_rel_offset
unsigned int temporary_count
struct wined3d_shader_sampler_map sampler_map
unsigned int max_rel_offset
struct list indexable_temps
BYTE output_registers_mask[MAX_REG_OUTPUT]
uint32_t resource_map[WINED3D_BITMAP_SIZE(MAX_SHADER_RESOURCE_VIEWS)]
struct wined3d_shader_resource_info resource_info[MAX_SHADER_RESOURCE_VIEWS]
struct wined3d_shader_resource_info uav_resource_info[MAX_UNORDERED_ACCESS_VIEWS]
const struct wined3d_shader_src_param * rel_addr
enum wined3d_shader_input_sysval_semantic sysval_semantic
struct wined3d_shader_dst_param reg
enum wined3d_shader_register_type type
struct wined3d_shader_register_index idx[2]
unsigned int immconst_data[4]
enum wined3d_data_type data_type
union wined3d_shader_register::@347 u
enum wined3d_immconst_type immconst_type
enum wined3d_shader_resource_type type
enum wined3d_data_type data_type
struct wined3d_resource * resource
const struct wined3d_parent_ops * parent_ops
struct wined3d_view_desc desc
const struct wined3d_format * format
unsigned int resource_idx
struct wined3d_shader_sampler_map_entry * entries
struct wined3d_shader_dst_param reg
unsigned int sample_count
enum wined3d_decl_usage usage
enum wined3d_data_type resource_data_type
enum wined3d_shader_resource_type resource_type
unsigned int register_idx
const char * semantic_name
unsigned int semantic_idx
unsigned int min_precision
enum wined3d_component_type component_type
enum wined3d_sysval_semantic sysval_semantic
unsigned int element_count
struct wined3d_shader_signature_element * elements
enum wined3d_shader_src_modifier modifiers
struct wined3d_shader_register reg
struct wined3d_shader_dst_param reg
unsigned int texcoord_w[2]
struct wined3d_shader_dst_param reg
unsigned int structure_count
struct wined3d_shader_dst_param reg
enum wined3d_shader_type type
unsigned int functionLength
union wined3d_shader::@358 u
struct wined3d_shader_signature output_signature
struct wined3d_shader_signature patch_constant_signature
unsigned int byte_code_size
struct wined3d_domain_shader ds
struct wined3d_compute_shader cs
struct wined3d_shader_signature input_signature
const struct wined3d_parent_ops * parent_ops
struct wined3d_pixel_shader ps
struct wined3d_vertex_shader vs
const struct wined3d_shader_limits * limits
struct wined3d_shader_reg_maps reg_maps
const struct wined3d_shader_frontend * frontend
struct list shader_list_entry
struct wined3d_geometry_shader gs
struct list linked_programs
enum vkd3d_shader_source_type source_type
struct wined3d_device * device
struct wined3d_hull_shader hs
struct wined3d_stream_output_desc desc
struct wine_rb_entry entry
struct wined3d_stream_output_element elements[1]
unsigned int representative
enum wined3d_format_id index_format
enum wined3d_primitive_type primitive_type
struct wined3d_vertex_declaration * vertex_declaration
struct wined3d_depth_stencil_state * depth_stencil_state
unsigned int patch_vertex_count
struct wined3d_vec4 clip_planes[WINED3D_MAX_CLIP_DISTANCES]
unsigned int scissor_rect_count
RECT scissor_rects[WINED3D_MAX_VIEWPORTS]
unsigned int render_states[WINEHIGHEST_RENDER_STATE+1]
unsigned int viewport_count
int load_base_vertex_index
struct wined3d_color blend_factor
struct wined3d_light_state light_state
enum wined3d_feature_level feature_level
struct wined3d_buffer * index_buffer
struct wined3d_blend_state * blend_state
struct wined3d_viewport viewports[WINED3D_MAX_VIEWPORTS]
struct wined3d_rasterizer_state * rasterizer_state
uint32_t texture_states[WINED3D_MAX_FFP_TEXTURES][WINED3D_HIGHEST_TEXTURE_STATE+1]
struct wined3d_query * predicate
struct wined3d_constant_buffer_state cb[WINED3D_SHADER_TYPE_COUNT][MAX_CONSTANT_BUFFERS]
struct wined3d_stream_state streams[WINED3D_MAX_STREAMS]
unsigned int index_offset
struct wined3d_fb_state fb
struct wined3d_matrix transforms[WINED3D_HIGHEST_TRANSFORM_STATE+1]
struct wined3d_unordered_access_view * unordered_access_view[WINED3D_PIPELINE_COUNT][MAX_UNORDERED_ACCESS_VIEWS]
struct wined3d_shader_resource_view * shader_resource_view[WINED3D_SHADER_TYPE_COUNT][MAX_SHADER_RESOURCE_VIEWS]
const struct wined3d_format * format
DWORD position_transformed
struct wined3d_stream_info_element elements[MAX_ATTRIBS]
unsigned int content_size
void(* swapchain_frontbuffer_updated)(struct wined3d_swapchain *swapchain)
void(* swapchain_present)(struct wined3d_swapchain *swapchain, const RECT *src_rect, const RECT *dst_rect, unsigned int swap_interval, uint32_t flags)
RECT original_window_rect
struct wined3d_swapchain_state_parent * parent
struct wined3d_display_mode original_mode d3d_mode
struct wined3d_swapchain_desc desc
struct wined3d_texture ** back_buffers
unsigned int swap_interval
LARGE_INTEGER last_present_time
const struct wined3d_format * ds_format
const struct wined3d_swapchain_ops * swapchain_ops
struct wined3d_palette * palette
unsigned int max_frame_latency
struct wined3d_texture * front_buffer
struct wined3d_swapchain_state state
struct wined3d_gamma_ramp orig_gamma
const struct wined3d_parent_ops * parent_ops
struct wined3d_device * device
struct wined3d_box * boxes
unsigned int dst_sub_resource_idx
struct wined3d_texture * dst_texture
struct wined3d_color_key gl_color_key
struct wined3d_color_key src_blt_color_key
struct wined3d_color_key dst_blt_color_key
struct wined3d_color_key src_overlay_color_key
struct wined3d_color_key dst_overlay_color_key
const struct wined3d_parent_ops * parent_ops
struct wined3d_color colour
union wined3d_texture::wined3d_texture_sub_resource::@354 clear_value
void(* texture_unload_location)(struct wined3d_texture *texture, struct wined3d_context *context, unsigned int location)
BOOL(* texture_load_location)(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, unsigned int location)
BOOL(* texture_prepare_location)(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, unsigned int location)
void(* texture_download_data)(struct wined3d_context *context, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, unsigned int src_location, const struct wined3d_box *src_box, const struct wined3d_bo_address *dst_bo_addr, const struct wined3d_format *dst_format, unsigned int dst_x, unsigned int dst_y, unsigned int dst_z, unsigned int dst_row_pitch, unsigned int dst_slice_pitch)
void(* texture_upload_data)(struct wined3d_context *context, const struct wined3d_const_bo_address *src_bo_addr, const struct wined3d_format *src_format, const struct wined3d_box *src_box, unsigned int src_row_pitch, unsigned int src_slice_pitch, struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, unsigned int dst_location, unsigned int dst_x, unsigned int dst_y, unsigned int dst_z)
struct wined3d_texture::wined3d_overlay_info * overlay_info
struct wined3d_color_key src_blt_color_key
unsigned int sysmem_count
struct wined3d_shader_resource_view * identity_srv
struct wined3d_texture::wined3d_dc_info * dc_info
struct wined3d_texture::wined3d_texture_sub_resource * sub_resources
const struct wined3d_texture_ops * texture_ops
struct wined3d_swapchain * swapchain
struct wined3d_texture::wined3d_texture_async async
struct wined3d_texture::wined3d_dirty_regions * dirty_regions
unsigned int download_count
struct wined3d_bo * counter_bo
const struct wined3d_format * format
struct wined3d_view_desc desc
struct wined3d_resource * resource
const struct wined3d_parent_ops * parent_ops
DWORD vertex_processing_caps
DWORD max_user_clip_planes
BOOL emulated_flatshading
DWORD max_vertex_blend_matrix_index
DWORD max_vertex_blend_matrices
unsigned int instance_data_step_rate
const struct wined3d_format * format
enum wined3d_input_classification input_slot_class
struct wined3d_vertex_declaration_element * elements
struct wined3d_device * device
const struct wined3d_parent_ops * parent_ops
unsigned int element_count
bool position_transformed
void(* vp_get_caps)(const struct wined3d_adapter *adapter, struct wined3d_vertex_caps *caps)
const struct wined3d_state_entry_template * vp_states
void(* vp_free)(struct wined3d_device *device, struct wined3d_context *context)
void(* vp_disable)(const struct wined3d_context *context)
unsigned int(* vp_get_emul_mask)(const struct wined3d_adapter *adapter)
void(* vp_apply_draw_state)(struct wined3d_context *context, const struct wined3d_state *state)
struct wined3d_shader_attribute attributes[MAX_ATTRIBS]
unsigned int adapter_count
struct wined3d_adapter * adapters[1]
#define CONTAINING_RECORD(address, type, field)
struct wined3d_ffp_vs_constants::wined3d_ffp_vs_modelview_matrices::@352 not_blended
struct wined3d_matrix normal_matrix
struct wined3d_matrix modelview_matrices[MAX_VERTEX_BLENDS]
struct wined3d_matrix modelview_matrix
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
DWORD WINAPI GetCurrentThreadId(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
enum _D3DDDIFORMAT D3DDDIFORMAT
UINT D3DDDI_VIDEO_PRESENT_SOURCE_ID
#define WINED3D_VIEW_READ_ONLY_DEPTH
#define WINED3D_NO_RASTERIZER_STREAM
@ WINED3D_RS_SPECULARMATERIALSOURCE
@ WINED3D_RS_SRGBWRITEENABLE
@ WINED3D_RS_AMBIENTMATERIALSOURCE
@ WINED3D_RS_DIFFUSEMATERIALSOURCE
@ WINED3D_RS_EMISSIVEMATERIALSOURCE
#define WINED3D_VIEW_READ_ONLY_STENCIL
@ WINED3D_PT_TRIANGLELIST_ADJ
@ WINED3D_PT_LINELIST_ADJ
@ WINED3D_PT_TRIANGLELIST
static int wined3d_bit_scan(unsigned int *x)
wined3d_material_color_source
#define WINED3D_BIND_VERTEX_BUFFER
#define WINED3D_MAX_STREAM_OUTPUT_BUFFERS
#define WINED3D_RESOURCE_ACCESS_GPU
#define WINED3D_RESOURCE_ACCESS_CPU
@ WINED3D_RTYPE_TEXTURE_3D
#define WINED3D_MAX_VIEWPORTS
#define WINED3D_MAX_RENDER_TARGETS
#define WINED3D_MAX_FRAGMENT_SAMPLERS
wined3d_texture_filter_type
wined3d_texture_stage_state
#define WINED3D_BIND_SHADER_RESOURCE
#define WINED3D_BIND_INDIRECT_BUFFER
#define WINED3D_MAX_STREAMS
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_MAX_CLIP_DISTANCES
@ WINED3D_SHADER_TYPE_PIXEL
@ WINED3D_SHADER_TYPE_GEOMETRY
@ WINED3D_SHADER_TYPE_VERTEX
@ WINED3D_SHADER_TYPE_COUNT
#define WINED3D_BIND_RENDER_TARGET
#define WINED3D_HIGHEST_TEXTURE_STATE
#define WINED3D_MAX_FFP_TEXTURES
#define WINED3D_HIGHEST_TRANSFORM_STATE
#define WINED3D_PIXEL_CENTER_INTEGER
#define WINED3D_BIND_CONSTANT_BUFFER
#define WINED3D_SRGB_READ_WRITE_CONTROL
#define WINED3D_BIND_INDEX_BUFFER
wined3d_input_classification
#define WINEHIGHEST_RENDER_STATE
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)
struct wined3d_allocator_block * wined3d_allocator_allocate(struct wined3d_allocator *allocator, struct wined3d_context *context, unsigned int memory_type, size_t size)
void wined3d_texture_invalidate_location(struct wined3d_texture *texture, unsigned int sub_resource_idx, uint32_t location)
void wined3d_device_context_emit_set_light(struct wined3d_device_context *context, const struct wined3d_light_info *light)
void string_buffer_list_cleanup(struct wined3d_string_buffer_list *list)
static BOOL wined3d_bitmap_clear(uint32_t *map, unsigned int idx)
void wined3d_device_context_emit_set_shader_resource_views(struct wined3d_device_context *context, enum wined3d_shader_type type, unsigned int start_idx, unsigned int count, struct wined3d_shader_resource_view *const *views)
static ULONG wined3d_atomic_decrement_mutex_lock(volatile LONG *refcount)
const char * debug_d3dusage(uint32_t usage)
static void context_apply_state(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
HRESULT texture2d_blt(struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, const struct wined3d_box *dst_box, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, const struct wined3d_box *src_box, uint32_t flags, const struct wined3d_blt_fx *blt_fx, enum wined3d_texture_filter_type filter)
bool wined3d_allocator_init(struct wined3d_allocator *allocator, size_t pool_count, const struct wined3d_allocator_ops *allocator_ops)
void wined3d_cs_destroy(struct wined3d_cs *cs)
void wined3d_allocator_cleanup(struct wined3d_allocator *allocator)
void wined3d_rendertarget_view_prepare_location(struct wined3d_rendertarget_view *view, struct wined3d_context *context, uint32_t location)
static float float_24_to_32(DWORD in)
BOOL wined3d_get_primary_adapter_luid(LUID *luid)
#define STATE_COMPUTE_COUNT
static BOOL wined3d_format_is_typeless(const struct wined3d_format *format)
void context_set_tls_idx(DWORD idx)
static bool wined3d_rtv_overlaps_srv(const struct wined3d_rendertarget_view *rtv, const struct wined3d_shader_resource_view *srv)
static unsigned int wined3d_bitmap_ffs(const uint32_t *bitmap, unsigned int bit_count, unsigned int start)
static unsigned int wined3d_texture_get_level_height(const struct wined3d_texture *texture, unsigned int level)
void wined3d_cs_emit_set_render_state(struct wined3d_cs *cs, enum wined3d_render_state state, DWORD value)
static bool wined3d_context_is_graphics_state_dirty(const struct wined3d_context *context, unsigned int state_id)
static bool isStateDirty(const struct wined3d_context *context, unsigned int state_id)
void wined3d_unordered_access_view_copy_counter(struct wined3d_unordered_access_view *view, struct wined3d_buffer *buffer, unsigned int offset, struct wined3d_context *context)
void state_nop(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
void wined3d_release_dc(HWND window, HDC dc)
const struct wined3d_shader_backend_ops glsl_shader_backend
#define MAX_SAMPLER_OBJECTS
void wined3d_device_context_emit_copy_uav_counter(struct wined3d_device_context *context, struct wined3d_buffer *dst_buffer, unsigned int offset, struct wined3d_unordered_access_view *uav)
void state_cleanup(struct wined3d_state *state)
void string_buffer_clear(struct wined3d_string_buffer *buffer)
const struct wined3d_vertex_pipe_ops none_vertex_pipe
const char * wined3d_debug_bind_flags(uint32_t bind_flags)
HRESULT wined3d_device_set_implicit_swapchain(struct wined3d_device *device, struct wined3d_swapchain *swapchain)
void wined3d_stateblock_invalidate_texture_lod(struct wined3d_stateblock *stateblock, struct wined3d_texture *texture)
BOOL wined3d_buffer_prepare_location(struct wined3d_buffer *buffer, struct wined3d_context *context, unsigned int location)
@ WINED3D_PUSH_CONSTANTS_PS_FFP
@ WINED3D_PUSH_CONSTANTS_PS_B
@ WINED3D_PUSH_CONSTANTS_VS_B
@ WINED3D_PUSH_CONSTANTS_VS_FFP
@ WINED3D_PUSH_CONSTANTS_VS_I
@ WINED3D_PUSH_CONSTANTS_PS_F
@ WINED3D_PUSH_CONSTANTS_PS_I
@ WINED3D_PUSH_CONSTANTS_COUNT
@ WINED3D_PUSH_CONSTANTS_VS_F
const struct wined3d_gpu_description * wined3d_get_gpu_description(enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
@ WINED3D_SHADER_REL_OP_GT
@ WINED3D_SHADER_REL_OP_LE
@ WINED3D_SHADER_REL_OP_GE
@ WINED3D_SHADER_REL_OP_EQ
@ WINED3D_SHADER_REL_OP_LT
@ WINED3D_SHADER_REL_OP_NE
const char * debug_d3ddevicetype(enum wined3d_device_type device_type)
@ WINED3D_CHANNEL_TYPE_UNUSED
@ WINED3D_CHANNEL_TYPE_UNORM
@ WINED3D_CHANNEL_TYPE_STENCIL
@ WINED3D_CHANNEL_TYPE_FLOAT
@ WINED3D_CHANNEL_TYPE_SNORM
@ WINED3D_CHANNEL_TYPE_NONE
@ WINED3D_CHANNEL_TYPE_UINT
@ WINED3D_CHANNEL_TYPE_SINT
@ WINED3D_CHANNEL_TYPE_DEPTH
static BOOL is_scaling_fixup(struct color_fixup_desc fixup)
const char * debug_box(const struct wined3d_box *box)
BOOL wined3d_adapter_no3d_init_format_info(struct wined3d_adapter *adapter)
wined3d_shader_interpolation_mode
@ WINED3DSIM_LINEAR_CENTROID
@ WINED3DSIM_LINEAR_NOPERSPECTIVE_SAMPLE
@ WINED3DSIM_LINEAR_NOPERSPECTIVE
@ WINED3DSIM_LINEAR_NOPERSPECTIVE_CENTROID
@ WINED3DSIM_LINEAR_SAMPLE
const struct wined3d_fragment_pipe_ops * wined3d_spirv_fragment_pipe_init_vk(void)
void wined3d_rendertarget_view_load_location(struct wined3d_rendertarget_view *view, struct wined3d_context *context, uint32_t location)
HRESULT wined3d_output_get_gamma_ramp(struct wined3d_output *output, struct wined3d_gamma_ramp *ramp)
const struct ffp_frag_desc * find_ffp_frag_shader(const struct wine_rb_tree *fragment_shaders, const struct ffp_frag_settings *settings)
WINED3D_SHADER_INSTRUCTION_HANDLER
@ WINED3DSIH_DCL_TESSELLATOR_PARTITIONING
@ WINED3DSIH_GATHER4_PO_C
@ WINED3DSIH_DCL_FUNCTION_TABLE
@ WINED3DSIH_DCL_INPUT_SIV
@ WINED3DSIH_IMM_ATOMIC_XOR
@ WINED3DSIH_DCL_CONSTANT_BUFFER
@ WINED3DSIH_DCL_INTERFACE
@ WINED3DSIH_IMM_ATOMIC_IADD
@ WINED3DSIH_STORE_STRUCTURED
@ WINED3DSIH_IMM_ATOMIC_UMAX
@ WINED3DSIH_STORE_UAV_TYPED
@ WINED3DSIH_TEXM3x3VSPEC
@ WINED3DSIH_DCL_INPUT_SGV
@ WINED3DSIH_DCL_INPUT_PS_SGV
@ WINED3DSIH_TEXM3x2DEPTH
@ WINED3DSIH_DCL_IMMEDIATE_CONSTANT_BUFFER
@ WINED3DSIH_DCL_THREAD_GROUP
@ WINED3DSIH_DCL_OUTPUT_SIV
@ WINED3DSIH_DCL_INDEX_RANGE
@ WINED3DSIH_DCL_TESSELLATOR_OUTPUT_PRIMITIVE
@ WINED3DSIH_ATOMIC_CMP_STORE
@ WINED3DSIH_HS_CONTROL_POINT_PHASE
@ WINED3DSIH_LD_STRUCTURED
@ WINED3DSIH_IMM_ATOMIC_AND
@ WINED3DSIH_IMM_ATOMIC_CONSUME
@ WINED3DSIH_IMM_ATOMIC_UMIN
@ WINED3DSIH_HS_FORK_PHASE
@ WINED3DSIH_EVAL_CENTROID
@ WINED3DSIH_IMM_ATOMIC_CMP_EXCH
@ WINED3DSIH_DCL_VERTICES_OUT
@ WINED3DSIH_HS_JOIN_PHASE
@ WINED3DSIH_DCL_OUTPUT_TOPOLOGY
@ WINED3DSIH_DCL_HS_MAX_TESSFACTOR
@ WINED3DSIH_DCL_GS_INSTANCES
@ WINED3DSIH_DCL_TGSM_RAW
@ WINED3DSIH_DCL_UAV_TYPED
@ WINED3DSIH_IMM_ATOMIC_IMAX
@ WINED3DSIH_DCL_INPUT_PS
@ WINED3DSIH_LD_UAV_TYPED
@ WINED3DSIH_DCL_UAV_STRUCTURED
@ WINED3DSIH_DCL_HS_FORK_PHASE_INSTANCE_COUNT
@ WINED3DSIH_DCL_INPUT_CONTROL_POINT_COUNT
@ WINED3DSIH_DCL_GLOBAL_FLAGS
@ WINED3DSIH_EVAL_SAMPLE_INDEX
@ WINED3DSIH_IMM_ATOMIC_ALLOC
@ WINED3DSIH_IMM_ATOMIC_IMIN
@ WINED3DSIH_DCL_TESSELLATOR_DOMAIN
@ WINED3DSIH_IMM_ATOMIC_EXCH
@ WINED3DSIH_FIRSTBIT_SHI
@ WINED3DSIH_DCL_INPUT_PS_SIV
@ WINED3DSIH_DCL_TGSM_STRUCTURED
@ WINED3DSIH_DCL_FUNCTION_BODY
@ WINED3DSIH_DCL_OUTPUT_CONTROL_POINT_COUNT
@ WINED3DSIH_IMM_ATOMIC_OR
@ WINED3DSIH_DCL_INDEXABLE_TEMP
@ WINED3DSIH_DCL_RESOURCE_RAW
@ WINED3DSIH_DCL_INPUT_PRIMITIVE
@ WINED3DSIH_DCL_HS_JOIN_PHASE_INSTANCE_COUNT
@ WINED3DSIH_DCL_RESOURCE_STRUCTURED
const char * debug_ivec4(const struct wined3d_ivec4 *v)
enum wined3d_format_id wined3d_get_typed_format_id(const struct wined3d_adapter *adapter, const struct wined3d_format *format, enum wined3d_channel_type channel_type)
static unsigned int wined3d_bitmap_ffz(const uint32_t *bitmap, unsigned int bit_count, unsigned int start)
void wined3d_buffer_update_sub_resource(struct wined3d_buffer *buffer, struct wined3d_context *context, const struct upload_bo *upload_bo, unsigned int offset, unsigned int size)
void get_modelview_matrix(const struct wined3d_stateblock_state *state, unsigned int index, struct wined3d_matrix *mat)
void wined3d_device_context_push_constants(struct wined3d_device_context *context, enum wined3d_push_constants type, uint32_t update_mask, unsigned int start_idx, unsigned int count, const void *constants)
const char * debug_d3dformat(enum wined3d_format_id format_id)
static uint32_t float_to_int(float f)
DWORD wined3d_rendertarget_view_get_locations(const struct wined3d_rendertarget_view *view)
int shader_vaddline(struct wined3d_string_buffer *buffer, const char *fmt, va_list args)
static struct color_fixup_desc create_complex_fixup_desc(enum complex_fixup complex_fixup)
void swapchain_update_draw_bindings(struct wined3d_swapchain *swapchain)
const struct wined3d_shader_frontend sm4_shader_frontend
void wined3d_rendertarget_view_validate_location(struct wined3d_rendertarget_view *view, uint32_t location)
wined3d_tessellator_output_primitive
@ WINED3D_TESSELLATOR_OUTPUT_POINT
@ WINED3D_TESSELLATOR_OUTPUT_TRIANGLE_CW
@ WINED3D_TESSELLATOR_OUTPUT_TRIANGLE_CCW
@ WINED3D_TESSELLATOR_OUTPUT_LINE
const struct wined3d_format * wined3d_resource_get_decompress_format(const struct wined3d_resource *resource)
BOOL wined3d_filter_messages(HWND window, BOOL filter)
void get_fog_start_end(const struct wined3d_context *context, const struct wined3d_state *state, float *start, float *end)
struct wined3d_adapter * wined3d_adapter_gl_create(unsigned int ordinal, unsigned int wined3d_creation_flags)
BOOL shader_match_semantic(const char *semantic_name, enum wined3d_decl_usage usage)
BOOL wined3d_buffer_load_location(struct wined3d_buffer *buffer, struct wined3d_context *context, uint32_t location)
void compute_normal_matrix(struct wined3d_matrix *normal_matrix, BOOL legacy_lighting, const struct wined3d_matrix *modelview)
static BOOL wined3d_bitmap_get_range(const uint32_t *bitmap, unsigned int bit_count, unsigned int start, struct wined3d_range *range)
@ WINED3D_FFP_BLENDWEIGHT
@ WINED3D_FFP_BLENDINDICES
@ WINED3D_FFP_ATTRIBS_COUNT
static int wined3d_uint64_compare(uint64_t x, uint64_t y)
static void wined3d_resource_get_sub_resource_map_pitch(struct wined3d_resource *resource, unsigned int sub_resource_idx, unsigned int *row_pitch, unsigned int *slice_pitch)
uint32_t wined3d_format_pack(const struct wined3d_format *format, const struct wined3d_uvec4 *value)
void wined3d_adapter_cleanup(struct wined3d_adapter *adapter)
HRESULT resource_init(struct wined3d_resource *resource, struct wined3d_device *device, enum wined3d_resource_type type, const struct wined3d_format *format, enum wined3d_multisample_type multisample_type, unsigned int multisample_quality, unsigned int usage, unsigned int bind_flags, unsigned int access, unsigned int width, unsigned int height, unsigned int depth, unsigned int size, void *parent, const struct wined3d_parent_ops *parent_ops, const struct wined3d_resource_ops *resource_ops)
const char * wined3d_debug_feature_level(enum wined3d_feature_level level)
static void wined3d_rtv_bind_count_dec(struct wined3d_rendertarget_view *rtv)
static void * wined3d_texture_allocate_object_memory(SIZE_T s, SIZE_T level_count, SIZE_T layer_count)
const char * debug_d3dtexturestate(enum wined3d_texture_stage_state state)
wined3d_shader_sync_flags
@ WINED3DSSF_THREAD_GROUP
@ WINED3DSSF_GROUP_SHARED_MEMORY
const char * debug_d3dinput_classification(enum wined3d_input_classification classification)
wined3d_shader_src_modifier
static DWORD wined3d_extract_bits(const uint32_t *bitstream, unsigned int offset, unsigned int count)
#define MAX_CONSTANT_BUFFERS
void wined3d_swapchain_state_cleanup(struct wined3d_swapchain_state *state)
BOOL is_invalid_op(const struct wined3d_state *state, int stage, enum wined3d_texture_op op, DWORD arg1, DWORD arg2, DWORD arg3)
void find_ds_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, struct ds_compile_args *args, const struct wined3d_context *context)
void wined3d_unordered_access_view_invalidate_location(struct wined3d_unordered_access_view *view, uint32_t location)
static void wined3d_device_bo_map_lock(struct wined3d_device *device)
static bool wined3d_is_srv_rtv_bound(const struct wined3d_state *state, const struct wined3d_shader_resource_view *srv)
@ WINED3D_FFP_EMIT_D3DCOLOR
@ WINED3D_FFP_EMIT_FLOAT16_2
@ WINED3D_FFP_EMIT_UBYTE4N
@ WINED3D_FFP_EMIT_FLOAT2
@ WINED3D_FFP_EMIT_SHORT4N
@ WINED3D_FFP_EMIT_USHORT2N
@ WINED3D_FFP_EMIT_SHORT2N
@ WINED3D_FFP_EMIT_UBYTE4
@ WINED3D_FFP_EMIT_FLOAT4
@ WINED3D_FFP_EMIT_INVALID
@ WINED3D_FFP_EMIT_FLOAT3
@ WINED3D_FFP_EMIT_FLOAT16_4
@ WINED3D_FFP_EMIT_USHORT4N
@ WINED3D_FFP_EMIT_SHORT2
@ WINED3D_FFP_EMIT_SHORT4
@ WINED3D_FFP_EMIT_FLOAT1
BOOL shader_get_stream_output_register_info(const struct wined3d_shader *shader, const struct wined3d_stream_output_element *so_element, unsigned int *register_idx, unsigned int *component_idx)
static BOOL use_transform_feedback(const struct wined3d_state *state)
#define WINED3D_BITMAP_SIZE(x)
HRESULT wined3d_resource_check_box_dimensions(struct wined3d_resource *resource, unsigned int sub_resource_idx, const struct wined3d_box *box)
static BOOL shader_sampler_is_shadow(const struct wined3d_shader *shader, const struct ps_compile_args *ps_args, unsigned int resource_idx, unsigned int sampler_idx)
wined3d_vertex_processing_mode
static void wined3d_cs_finish(struct wined3d_cs *cs, enum wined3d_cs_queue_id queue_id)
static void wined3d_vec4_transform(struct wined3d_vec4 *dst, const struct wined3d_vec4 *v, const struct wined3d_matrix *m)
void wined3d_cs_emit_present(struct wined3d_cs *cs, struct wined3d_swapchain *swapchain, const RECT *src_rect, const RECT *dst_rect, HWND dst_window_override, unsigned int swap_interval, uint32_t flags)
const struct wined3d_shader_backend_ops none_shader_backend
void wined3d_texture_clear_dirty_regions(struct wined3d_texture *texture)
static BOOL use_vs(const struct wined3d_state *state)
static void wined3d_device_bo_map_unlock(struct wined3d_device *device)
static void shader_get_position_fixup(const struct wined3d_context *context, const struct wined3d_state *state, unsigned int fixup_count, float *position_fixup)
static void wined3d_not_from_cs(const struct wined3d_cs *cs)
HRESULT wined3d_rendertarget_view_no3d_init(struct wined3d_rendertarget_view *view_no3d, const struct wined3d_view_desc *desc, struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops)
static void wined3d_srv_bind_count_inc(struct wined3d_shader_resource_view *srv)
void context_invalidate_compute_state(struct wined3d_context *context, DWORD state_id)
static unsigned int wined3d_texture_get_level_width(const struct wined3d_texture *texture, unsigned int level)
void void string_buffer_release(struct wined3d_string_buffer_list *list, struct wined3d_string_buffer *buffer)
HRESULT wined3d_shader_create_ffp_vs(struct wined3d_device *device, const struct wined3d_ffp_vs_settings *settings, struct wined3d_shader **shader)
void wined3d_ffp_get_fs_settings(const struct wined3d_state *state, const struct wined3d_d3d_info *d3d_info, struct ffp_frag_settings *settings)
const char * debug_d3dsamplerstate(enum wined3d_sampler_state state)
BOOL invert_matrix(struct wined3d_matrix *out, const struct wined3d_matrix *m)
void wined3d_resource_memory_colour_fill(struct wined3d_resource *resource, const struct wined3d_map_desc *map, const struct wined3d_color *colour, const struct wined3d_box *box, bool full_subresource)
#define PRINTF_ATTR(fmt, args)
const char * wined3d_debug_location(uint32_t location)
wined3d_shader_dst_modifier
@ WINED3DSPDM_MSAMPCENTROID
@ WINED3DSPDM_PARTIALPRECISION
static BOOL wined3d_ge_wrap(ULONG x, ULONG y)
struct wined3d_string_buffer * string_buffer_get(struct wined3d_string_buffer_list *list)
void wined3d_shader_resource_view_cleanup(struct wined3d_shader_resource_view *view)
static bool wined3d_state_uses_depth_buffer(const struct wined3d_state *state)
void draw_primitive(struct wined3d_device *device, const struct wined3d_state *state, const struct wined3d_draw_parameters *draw_parameters)
struct wined3d_output * wined3d_swapchain_get_output(const struct wined3d_swapchain *swapchain)
void wined3d_buffer_load(struct wined3d_buffer *buffer, struct wined3d_context *context, const struct wined3d_state *state)
UINT wined3d_format_calculate_size(const struct wined3d_format *format, UINT alignment, UINT width, UINT height, UINT depth)
void wined3d_device_context_emit_generate_mipmaps(struct wined3d_device_context *context, struct wined3d_shader_resource_view *view)
@ WINED3D_SV_CULL_DISTANCE
@ WINED3D_SV_CLIP_DISTANCE
@ WINED3D_SV_VIEWPORT_ARRAY_INDEX
@ WINED3D_SV_TESS_FACTOR_QUADINT
@ WINED3D_SV_SAMPLE_INDEX
@ WINED3D_SV_IS_FRONT_FACE
@ WINED3D_SV_TESS_FACTOR_QUADEDGE
@ WINED3D_SV_TESS_FACTOR_LINEDET
@ WINED3D_SV_PRIMITIVE_ID
@ WINED3D_SV_RENDER_TARGET_ARRAY_INDEX
@ WINED3D_SV_TESS_FACTOR_TRIINT
@ WINED3D_SV_TESS_FACTOR_TRIEDGE
@ WINED3D_SV_TESS_FACTOR_LINEDEN
void state_srgbwrite(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
static void wined3d_resource_wait_idle(const struct wined3d_resource *resource)
static enum complex_fixup get_complex_fixup(struct color_fixup_desc fixup)
static HRESULT wined3d_resource_get_sub_resource_desc(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_sub_resource_desc *desc)
int shader_addline(struct wined3d_string_buffer *buffer, const char *fmt,...) PRINTF_ATTR(2
void context_state_fb(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
void wined3d_device_destroy_default_samplers(struct wined3d_device *device)
const char * wined3d_debug_resource_access(uint32_t access)
static BOOL wined3d_shader_instruction_has_texel_offset(const struct wined3d_shader_instruction *ins)
const char * debug_const_bo_address(const struct wined3d_const_bo_address *address)
static bool wined3d_texture_is_full_rect(const struct wined3d_texture *texture, unsigned int level, const RECT *r)
static struct wined3d_texture * wined3d_state_get_ffp_texture(const struct wined3d_state *state, unsigned int idx)
static void wined3d_context_flush_bo_address(struct wined3d_context *context, const struct wined3d_const_bo_address *data, size_t size)
const struct wined3d_fragment_pipe_ops none_fragment_pipe
HRESULT wined3d_swapchain_state_setup_fullscreen(struct wined3d_swapchain_state *state, HWND window, int x, int y, int width, int height)
void wined3d_texture_translate_drawable_coords(const struct wined3d_texture *texture, HWND window, RECT *rect)
static BOOL wined3d_dsv_srv_conflict(const struct wined3d_rendertarget_view *dsv, const struct wined3d_format *srv_format)
#define MAX_UNORDERED_ACCESS_VIEWS
static void wined3d_pause(unsigned int *spin_count)
void context_invalidate_state(struct wined3d_context *context, unsigned int state_id)
const char * debug_vec4(const struct wined3d_vec4 *v)
const struct wined3d_shader_backend_ops * wined3d_spirv_shader_backend_init_vk(void)
static BOOL is_complex_fixup(struct color_fixup_desc fixup)
#define WINED3D_MAX_DEVICE_IDENTIFIER_LENGTH
void wined3d_context_cleanup(struct wined3d_context *context)
@ CHANNEL_SOURCE_COMPLEX1
@ CHANNEL_SOURCE_COMPLEX0
BOOL wined3d_clip_blit(const RECT *clip_rect, RECT *clipped, RECT *other)
void wined3d_device_context_emit_set_rendertarget_views(struct wined3d_device_context *context, unsigned int start_idx, unsigned int count, struct wined3d_rendertarget_view *const *views)
bool wined3d_texture_validate_sub_resource_idx(const struct wined3d_texture *texture, unsigned int sub_resource_idx)
BOOL wined3d_get_app_name(char *app_name, unsigned int app_name_size)
static int wined3d_uint32_compare(uint32_t x, uint32_t y)
void wined3d_cs_emit_preload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource)
ssize_t adapter_adjust_mapped_memory(struct wined3d_adapter *adapter, ssize_t size)
const char * debug_d3dprimitivetype(enum wined3d_primitive_type primitive_type)
wined3d_shader_resource_type
@ WINED3D_SHADER_RESOURCE_BUFFER
@ WINED3D_SHADER_RESOURCE_TEXTURE_3D
@ WINED3D_SHADER_RESOURCE_TEXTURE_2D
@ WINED3D_SHADER_RESOURCE_TEXTURE_1DARRAY
@ WINED3D_SHADER_RESOURCE_TEXTURE_2DARRAY
@ WINED3D_SHADER_RESOURCE_NONE
@ WINED3D_SHADER_RESOURCE_TEXTURE_2DMSARRAY
@ WINED3D_SHADER_RESOURCE_TEXTURE_2DMS
@ WINED3D_SHADER_RESOURCE_TEXTURE_CUBEARRAY
@ WINED3D_SHADER_RESOURCE_TEXTURE_CUBE
@ WINED3D_SHADER_RESOURCE_TEXTURE_1D
#define WINED3D_MAX_ACTIVE_LIGHTS
void get_identity_matrix(struct wined3d_matrix *mat)
void wined3d_device_context_emit_set_vertex_declaration(struct wined3d_device_context *context, struct wined3d_vertex_declaration *declaration)
#define WINED3D_CS_QUEUE_SIZE
static void context_release(struct wined3d_context *context)
bool vshader_get_input(const struct wined3d_shader *shader, uint8_t usage_req, uint8_t usage_idx_req, unsigned int *regnum)
void find_gs_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, struct gs_compile_args *args, const struct wined3d_context *context)
void wined3d_device_context_set_depth_bounds(struct wined3d_device_context *context, bool enable, float min_depth, float max_depth)
static BOOL is_same_fixup(struct color_fixup_desc f1, struct color_fixup_desc f2)
void find_ps_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, BOOL position_transformed, struct ps_compile_args *args, const struct wined3d_context *context)
const char * debug_shader_type(enum wined3d_shader_type shader_type)
const char * debug_d3dtstype(enum wined3d_transform_state tstype)
void wined3d_texture_set_swapchain(struct wined3d_texture *texture, struct wined3d_swapchain *swapchain)
static enum wined3d_cmp_func wined3d_sanitize_cmp_func(enum wined3d_cmp_func func)
@ WINED3DSUF_ORDER_PRESERVING_COUNTER
@ WINED3DSUF_GLOBALLY_COHERENT
void state_init(struct wined3d_state *state, const struct wined3d_d3d_info *d3d_info, uint32_t flags, enum wined3d_feature_level feature_level)
static void wined3d_colour_srgb_from_linear(struct wined3d_color *colour_srgb, const struct wined3d_color *colour)
void wined3d_format_convert_from_float(const struct wined3d_format *format, const struct wined3d_color *color, void *ret)
void wined3d_cs_emit_add_dirty_texture_region(struct wined3d_cs *cs, struct wined3d_texture *texture, unsigned int layer)
static void wined3d_device_context_unlock(struct wined3d_device_context *context)
void wined3d_unordered_access_view_cleanup(struct wined3d_unordered_access_view *view)
static float float_16_to_32(const unsigned short *in)
bool wined3d_driver_info_init(struct wined3d_driver_info *driver_info, const struct wined3d_gpu_description *gpu_description, enum wined3d_feature_level feature_level, UINT64 vram_bytes, UINT64 sysmem_bytes)
#define WINED3D_ALLOCATOR_CHUNK_ORDER_COUNT
HRESULT wined3d_device_init(struct wined3d_device *device, struct wined3d *wined3d, unsigned int adapter_idx, enum wined3d_device_type device_type, HWND focus_window, unsigned int flags, BYTE surface_alignment, const enum wined3d_feature_level *levels, unsigned int level_count, const BOOL *supported_extensions, struct wined3d_device_parent *device_parent)
static void wined3d_buffer_validate_user(struct wined3d_buffer *buffer)
const char * debug_uvec4(const struct wined3d_uvec4 *v)
void wined3d_buffer_acquire_bo_for_write(struct wined3d_buffer *buffer, struct wined3d_context *context)
struct wined3d_blitter * wined3d_cpu_blitter_create(void)
void wined3d_device_context_emit_clear_uav(struct wined3d_device_context *context, struct wined3d_unordered_access_view *view, const struct wined3d_uvec4 *clear_value, bool fp)
void get_texture_matrix(const struct wined3d_stateblock_state *state, const unsigned int tex, struct wined3d_matrix *mat)
static BOOL can_use_texture_swizzle(const struct wined3d_d3d_info *d3d_info, const struct wined3d_format *format)
wined3d_shader_input_sysval_semantic
@ WINED3D_SIV_VIEWPORT_ARRAY_INDEX
@ WINED3D_SIV_TRIANGLE_INNER_TESS_FACTOR
@ WINED3D_SIV_CULL_DISTANCE
@ WINED3D_SIV_QUAD_V0_TESS_FACTOR
@ WINED3D_SIV_IS_FRONT_FACE
@ WINED3D_SIV_QUAD_V_INNER_TESS_FACTOR
@ WINED3D_SIV_TRIANGLE_U_TESS_FACTOR
@ WINED3D_SIV_INSTANCE_ID
@ WINED3D_SIV_TRIANGLE_W_TESS_FACTOR
@ WINED3D_SIV_RENDER_TARGET_ARRAY_INDEX
@ WINED3D_SIV_QUAD_U0_TESS_FACTOR
@ WINED3D_SIV_CLIP_DISTANCE
@ WINED3D_SIV_QUAD_U1_TESS_FACTOR
@ WINED3D_SIV_SAMPLE_INDEX
@ WINED3D_SIV_TRIANGLE_V_TESS_FACTOR
@ WINED3D_SIV_LINE_DETAIL_TESS_FACTOR
@ WINED3D_SIV_LINE_DENSITY_TESS_FACTOR
@ WINED3D_SIV_QUAD_V1_TESS_FACTOR
@ WINED3D_SIV_PRIMITIVE_ID
@ WINED3D_SIV_QUAD_U_INNER_TESS_FACTOR
#define WINED3D_FORMAT_CAP_SRGB_WRITE
static uint32_t wined3d_mask_from_size(unsigned int size)
BOOL device_context_add(struct wined3d_device *device, struct wined3d_context *context)
void wined3d_texture_cleanup(struct wined3d_texture *texture)
DWORD wined3d_buffer_get_memory(struct wined3d_buffer *buffer, struct wined3d_context *context, struct wined3d_bo_address *data)
void wined3d_device_context_emit_update_sub_resource(struct wined3d_device_context *context, struct wined3d_resource *resource, unsigned int sub_resource_idx, const struct wined3d_box *box, const void *data, unsigned int row_pitch, unsigned int slice_pitch)
void wined3d_device_context_emit_set_texture_state(struct wined3d_device_context *context, unsigned int stage, enum wined3d_texture_stage_state state, unsigned int value)
void string_buffer_free(struct wined3d_string_buffer *buffer)
static void wined3d_rtv_bind_count_inc(struct wined3d_rendertarget_view *rtv)
const char * debug_d3dstate(uint32_t state)
HRESULT wined3d_shader_create_ffp_ps(struct wined3d_device *device, const struct ffp_frag_settings *settings, struct wined3d_shader **shader)
void wined3d_rendertarget_view_get_drawable_size(const struct wined3d_rendertarget_view *view, const struct wined3d_context *context, unsigned int *width, unsigned int *height)
static const char * wined3d_get_line(const char **ptr, const char *end)
static const struct color_fixup_desc COLOR_FIXUP_IDENTITY
static BOOL wined3d_bitmap_set(uint32_t *map, unsigned int idx)
struct wined3d_adapter * wined3d_adapter_vk_create(unsigned int ordinal, unsigned int wined3d_creation_flags)
static bool wined3d_primitive_type_is_list(enum wined3d_primitive_type t)
void find_vs_compile_args(const struct wined3d_state *state, const struct wined3d_shader *shader, struct vs_compile_args *args, const struct wined3d_context *context)
static BOOL is_rasterization_disabled(const struct wined3d_shader *geometry_shader)
void wined3d_device_context_emit_set_stream_outputs(struct wined3d_device_context *context, const struct wined3d_stream_output outputs[WINED3D_MAX_STREAM_OUTPUT_BUFFERS])
enum vkd3d_shader_visibility vkd3d_shader_visibility_from_wined3d(enum wined3d_shader_type shader_type)
unsigned int wined3d_resource_get_sample_count(const struct wined3d_resource *resource)
static ULONG wined3d_resource_decref(struct wined3d_resource *resource)
void wined3d_ftoa(float value, char *s)
void device_resource_add(struct wined3d_device *device, struct wined3d_resource *resource)
int wined3d_ffp_frag_program_key_compare(const void *key, const struct wine_rb_entry *entry)
bool wined3d_allocator_chunk_init(struct wined3d_allocator_chunk *chunk, struct wined3d_allocator *allocator)
void wined3d_buffer_invalidate_location(struct wined3d_buffer *buffer, uint32_t location)
void wined3d_device_context_emit_set_clip_plane(struct wined3d_device_context *context, unsigned int plane_idx, const struct wined3d_vec4 *plane)
void wined3d_device_context_emit_set_feature_level(struct wined3d_device_context *context, enum wined3d_feature_level level)
void wined3d_cs_emit_unload_resource(struct wined3d_cs *cs, struct wined3d_resource *resource)
void wined3d_device_context_emit_draw(struct wined3d_device_context *context, enum wined3d_primitive_type primitive_type, unsigned int patch_vertex_count, int base_vertex_idx, unsigned int start_idx, unsigned int index_count, unsigned int start_instance, unsigned int instance_count, bool indexed)
wined3d_tessellator_domain
@ WINED3D_TESSELLATOR_DOMAIN_TRIANGLE
@ WINED3D_TESSELLATOR_DOMAIN_QUAD
@ WINED3D_TESSELLATOR_DOMAIN_LINE
void * resource_offset_map_pointer(struct wined3d_resource *resource, unsigned int sub_resource_idx, uint8_t *base_memory, const struct wined3d_box *box)
void multiply_matrix(struct wined3d_matrix *dest, const struct wined3d_matrix *src1, const struct wined3d_matrix *src2)
void wined3d_device_uninit_3d(struct wined3d_device *device)
void wined3d_device_context_emit_set_transform(struct wined3d_device_context *context, enum wined3d_transform_state state, const struct wined3d_matrix *matrix)
#define MAX_IMMEDIATE_CONSTANT_BUFFER_SIZE
@ WINED3D_SHADER_BACKEND_AUTO
@ WINED3D_SHADER_BACKEND_GLSL
@ WINED3D_SHADER_BACKEND_GLSL_VKD3D
void wined3d_texture_sub_resources_destroyed(struct wined3d_texture *texture)
void wined3d_device_context_emit_set_rasterizer_state(struct wined3d_device_context *context, struct wined3d_rasterizer_state *rasterizer_state)
void get_pointsize_minmax(const struct wined3d_context *context, const struct wined3d_state *state, float *out_min, float *out_max)
void wined3d_device_context_emit_set_depth_stencil_state(struct wined3d_device_context *context, struct wined3d_depth_stencil_state *state, unsigned int stencil_ref)
static void wined3d_color_from_d3dcolor(struct wined3d_color *wined3d_color, DWORD d3d_color)
const char * debug_d3ddeclmethod(enum wined3d_decl_method method)
static BOOL wined3d_resource_access_is_managed(unsigned int access)
static void wined3d_insert_bits(uint32_t *bitstream, unsigned int offset, unsigned int count, DWORD bits)
void wined3d_device_context_emit_set_unordered_access_views(struct wined3d_device_context *context, enum wined3d_pipeline pipeline, unsigned int start_idx, unsigned int count, struct wined3d_unordered_access_view *const *views, const unsigned int *initial_count)
static unsigned short float_32_to_16(const float *in)
static void wined3d_state_reset(struct wined3d_state *state, const struct wined3d_d3d_info *d3d_info)
const char * debug_d3dresourcetype(enum wined3d_resource_type resource_type)
BOOL string_buffer_init(struct wined3d_string_buffer *buffer)
const char * debug_d3drenderstate(enum wined3d_render_state state)
#define WINED3D_PAUSE_SPIN_COUNT
CRITICAL_SECTION wined3d_command_cs
static BOOL is_identity_fixup(struct color_fixup_desc fixup)
static void wined3d_lock_init_(CRITICAL_SECTION *lock, const char *name)
void wined3d_swapchain_state_register(struct wined3d_swapchain_state *state)
void wined3d_format_copy_data(const struct wined3d_format *format, const uint8_t *src, unsigned int src_row_pitch, unsigned int src_slice_pitch, uint8_t *dst, unsigned int dst_row_pitch, unsigned int dst_slice_pitch, unsigned int w, unsigned int h, unsigned int d)
void wined3d_texture_validate_location(struct wined3d_texture *texture, unsigned int sub_resource_idx, uint32_t location)
static BOOL shader_is_scalar(const struct wined3d_shader_register *reg)
@ WINED3D_GL_RES_TYPE_TEX_3D
@ WINED3D_GL_RES_TYPE_TEX_CUBE
@ WINED3D_GL_RES_TYPE_BUFFER
@ WINED3D_GL_RES_TYPE_TEX_2D
@ WINED3D_GL_RES_TYPE_TEX_1D
@ WINED3D_GL_RES_TYPE_COUNT
HRESULT wined3d_swapchain_no3d_init(struct wined3d_swapchain *swapchain_no3d, struct wined3d_device *device, const struct wined3d_swapchain_desc *desc, struct wined3d_swapchain_state_parent *state_parent, void *parent, const struct wined3d_parent_ops *parent_ops)
wined3d_shader_register_type
@ WINED3DSPR_LOCALTHREADID
@ WINED3DSPR_FUNCTIONPOINTER
@ WINED3DSPR_OUTCONTROLPOINT
@ WINED3DSPR_INCONTROLPOINT
@ WINED3DSPR_THREADGROUPID
@ WINED3DSPR_FUNCTIONBODY
@ WINED3DSPR_GROUPSHAREDMEM
@ WINED3DSPR_LOCALTHREADINDEX
@ WINED3DSPR_IMMCONSTBUFFER
bool ffp_hlsl_compile_ps(const struct ffp_frag_settings *settings, struct wined3d_shader_desc *shader_desc)
const struct wined3d_state_entry_template misc_state_template_gl[]
void wined3d_rendertarget_view_invalidate_location(struct wined3d_rendertarget_view *view, uint32_t location)
@ DRIVER_NVIDIA_GEFORCE2MX
@ DRIVER_NVIDIA_GEFORCEFX
#define STATE_COMPUTE_OFFSET
static size_t align(size_t addr, size_t alignment)
static void wined3d_context_unmap_bo_address(struct wined3d_context *context, const struct wined3d_bo_address *data, unsigned int range_count, const struct wined3d_range *ranges)
void state_unbind_resources(struct wined3d_state *state)
static bool wined3d_map_persistent(void)
void wined3d_device_cleanup(struct wined3d_device *device)
static BOOL needs_separate_srgb_gl_texture(const struct wined3d_context *context, const struct wined3d_texture *texture)
const struct wined3d_format * wined3d_get_format(const struct wined3d_adapter *adapter, enum wined3d_format_id format_id, unsigned int bind_flags)
BOOL wined3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size)
void wined3d_buffer_validate_location(struct wined3d_buffer *buffer, uint32_t location)
const char * debug_bo_address(const struct wined3d_bo_address *address)
void device_context_remove(struct wined3d_device *device, struct wined3d_context *context)
static void wined3d_get_material_colour_source(enum wined3d_material_color_source *diffuse, enum wined3d_material_color_source *emissive, enum wined3d_material_color_source *ambient, enum wined3d_material_color_source *specular, const struct wined3d_state *state)
const char * debug_d3dtop(enum wined3d_texture_op d3dtop)
void wined3d_device_context_emit_set_render_state(struct wined3d_device_context *context, enum wined3d_render_state state, unsigned int value)
static void wined3d_resource_reference(struct wined3d_resource *resource)
const struct wined3d_shader_frontend sm1_shader_frontend
void wined3d_context_init(struct wined3d_context *context, struct wined3d_swapchain *swapchain)
bool ffp_hlsl_compile_vs(const struct wined3d_ffp_vs_settings *settings, struct wined3d_shader_desc *shader_desc, struct wined3d_device *device)
const struct wined3d_color_key_conversion * wined3d_format_get_color_key_conversion(const struct wined3d_texture *texture, BOOL need_alpha_ck)
static void wined3d_srv_bind_count_dec(struct wined3d_shader_resource_view *srv)
void wined3d_allocator_chunk_cleanup(struct wined3d_allocator_chunk *chunk)
void wined3d_device_context_emit_blt_sub_resource(struct wined3d_device_context *context, struct wined3d_resource *dst_resource, unsigned int dst_sub_resource_idx, const struct wined3d_box *dst_box, struct wined3d_resource *src_resource, unsigned int src_sub_resource_idx, const struct wined3d_box *src_box, unsigned int flags, const struct wined3d_blt_fx *fx, enum wined3d_texture_filter_type filter)
void wined3d_cs_destroy_object(struct wined3d_cs *cs, void(*callback)(void *object), void *object)
const char * debug_d3dtexturefiltertype(enum wined3d_texture_filter_type filter_type)
@ WINED3D_IMMCONST_SCALAR
const struct wined3d_fragment_pipe_ops glsl_fragment_pipe
void context_update_stream_info(struct wined3d_context *context, const struct wined3d_state *state)
BOOL wined3d_formats_are_srgb_variants(enum wined3d_format_id format1, enum wined3d_format_id format2)
static BOOL shader_constant_is_local(const struct wined3d_shader *shader, DWORD reg)
void(* SHADER_HANDLER)(const struct wined3d_shader_instruction *)
static BOOL needs_srgb_write(const struct wined3d_d3d_info *d3d_info, const struct wined3d_state *state, const struct wined3d_fb_state *fb)
BOOL wined3d_texture_can_use_pbo(const struct wined3d_texture *texture, const struct wined3d_d3d_info *d3d_info)
C_ASSERT(WINED3D_CS_QUEUE_SIZE< UINT_MAX/4)
HRESULT wined3d_texture_no3d_init(struct wined3d_texture *texture_no3d, struct wined3d_device *device, const struct wined3d_resource_desc *desc, unsigned int layer_count, unsigned int level_count, uint32_t flags, void *parent, const struct wined3d_parent_ops *parent_ops)
wined3d_shader_global_flags
@ WINED3DSGF_REFACTORING_ALLOWED
@ WINED3DSGF_FORCE_EARLY_DEPTH_STENCIL
@ WINED3DSGF_ENABLE_RAW_AND_STRUCTURED_BUFFERS
const struct wined3d_light WINED3D_default_light
void wined3d_device_context_emit_set_light_enable(struct wined3d_device_context *context, unsigned int idx, BOOL enable)
void wined3d_device_context_emit_set_stream_sources(struct wined3d_device_context *context, unsigned int start_idx, unsigned int count, const struct wined3d_stream_state *streams)
void wined3d_cs_emit_clear(struct wined3d_cs *cs, DWORD rect_count, const RECT *rects, uint32_t flags, const struct wined3d_color *color, float depth, DWORD stencil)
void wined3d_device_context_emit_set_index_buffer(struct wined3d_device_context *context, struct wined3d_buffer *buffer, enum wined3d_format_id format_id, unsigned int offset)
static float wined3d_srgb_from_linear(float colour)
void wined3d_device_context_emit_set_constant_buffers(struct wined3d_device_context *context, enum wined3d_shader_type type, unsigned int start_idx, unsigned int count, const struct wined3d_constant_buffer_state *buffers)
static void wined3d_device_context_lock(struct wined3d_device_context *context)
static BOOL use_ps(const struct wined3d_state *state)
void wined3d_texture_upload_from_texture(struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, unsigned int dst_x, unsigned int dst_y, unsigned int dst_z, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx, const struct wined3d_box *src_box)
bool wined3d_light_state_enable_light(struct wined3d_light_state *state, const struct wined3d_d3d_info *d3d_info, struct wined3d_light_info *light_info, BOOL enable)
const char * debug_d3ddeclusage(enum wined3d_decl_usage usage)
static ULONG wined3d_resource_incref(struct wined3d_resource *resource)
@ WINED3D_FFP_VS_FOG_FOGCOORD
@ WINED3D_FFP_VS_FOG_DEPTH
@ WINED3D_FFP_VS_FOG_RANGE
BOOL wined3d_adapter_init(struct wined3d_adapter *adapter, unsigned int ordinal, const LUID *luid, const struct wined3d_adapter_ops *adapter_ops)
void wined3d_rendertarget_view_get_box(struct wined3d_rendertarget_view *view, struct wined3d_box *box)
static void wined3d_from_cs(const struct wined3d_cs *cs)
void wined3d_format_calculate_pitch(const struct wined3d_format *format, unsigned int alignment, unsigned int width, unsigned int height, unsigned int *row_pitch, unsigned int *slice_pitch)
void wined3d_rendertarget_view_cleanup(struct wined3d_rendertarget_view *view)
wined3d_tessellator_partitioning
@ WINED3D_TESSELLATOR_PARTITIONING_FRACTIONAL_ODD
@ WINED3D_TESSELLATOR_PARTITIONING_FRACTIONAL_EVEN
@ WINED3D_TESSELLATOR_PARTITIONING_INTEGER
@ WINED3D_TESSELLATOR_PARTITIONING_POW2
#define WINED3D_CS_CLIENT_WAIT_TIMEOUT
static void wined3d_texture_get_level_box(const struct wined3d_texture *texture, unsigned int level, struct wined3d_box *box)
void wined3d_device_context_emit_set_texture(struct wined3d_device_context *context, enum wined3d_shader_type shader_type, unsigned int bind_index, struct wined3d_shader_resource_view *view)
void state_clipping(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
#define MAX_VERTEX_BLENDS
const struct wined3d_parent_ops wined3d_null_parent_ops
BOOL wined3d_resource_is_offscreen(struct wined3d_resource *resource)
static void wined3d_lock_cleanup(CRITICAL_SECTION *lock)
const char * wined3d_debug_view_desc(const struct wined3d_view_desc *d, const struct wined3d_resource *resource)
#define MAX_SHADER_RESOURCE_VIEWS
@ WINED3D_SHADER_TEX_CUBE
static bool wined3d_context_is_compute_state_dirty(const struct wined3d_context *context, unsigned int state_id)
static void * wined3d_context_map_bo_address(struct wined3d_context *context, const struct wined3d_bo_address *data, size_t size, uint32_t map_flags)
void wined3d_resource_free_sysmem(struct wined3d_resource *resource)
void context_state_drawbuf(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
void wined3d_device_context_emit_set_viewports(struct wined3d_device_context *context, unsigned int viewport_count, const struct wined3d_viewport *viewports)
void swapchain_set_max_frame_latency(struct wined3d_swapchain *swapchain, const struct wined3d_device *device)
void wined3d_device_context_emit_clear_rendertarget_view(struct wined3d_device_context *context, struct wined3d_rendertarget_view *view, const RECT *rect, unsigned int flags, const struct wined3d_color *color, float depth, unsigned int stencil)
static void wined3d_viewport_get_z_range(const struct wined3d_viewport *vp, float *min_z, float *max_z)
void context_resource_released(const struct wined3d_device *device, struct wined3d_resource *resource)
void device_resource_released(struct wined3d_device *device, struct wined3d_resource *resource)
void wined3d_format_get_float_color_key(const struct wined3d_format *format, const struct wined3d_color_key *key, struct wined3d_color *float_colors)
void wined3d_vk_blitter_create(struct wined3d_blitter **next)
#define WINED3D_PACKED_INTERPOLATION_SIZE
@ WINED3D_FFP_PS_FOG_EXP2
@ WINED3D_FFP_PS_FOG_LINEAR
void wined3d_texture_update_sub_resource(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, const struct upload_bo *upload_bo, const struct wined3d_box *box, unsigned int row_pitch, unsigned int slice_pitch)
static bool wined3d_srv_all_subresources(const struct wined3d_shader_resource_view *srv)
const char * debug_d3dshaderinstructionhandler(enum WINED3D_SHADER_INSTRUCTION_HANDLER handler_idx)
void wined3d_buffer_copy(struct wined3d_buffer *dst_buffer, unsigned int dst_offset, struct wined3d_buffer *src_buffer, unsigned int src_offset, unsigned int size)
HRESULT wined3d_device_context_emit_unmap(struct wined3d_device_context *context, struct wined3d_resource *resource, unsigned int sub_resource_idx)
BOOL wined3d_format_is_depth_view(enum wined3d_format_id resource_format_id, enum wined3d_format_id view_format_id)
void add_ffp_frag_shader(struct wine_rb_tree *shaders, struct ffp_frag_desc *desc)
const struct wined3d_gpu_description * wined3d_get_user_override_gpu_description(enum wined3d_pci_vendor vendor, enum wined3d_pci_device device)
HRESULT wined3d_buffer_no3d_init(struct wined3d_buffer *buffer_no3d, struct wined3d_device *device, const struct wined3d_buffer_desc *desc, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops)
void wined3d_device_context_emit_set_predication(struct wined3d_device_context *context, struct wined3d_query *predicate, BOOL value)
void wined3d_device_context_emit_reset_state(struct wined3d_device_context *context, bool invalidate)
void dispatch_compute(struct wined3d_device *device, const struct wined3d_state *state, const struct wined3d_dispatch_parameters *dispatch_parameters)
UINT64 adapter_adjust_memory(struct wined3d_adapter *adapter, INT64 amount)
static BOOL wined3d_bitmap_is_set(const uint32_t *map, unsigned int idx)
void device_invalidate_state(const struct wined3d_device *device, unsigned int state)
void cpu_blitter_clear_texture(struct wined3d_texture *texture, unsigned int sub_resource_idx, const struct wined3d_box *box, const struct wined3d_color *colour)
void wined3d_buffer_cleanup(struct wined3d_buffer *buffer)
void wined3d_cs_init_object(struct wined3d_cs *cs, void(*callback)(void *object), void *object)
void string_buffer_list_init(struct wined3d_string_buffer_list *list)
HRESULT wined3d_context_no3d_init(struct wined3d_context *context_no3d, struct wined3d_swapchain *swapchain)
static void wined3d_context_destroy_bo(struct wined3d_context *context, struct wined3d_bo *bo)
LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL unicode, UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc)
void(* APPLYSTATEFUNC)(struct wined3d_context *ctx, const struct wined3d_state *state, DWORD state_id)
void wined3d_shader_resource_view_destroy(struct wined3d_shader_resource_view *view)
void * wined3d_buffer_load_sysmem(struct wined3d_buffer *buffer, struct wined3d_context *context)
void wined3d_swapchain_cleanup(struct wined3d_swapchain *swapchain)
const struct wined3d_vertex_pipe_ops glsl_vertex_pipe
const struct wined3d_vertex_pipe_ops * wined3d_spirv_vertex_pipe_init_vk(void)
void wined3d_device_context_emit_set_blend_state(struct wined3d_device_context *context, struct wined3d_blend_state *state, const struct wined3d_color *blend_factor, unsigned int sample_mask)
static bool wined3d_rtv_all_subresources(const struct wined3d_rendertarget_view *rtv)
static float int_to_float(uint32_t i)
void wined3d_allocator_block_free(struct wined3d_allocator_block *block)
void resource_cleanup(struct wined3d_resource *resource)
static struct wined3d_context * context_acquire(struct wined3d_device *device, struct wined3d_texture *texture, unsigned int sub_resource_idx)
void string_buffer_sprintf(struct wined3d_string_buffer *buffer, const char *format,...) PRINTF_ATTR(2
enum wined3d_shader_resource_type pixelshader_get_resource_type(const struct wined3d_shader_reg_maps *reg_maps, unsigned int resource_idx, DWORD tex_types)
void wined3d_device_context_emit_set_depth_stencil_view(struct wined3d_device_context *context, struct wined3d_rendertarget_view *view)
void wined3d_texture_download_from_texture(struct wined3d_texture *dst_texture, unsigned int dst_sub_resource_idx, struct wined3d_texture *src_texture, unsigned int src_sub_resource_idx)
void wined3d_buffer_copy_bo_address(struct wined3d_buffer *dst_buffer, struct wined3d_context *context, unsigned int dst_offset, const struct wined3d_const_bo_address *src_addr, unsigned int size)
struct wined3d_light_info * wined3d_light_state_get_light(const struct wined3d_light_state *state, unsigned int idx)
void clipplane(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
static unsigned int wined3d_blend_state_get_writemask(const struct wined3d_blend_state *state, unsigned int index)
#define WINED3D_FORMAT_CAP_SRGB_READ
void wined3d_swapchain_state_restore_from_fullscreen(struct wined3d_swapchain_state *state, HWND window, const RECT *window_rect)
void wined3d_unregister_window(HWND window)
HRESULT wined3d_shader_extract_from_dxbc(struct wined3d_shader *shader, unsigned int max_shader_version, enum vkd3d_shader_source_type *source_type)
BOOL wined3d_texture_load_location(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, uint32_t location)
void wined3d_texture_load(struct wined3d_texture *texture, struct wined3d_context *context, BOOL srgb)
@ WINED3D_CS_QUEUE_DEFAULT
static void wined3d_context_copy_bo_address(struct wined3d_context *context, const struct wined3d_bo_address *dst, const struct wined3d_bo_address *src, unsigned int range_count, const struct wined3d_range *ranges, uint32_t map_flags)
enum wined3d_format_id pixelformat_for_depth(DWORD depth)
static unsigned int wined3d_bind_layer_count(const struct wined3d_texture *texture)
int BOOL string_buffer_resize(struct wined3d_string_buffer *buffer, int rc)
static enum wined3d_material_color_source validate_material_colour_source(const struct wined3d_vertex_declaration *vdecl, enum wined3d_material_color_source source)
unsigned int shader_find_free_input_register(const struct wined3d_shader_reg_maps *reg_maps, unsigned int max)
@ CARD_NVIDIA_GEFORCE_GTX780
@ CARD_NVIDIA_GEFORCE_GTX950M
@ CARD_NVIDIA_GEFORCE_RTX4060
@ CARD_NVIDIA_GEFORCE_GTX1060_3GB
@ CARD_NVIDIA_GEFORCE_GT325M
@ CARD_NVIDIA_GEFORCE_GTXTITANZ
@ CARD_NVIDIA_GEFORCE_GTX775M
@ CARD_NVIDIA_GEFORCE_GTX570
@ CARD_NVIDIA_GEFORCE_GTXTITAN
@ CARD_NVIDIA_GEFORCE_RTX3080_10GB_LHR
@ CARD_NVIDIA_GEFORCE_GTX560TI
@ CARD_NVIDIA_GEFORCE_GTX1080TI
@ CARD_NVIDIA_GEFORCE_GTS250
@ CARD_NVIDIA_GEFORCE_6800
@ CARD_NVIDIA_GEFORCE_GT610
@ CARD_NVIDIA_GEFORCE_GT420
@ CARD_NVIDIA_GEFORCEFX_5600
@ CARD_AMD_RADEON_R9_M370X
@ CARD_NVIDIA_GEFORCE_GTX1080
@ CARD_NVIDIA_GEFORCE_9600GT
@ CARD_NVIDIA_GEFORCE_GT640M
@ CARD_NVIDIA_GEFORCE_GTX1650SUPER
@ CARD_AMD_RADEON_RX_VEGA_20
@ CARD_NVIDIA_GEFORCE_GT1030
@ CARD_NVIDIA_GEFORCE_940M
@ CARD_NVIDIA_GEFORCE_320M
@ CARD_AMD_RADEON_R9_290X
@ CARD_NVIDIA_GEFORCE_GT650M
@ CARD_NVIDIA_GEFORCE_GTX460
@ CARD_AMD_RADEON_RX_NAVI_21
@ CARD_NVIDIA_GEFORCE_830M
@ CARD_AMD_RADEON_RX_VEGA_10
@ CARD_NVIDIA_GEFORCE_7300
@ CARD_NVIDIA_GEFORCEFX_5200
@ CARD_NVIDIA_GEFORCE_GTX1650
@ CARD_NVIDIA_GEFORCE_GT330
@ CARD_NVIDIA_GEFORCE_7600
@ CARD_NVIDIA_GEFORCE_GT320M
@ CARD_NVIDIA_GEFORCE_820M
@ CARD_NVIDIA_GEFORCE_GTX280
@ CARD_NVIDIA_GEFORCE_6600GT
@ CARD_NVIDIA_GEFORCE_GT425M
@ CARD_NVIDIA_GEFORCE_GTX275
@ CARD_AMD_RADEON_XPRESS_200M
@ CARD_NVIDIA_GEFORCE_GT440
@ CARD_NVIDIA_GEFORCE_7400
@ CARD_NVIDIA_GEFORCE_GTX560
@ CARD_NVIDIA_GEFORCE_GTX650TI
@ CARD_NVIDIA_GEFORCE_845M
@ CARD_NVIDIA_GEFORCE_RTX3080_10GB
@ CARD_NVIDIA_GEFORCE_840M
@ CARD_NVIDIA_GEFORCE_8800GTX
@ CARD_NVIDIA_GEFORCE_9700MGT
@ CARD_NVIDIA_GEFORCE_GT730
@ CARD_NVIDIA_GEFORCE_GTX580
@ CARD_NVIDIA_GEFORCE_GTX1060
@ CARD_NVIDIA_GEFORCE_GTX1070
@ CARD_NVIDIA_GEFORCE_GTX950
@ CARD_NVIDIA_GEFORCE_RTX3090
@ CARD_NVIDIA_GEFORCE_RTX3060TI_GA104_LHR
@ CARD_NVIDIA_GEFORCE_GTX690
@ CARD_NVIDIA_GEFORCE_GTX780TI
@ CARD_NVIDIA_GEFORCE_RTX3050
@ CARD_AMD_RADEON_RX_VEGA_12
@ CARD_NVIDIA_GEFORCE_RTX3060TI_GA104
@ CARD_NVIDIA_GEFORCE_GTX770
@ CARD_NVIDIA_GEFORCE_RTX3090TI
@ CARD_NVIDIA_GEFORCE_GTX760
@ CARD_NVIDIA_GEFORCE_GTX880M
@ CARD_NVIDIA_GEFORCE4_TI4200
@ CARD_AMD_RADEON_HD4200M
@ CARD_NVIDIA_GEFORCE_GT430
@ CARD_NVIDIA_GEFORCE_GTX750TI
@ CARD_NVIDIA_GEFORCE_8300GS
@ CARD_NVIDIA_GEFORCE_RTX4090
@ CARD_NVIDIA_GEFORCE_GTX465
@ CARD_NVIDIA_GEFORCE_RTX4070TI
@ CARD_NVIDIA_GEFORCE_GT240
@ CARD_NVIDIA_TITANX_PASCAL
@ CARD_AMD_RADEON_R9_M380
@ CARD_AMD_RADEON_HD6550D
@ CARD_NVIDIA_GEFORCE_GT520
@ CARD_NVIDIA_GEFORCE_RTX2080
@ CARD_AMD_RADEON_PRO_V620_VF
@ CARD_NVIDIA_GEFORCE_GTX675MX_1
@ CARD_NVIDIA_GEFORCE_GT730M
@ CARD_AMD_RADEON_RX_NAVI_14
@ CARD_NVIDIA_GEFORCE_8800GTS
@ CARD_NVIDIA_GEFORCE_RTX4070TISUPER
@ CARD_NVIDIA_GEFORCE_GT640
@ CARD_NVIDIA_GEFORCE_8400GS
@ CARD_NVIDIA_GEFORCE_RTX3070TI
@ CARD_NVIDIA_GEFORCE_8200
@ CARD_AMD_RADEON_HD6600M
@ CARD_NVIDIA_GEFORCE_RTX3080TI
@ CARD_NVIDIA_GEFORCE_GTX1660TI
@ CARD_NVIDIA_GEFORCE_RTX3070_MOBILE
@ CARD_NVIDIA_GEFORCE_GTX480
@ CARD_NVIDIA_GEFORCE_RTX4070SUPER
@ CARD_NVIDIA_GEFORCE_GT720
@ CARD_NVIDIA_GEFORCE_GTX550
@ CARD_NVIDIA_GEFORCE_9400M
@ CARD_NVIDIA_GEFORCE_GTX960
@ CARD_NVIDIA_GEFORCE_GT755M
@ CARD_NVIDIA_GEFORCE_GTX680
@ CARD_NVIDIA_GEFORCE_8600MGT
@ CARD_NVIDIA_GEFORCE_GTX650
@ CARD_NVIDIA_GEFORCE_GT555M
@ CARD_NVIDIA_GEFORCE_GTS350M
@ CARD_NVIDIA_GEFORCE_RTX3080_12GB
@ CARD_AMD_RADEON_HD7660D
@ CARD_NVIDIA_GEFORCE_GTX870M
@ CARD_NVIDIA_GEFORCE_9400GT
@ CARD_NVIDIA_GEFORCE_GTX850M
@ CARD_NVIDIA_GEFORCE_RTX3060
@ CARD_NVIDIA_GEFORCE_7800GT
@ CARD_AMD_RADEON_R9_M395X
@ CARD_NVIDIA_GEFORCE_RTX3060TI_GA103
@ CARD_NVIDIA_GEFORCE_GTX670
@ CARD_NVIDIA_GEFORCE_GTX765M
@ CARD_NVIDIA_GEFORCE_RTX4080SUPER
@ CARD_NVIDIA_GEFORCE_GTX1080M
@ CARD_AMD_RADEON_R9_FURY
@ CARD_NVIDIA_GEFORCE_RTX4060TI16G
@ CARD_NVIDIA_GEFORCE_RTX4070
@ CARD_NVIDIA_GEFORCE_RTX3060_LHR
@ CARD_NVIDIA_GEFORCE_210
@ CARD_NVIDIA_GEFORCE_GTX660M
@ CARD_NVIDIA_GEFORCE_GTX460M
@ CARD_NVIDIA_GEFORCE_9800GT
@ CARD_NVIDIA_GEFORCE_6200
@ CARD_NVIDIA_GEFORCE_9300
@ CARD_NVIDIA_GEFORCE_GT525M
@ CARD_NVIDIA_GEFORCE_GTX760TI
@ CARD_NVIDIA_GEFORCE_GTX1060M
@ CARD_NVIDIA_GEFORCE_GTX260
@ CARD_NVIDIA_GEFORCE_GTX980
@ CARD_NVIDIA_GEFORCE_8600GT
@ CARD_NVIDIA_GEFORCE_GTX970M
@ CARD_NVIDIA_GEFORCE_GTX560M
@ CARD_NVIDIA_GEFORCE_GTX1070M
@ CARD_NVIDIA_GEFORCE_315M
@ CARD_NVIDIA_GEFORCE_RTX2070
@ CARD_NVIDIA_GEFORCE_GT630
@ CARD_NVIDIA_GEFORCE_GT220
@ CARD_NVIDIA_GEFORCE_GTX750
@ CARD_NVIDIA_GEFORCE_GTX770M
@ CARD_NVIDIA_GEFORCE_GTXTITANX
@ CARD_NVIDIA_GEFORCE_GTX1660SUPER
@ CARD_AMD_RADEON_RX_NAVI_10
@ CARD_NVIDIA_GEFORCE_GTX675MX_2
@ CARD_AMD_RADEON_PRO_V620
@ CARD_NVIDIA_GEFORCEFX_5800
@ CARD_NVIDIA_GEFORCE_GTX1050
@ CARD_AMD_RADEON_HD8600M
@ CARD_NVIDIA_GEFORCE_RTX4060TI8G
@ CARD_NVIDIA_GEFORCE_GTXTITANB
@ CARD_NVIDIA_GEFORCE4_MX
@ CARD_NVIDIA_GEFORCE_GTX780M
@ CARD_NVIDIA_GEFORCE_GTX960M
@ CARD_NVIDIA_GEFORCE_GTX1050TI
@ CARD_NVIDIA_GEFORCE_GTX970
@ CARD_NVIDIA_GEFORCE_GT630M
@ CARD_NVIDIA_GEFORCE_GT740M
@ CARD_NVIDIA_GEFORCE_GT540M
@ CARD_NVIDIA_GEFORCE_GTX660
@ CARD_NVIDIA_GEFORCE_RTX4080
@ CARD_AMD_RADEON_HD6490M
@ CARD_NVIDIA_GEFORCE_RTX3070
@ CARD_NVIDIA_GEFORCE2_MX
@ CARD_NVIDIA_GEFORCE_RTX2060
@ CARD_NVIDIA_GEFORCE_GTX470
@ CARD_NVIDIA_GEFORCE_RTX2080TI
@ CARD_NVIDIA_GEFORCE_8500GT
@ CARD_NVIDIA_GEFORCE_GTX980TI
@ CARD_NVIDIA_GEFORCE_410M
@ CARD_NVIDIA_GEFORCE_GTS450
@ CARD_NVIDIA_GEFORCE_GT750M
@ CARD_AMD_RADEON_HD6480G
@ CARD_NVIDIA_GEFORCE_RTX3070_LHR
@ CARD_NVIDIA_GEFORCE_GTX660TI
@ CARD_NVIDIA_GEFORCE_9500GT
@ CARD_NVIDIA_GEFORCE_GTX670MX
@ CARD_NVIDIA_GEFORCE_GTX860M
@ CARD_NVIDIA_GEFORCE_9200
@ CARD_AMD_RADEON_HD6410D
void wined3d_unordered_access_view_set_counter(struct wined3d_unordered_access_view *view, unsigned int value)
static unsigned int wined3d_bitmap_ffs_xor(const uint32_t *bitmap, unsigned int bit_count, unsigned int start, uint32_t xor_mask)
struct wined3d_cs * wined3d_cs_create(struct wined3d_device *device, const enum wined3d_feature_level *levels, unsigned int level_count)
static float wined3d_get_float_state(const struct wined3d_state *state, enum wined3d_render_state rs)
void wined3d_texture_get_bo_address(const struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_bo_address *data, uint32_t location)
@ WINED3D_PROJECTION_COUNT3
@ WINED3D_PROJECTION_NONE
@ WINED3D_PROJECTION_COUNT4
void context_restore(struct wined3d_context *context, struct wined3d_texture *texture, unsigned int sub_resource_idx)
HRESULT wined3d_device_context_emit_map(struct wined3d_device_context *context, struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, unsigned int flags)
const char * debug_color(const struct wined3d_color *color)
BOOL wined3d_resource_prepare_sysmem(struct wined3d_resource *resource)
const struct wined3d_vec4 wined3d_srgb_const[]
void wined3d_ffp_get_vs_settings(const struct wined3d_state *state, const struct wined3d_stream_info *si, const struct wined3d_d3d_info *d3d_info, struct wined3d_ffp_vs_settings *settings)
static unsigned int wined3d_popcount(unsigned int x)
static struct wined3d_texture * texture_from_resource(struct wined3d_resource *resource)
@ WINED3D_BLIT_OP_COLOR_BLIT_CKEY
@ WINED3D_BLIT_OP_RAW_BLIT
@ WINED3D_BLIT_OP_COLOR_BLIT_ALPHATEST
@ WINED3D_BLIT_OP_DEPTH_BLIT
@ WINED3D_BLIT_OP_COLOR_BLIT
void wined3d_device_context_emit_set_shader(struct wined3d_device_context *context, enum wined3d_shader_type type, struct wined3d_shader *shader)
int wined3d_ffp_vertex_program_key_compare(const void *key, const struct wine_rb_entry *entry)
static struct wined3d_buffer * buffer_from_resource(struct wined3d_resource *resource)
BOOL wined3d_texture_prepare_location(struct wined3d_texture *texture, unsigned int sub_resource_idx, struct wined3d_context *context, uint32_t location)
wined3d_shader_conditional_op
@ WINED3D_SHADER_CONDITIONAL_OP_NZ
@ WINED3D_SHADER_CONDITIONAL_OP_Z
HRESULT wined3d_init(struct wined3d *wined3d, uint32_t flags)
HRESULT compile_state_table(struct wined3d_state_entry *state_table, APPLYSTATEFUNC **dev_multistate_funcs, const struct wined3d_d3d_info *d3d_info, const BOOL *supported_extensions, const struct wined3d_vertex_pipe_ops *vertex, const struct wined3d_fragment_pipe_ops *fragment, const struct wined3d_state_entry_template *misc)
void wined3d_resource_update_draw_binding(struct wined3d_resource *resource)
void dump_color_fixup_desc(struct color_fixup_desc fixup)
void wined3d_stream_info_from_declaration(struct wined3d_stream_info *stream_info, const struct wined3d_state *state, const struct wined3d_d3d_info *d3d_info)
void wined3d_device_context_emit_set_scissor_rects(struct wined3d_device_context *context, unsigned int rect_count, const RECT *rects)
void wined3d_device_context_emit_set_samplers(struct wined3d_device_context *context, enum wined3d_shader_type type, unsigned int start_idx, unsigned int count, struct wined3d_sampler *const *samplers)
void state_shademode(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
void wined3d_device_context_emit_execute_command_list(struct wined3d_device_context *context, struct wined3d_command_list *list, bool restore_state)
enum wined3d_pci_device wined3d_gpu_from_feature_level(enum wined3d_pci_vendor *vendor, enum wined3d_feature_level feature_level)
HRESULT shader_generate_code(const struct wined3d_shader *shader, struct wined3d_string_buffer *buffer, const struct wined3d_shader_reg_maps *reg_maps, void *backend_ctx, const DWORD *start, const DWORD *end)
void wined3d_device_create_default_samplers(struct wined3d_device *device, struct wined3d_context *context)
static unsigned int wined3d_texture_get_level_depth(const struct wined3d_texture *texture, unsigned int level)
void resource_unload(struct wined3d_resource *resource)
void wined3d_swapchain_activate(struct wined3d_swapchain *swapchain, BOOL activate)
static const uint32_t WINED3D_READ_ONLY_BIND_MASK
void wined3d_cs_emit_set_color_key(struct wined3d_cs *cs, struct wined3d_texture *texture, WORD flags, const struct wined3d_color_key *color_key)
#define RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO
static unsigned int block