29#define MAKE_TAG(ch0, ch1, ch2, ch3) \
30 ((DWORD)(ch0) | ((DWORD)(ch1) << 8) | \
31 ((DWORD)(ch2) << 16) | ((DWORD)(ch3) << 24 ))
32#define TAG_FX10 MAKE_TAG('F', 'X', '1', '0')
33#define TAG_FXLC MAKE_TAG('F', 'X', 'L', 'C')
34#define TAG_CLI4 MAKE_TAG('C', 'L', 'I', '4')
35#define TAG_CTAB MAKE_TAG('C', 'T', 'A', 'B')
146 if (!
v->type->element_count)
return v;
147 return &
v->elements[
index];
176 switch (
v->type->basetype)
364 unsigned int u =
args[0][
i];
376 unsigned int u =
args[0][
i] == 0.0f ? 0 : ~0
u;
543 unsigned int *
arg1 = (
unsigned int *)
args[0];
544 unsigned int *
arg2 = (
unsigned int *)
args[1];
557 unsigned int *
arg1 = (
unsigned int *)
args[0];
558 unsigned int *
arg2 = (
unsigned int *)
args[1];
571 unsigned int *
arg1 = (
unsigned int *)
args[0];
572 unsigned int *
arg2 = (
unsigned int *)
args[1];
611 unsigned int *
arg1 = (
unsigned int *)
args[0], *
arg2 = (
unsigned int *)
args[1];
624 unsigned int *
arg1 = (
unsigned int *)
args[0], *
arg2 = (
unsigned int *)
args[1];
637 unsigned int *
arg1 = (
unsigned int *)
args[0];
638 unsigned int *
arg2 = (
unsigned int *)
args[1];
651 unsigned int *
arg1 = (
unsigned int *)
args[0];
652 unsigned int *
arg2 = (
unsigned int *)
args[1];
665 unsigned int *
arg1 = (
unsigned int *)
args[0];
666 unsigned int *
arg2 = (
unsigned int *)
args[1];
705 unsigned int *
arg1 = (
unsigned int *)
args[0];
706 unsigned int *
arg2 = (
unsigned int *)
args[1];
746 WARN(
"Unexpected argument count %u, or component count %u.\n",
n, instr->
comp_count);
750 for (
i = 0;
i <
n / 2; ++
i)
908 ID3D10Blob_Release(
p->code);
922 return p->reg_tables[regt].f +
offset;
930 unsigned int i,
j, regt,
offset, instr_count, arg_count;
931 const DWORD *
ip = ID3D10Blob_GetBufferPointer(
p->code);
940 for (
i = 0;
i <
p->vars_count; ++
i)
943 memcpy(
dst +
v->offset,
v->v->buffer->u.buffer.local_buffer +
v->v->buffer_offset,
944 v->length *
sizeof(*
dst));
949 for (
i = 0;
i < instr_count; ++
i)
952 arg_count = 1 + *
ip++;
956 FIXME(
"Unexpected argument count %u.\n", arg_count);
961 for (
j = 0;
j < arg_count; ++
j)
980 for (
i = 0;
i <
d->count; ++
i)
1111 {0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf},
1123 {0.0f, 0.0f, 0.0f, 0.0f},
1143#define WINE_D3D10_TO_STR(x) case x: return #x
1156 FIXME(
"Unrecognised D3D10_SHADER_VARIABLE_CLASS %#x.\n",
c);
1157 return "unrecognised";
1195 FIXME(
"Unrecognised D3D10_SHADER_VARIABLE_TYPE %#x.\n",
t);
1196 return "unrecognised";
1200#undef WINE_D3D10_TO_STR
1211 WARN(
"Not supported on object variables of type %s.\n",
1228 float *out_data,
unsigned int out_idx)
1233 out_data[out_idx] = *(
float *)&
value;
1241 out_data[out_idx] =
value;
1245 FIXME(
"Unhandled in_type %#x.\n", in_type);
1251 int *out_data,
unsigned int out_idx)
1256 out_data[out_idx] = *(
float *)&
value;
1262 out_data[out_idx] =
value;
1266 FIXME(
"Unhandled in_type %#x.\n", in_type);
1272 INT8 *out_data,
unsigned int out_idx)
1278 out_data[out_idx] =
value;
1282 FIXME(
"Unhandled in_type %#x.\n", in_type);
1301 FIXME(
"Unsupported property type %u.\n", out_type);
1311 unsigned int i,
j,
count, variable_idx;
1314 unsigned int *dst_index;
1328 switch (
d->operation)
1347 v =
d->index_expr.v;
1351 WARN(
"Failed to evaluate index expression, hr %#lx.\n",
hr);
1357 if (variable_idx >=
v->type->element_count)
1359 WARN(
"Expression evaluated to invalid index value %u, array %s of size %u.\n",
1360 variable_idx,
debugstr_a(
v->name),
v->type->element_count);
1371 *dst_index = variable_idx;
1374 *(
void **)
dst = &
v->elements[variable_idx];
1390 WARN(
"Failed to evaluate value expression, hr %#lx.\n",
hr);
1398 WARN(
"Unexpected value expression output size %u, property size %u.\n",
1408 FIXME(
"Unsupported property update for %u.\n",
d->operation);
1415 SIZE_T max_capacity, new_capacity;
1418 if (
count <= *capacity)
1422 if (
count > max_capacity)
1425 new_capacity =
max(1, *capacity);
1426 while (new_capacity <
count && new_capacity <= max_capacity / 2)
1428 if (new_capacity <
count)
1429 new_capacity =
count;
1431 if (!(new_elements =
realloc(*elements, new_capacity *
size)))
1434 *elements = new_elements;
1435 *capacity = new_capacity;
1446 size_t len, max_len;
1450 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
1454 max_len = data_size -
offset;
1487 ERR(
"Failed to allocate string memory.\n");
1502 ERR(
"Failed to allocate name memory.\n");
1514 for (
i = 0;
i <
effect->local_buffer_count; ++
i)
1530 for (
i = 0;
i <
effect->local_buffer_count; ++
i)
1532 for (
j = 0;
j <
effect->local_buffers[
i].type->member_count; ++
j)
1534 v = &
effect->local_buffers[
i].members[
j];
1540 for (
i = 0;
i <
effect->object_count; ++
i)
1563 ERR(
"Failed to allocate shader resource binding information memory.\n");
1567 for (
i = 0;
i <
desc.BoundResources; ++
i)
1576 switch (bind_desc.
Type)
1582 WARN(
"Unexpected bind count %u for a buffer %s.\n", bind_desc.
BindCount,
1600 WARN(
"Failed to find shader resource.\n");
1621 memset(so_decl, 0,
sizeof(*so_decl));
1627 static const char * xyzw =
"xyzw";
1628 static const char * rgba =
"rgba";
1633 memset(so_decl, 0,
sizeof(*so_decl));
1682 e.StartComponent =
m - xyzw;
1684 e.StartComponent =
m - rgba;
1695 e.StartComponent = 0;
1696 e.ComponentCount = 4;
1718 if (
e.OutputSlot == 0)
1739 if (
v->effect->shaders.current >=
v->effect->shaders.count)
1741 WARN(
"Invalid effect? Used shader current(%u) >= used shader count(%u)\n",
1742 v->effect->shaders.current,
v->effect->shaders.count);
1746 v->effect->shaders.v[
v->effect->shaders.current++] =
v;
1750 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
1756 TRACE(
"DXBC size: %#x.\n", dxbc_size);
1760 WARN(
"Invalid dxbc size %#x (data size %#Ix, offset %#x).\n",
offset, data_size,
offset);
1775 memcpy(ID3D10Blob_GetBufferPointer(
v->u.shader.bytecode),
ptr, dxbc_size);
1780 switch (
v->type->basetype)
1783 hr = ID3D10Device_CreateVertexShader(
device,
ptr, dxbc_size, &
v->u.shader.shader.vs);
1787 hr = ID3D10Device_CreatePixelShader(
device,
ptr, dxbc_size, &
v->u.shader.shader.ps);
1791 if (
v->u.shader.stream_output_declaration)
1797 WARN(
"Failed to parse stream output declaration, hr %#lx.\n",
hr);
1801 hr = ID3D10Device_CreateGeometryShaderWithStreamOutput(
device,
ptr, dxbc_size,
1807 hr = ID3D10Device_CreateGeometryShader(
device,
ptr, dxbc_size, &
v->u.shader.shader.gs);
1811 ERR(
"This should not happen!\n");
1827 FIXME(
"Unknown variable class %#x.\n",
c);
1867 FIXME(
"Unknown variable type %#x.\n",
t);
1880 FIXME(
"Unknown variable type %#x.\n",
t);
1910 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
1920 ERR(
"Failed to copy name.\n");
1929 TRACE(
"Element count: %u.\n",
t->element_count);
1932 TRACE(
"Unpacked size: %#x.\n",
t->size_unpacked);
1935 TRACE(
"Stride: %#x.\n",
t->stride);
1938 TRACE(
"Packed size %#x.\n",
t->size_packed);
1943 TRACE(
"Type is numeric.\n");
1947 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
1952 t->member_count = 0;
1953 t->column_count = numeric.type.columns;
1954 t->row_count = numeric.type.rows;
1958 TRACE(
"Type description: %#x.\n", numeric.data);
1959 TRACE(
"\tcolumns: %u.\n",
t->column_count);
1960 TRACE(
"\trows: %u.\n",
t->row_count);
1963 TRACE(
"\tunknown bits: %#x.\n", numeric.type.unknown);
1967 TRACE(
"Type is an object.\n");
1971 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
1976 t->member_count = 0;
1977 t->column_count = 0;
1981 t->flags = type_flags;
1986 TRACE(
"\tflags: %#x.\n",
t->flags);
1990 TRACE(
"Type is a structure.\n");
1994 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
1999 TRACE(
"Member count: %u.\n",
t->member_count);
2001 t->column_count = 0;
2006 if (!(
t->members =
calloc(
t->member_count,
sizeof(*
t->members))))
2008 ERR(
"Failed to allocate members memory.\n");
2014 WARN(
"Invalid member count %#x (data size %#Ix, offset %#x).\n",
2015 t->member_count, data_size,
offset);
2019 for (
i = 0;
i <
t->member_count; ++
i)
2028 ERR(
"Failed to copy name.\n");
2034 TRACE(
"Member semantic at offset %#x.\n",
offset);
2038 ERR(
"Failed to copy semantic.\n");
2047 TRACE(
"Member type info at offset %#x.\n",
offset);
2051 ERR(
"Failed to get variable type.\n");
2062 if (
t->element_count)
2064 TRACE(
"Elementtype for type at offset: %#lx\n",
t->id);
2067 if (!(
t->elementtype =
calloc(1,
sizeof(*
t->elementtype))))
2069 ERR(
"Failed to allocate members memory.\n");
2075 t->elementtype->effect =
t->effect;
2079 ERR(
"Failed to copy name.\n");
2084 t->elementtype->element_count = 0;
2085 TRACE(
"\tElement count: %u.\n",
t->elementtype->element_count);
2091 t->elementtype->size_unpacked =
t->size_packed /
t->element_count;
2092 TRACE(
"\tUnpacked size: %#x.\n",
t->elementtype->size_unpacked);
2094 t->elementtype->stride =
t->stride;
2095 TRACE(
"\tStride: %#x.\n",
t->elementtype->stride);
2097 t->elementtype->size_packed =
t->size_packed /
t->element_count;
2098 TRACE(
"\tPacked size: %#x.\n",
t->elementtype->size_packed);
2100 t->elementtype->member_count =
t->member_count;
2101 TRACE(
"\tMember count: %u.\n",
t->elementtype->member_count);
2103 t->elementtype->column_count =
t->column_count;
2104 TRACE(
"\tColumns: %u.\n",
t->elementtype->column_count);
2106 t->elementtype->row_count =
t->row_count;
2107 TRACE(
"\tRows: %u.\n",
t->elementtype->row_count);
2109 t->elementtype->basetype =
t->basetype;
2112 t->elementtype->type_class =
t->type_class;
2115 t->elementtype->members =
t->members;
2131 TRACE(
"Returning existing type.\n");
2137 ERR(
"Failed to allocate type memory.\n");
2143 type->effect = effect;
2146 ERR(
"Failed to parse type info, hr %#lx.\n",
hr);
2153 ERR(
"Failed to insert type entry.\n");
2163 const ID3D10EffectVariableVtbl **vtbl = &
v->ID3D10EffectVariable_iface.lpVtbl;
2165 switch (
v->type->type_class)
2185 switch(
v->type->basetype)
2253 if (
v->type->member_count)
2255 if (!(
v->members =
calloc(
v->type->member_count,
sizeof(*
v->members))))
2257 ERR(
"Failed to allocate members memory.\n");
2261 for (
i = 0;
i <
v->type->member_count; ++
i)
2266 var->buffer =
v->buffer;
2267 var->effect =
v->effect;
2273 ERR(
"Failed to copy name.\n");
2280 ERR(
"Failed to copy name.\n");
2286 TRACE(
"Variable buffer offset: %u.\n",
var->buffer_offset);
2293 if (
v->type->element_count)
2295 unsigned int bufferoffset =
v->buffer_offset;
2297 if (!(
v->elements =
calloc(
v->type->element_count,
sizeof(*
v->elements))))
2299 ERR(
"Failed to allocate elements memory.\n");
2303 for (
i = 0;
i <
v->type->element_count; ++
i)
2307 var->buffer =
v->buffer;
2308 var->effect =
v->effect;
2309 var->type =
v->type->elementtype;
2314 ERR(
"Failed to copy name.\n");
2321 ERR(
"Failed to copy name.\n");
2328 bufferoffset +=
v->type->stride;
2330 var->buffer_offset = bufferoffset;
2331 TRACE(
"Variable buffer offset: %u.\n",
var->buffer_offset);
2351 ERR(
"Failed to copy name.\n");
2357 TRACE(
"Variable type info at offset %#x.\n",
offset);
2361 ERR(
"Failed to get variable type.\n");
2366 v->explicit_bind_point = ~0
u;
2384 TRACE(
"Annotation value is at offset %#x.\n",
offset);
2386 switch (
a->type->basetype)
2391 ERR(
"Failed to copy name.\n");
2397 FIXME(
"Unhandled object type %#x.\n",
a->type->basetype);
2414 ERR(
"Failed to allocate annotations memory.\n");
2442 name =
"vertexshader";
2446 name =
"pixelshader";
2450 name =
"geometryshader";
2461 ERR(
"Failed to copy name.\n");
2472 v->u.shader.isinline = 1;
2477 ERR(
"Failed to copy semantic.\n");
2509 WARN(
"Invalid offset %#x (data size %#Ix).\n",
offset, data_size);
2520 WARN(
"Invalid value count %#x (offset %#x, data size %#Ix).\n",
count,
offset, data_size);
2527 unsigned int out_idx = out_base *
out_size +
i;
2571 FIXME(
"Unhandled out_type %#x.\n", out_type);
2603 switch (
v->type->basetype)
2621 unsigned int *
offset,
const char **
ptr,
unsigned int data_size)
2624 unsigned int i, param_count,
size;
2630 WARN(
"Malformed FXLC table, size %u.\n", data_size);
2648 param_count = input_count + 1;
2652 WARN(
"Malformed FXLC table, opcode %#x.\n", ins.
opcode);
2657 for (
i = 0;
i < param_count; ++
i)
2664 FIXME(
"Argument flags are not supported %#x.\n",
flags);
2681 FIXME(
"Unexpected register table index %u.\n", regt);
2700 WARN(
"FXLC size misaligned %u.\n", data_size);
2706 memcpy(ID3D10Blob_GetBufferPointer(
p->code),
data, data_size);
2710 TRACE(
"%u instructions.\n", ins_count);
2712 for (
i = 0;
i < ins_count; ++
i)
2716 WARN(
"Failed to parse instruction %u.\n",
i);
2738 if (data_size <
sizeof(
DWORD))
2740 WARN(
"Invalid CLI4 chunk size %u.\n", data_size);
2750 WARN(
"Invalid constant table size %u.\n", data_size);
2776 struct ctab_const_info
2780 WORD register_index;
2781 WORD register_count;
2786 unsigned int i, cb_reg_count = 0;
2792 if (data_size <
sizeof(
header))
2794 WARN(
"Invalid constant table size %u.\n", data_size);
2808 WARN(
"Invalid constant info section offset %#x.\n",
header.constantinfo);
2812 p->vars_count =
header.constants;
2814 TRACE(
"Variable count %u.\n",
p->vars_count);
2816 if (!(
p->vars =
calloc(
p->vars_count,
sizeof(*
p->vars))))
2820 for (
i = 0;
i <
p->vars_count; ++
i, ++
info)
2832 p->vars[
i].offset =
info->register_index * 4;
2833 p->vars[
i].length =
info->register_count * 4;
2835 cb_reg_count =
max(cb_reg_count,
info->register_index +
info->register_count);
2841 WARN(
"Failed to allocate variables buffer.\n");
2852 size_t data_size =
section->data.size;
2885 memset(preshader, 0,
sizeof(*preshader));
2887 context.preshader = preshader;
2892 WARN(
"Failed to parse DXBC, ret %d.\n",
ret);
2911 WARN(
"Expression references out of bounds literal constant.\n");
2917 WARN(
"Expression references out of bounds variable.\n");
2930 d->entries[
d->count++] = *dep;
2944 const char *data_ptr, *
name;
2945 unsigned int *dst_index;
2957 FIXME(
"Unknown property id %#x.\n",
id);
2972 ERR(
"Invalid index %#x for property %#x.\n",
idx,
id);
2978 ERR(
"Unsupported property %#x.\n",
id);
2993 ERR(
"Failed to read values for property %#x.\n",
id);
3003 WARN(
"Failed to get variable name.\n");
3024 WARN(
"Object type mismatch. Variable type %#x, property type %#x.\n",
3035 WARN(
"Mismatching variable size %u, property size %u.\n",
3056 WARN(
"Invalid offset %#x (data size %#Ix).\n", value_offset,
data_size);
3059 data_ptr =
data + value_offset;
3060 value_offset =
read_u32(&data_ptr);
3061 variable_idx =
read_u32(&data_ptr);
3065 WARN(
"Failed to get variable name.\n");
3070 "" :
"offset ", variable_idx);
3080 if (!
variable->type->element_count || variable_idx >=
variable->type->element_count)
3082 WARN(
"Invalid array size %u.\n",
variable->type->element_count);
3088 WARN(
"Object type mismatch. Variable type %#x, property type %#x.\n",
3100 *dst_index = variable_idx;
3108 unsigned int offset = variable_idx *
sizeof(
float);
3111 variable->type->size_unpacked - offset < property_info->
size *
sizeof(
float))
3113 WARN(
"Invalid numeric variable data offset %u.\n", variable_idx);
3133 WARN(
"Invalid offset %#x (data size %#Ix).\n", value_offset,
data_size);
3137 data_ptr =
data + value_offset;
3138 value_offset =
read_u32(&data_ptr);
3143 WARN(
"Failed to get variable name.\n");
3155 if (!
variable->type->element_count)
3157 WARN(
"Expected array variable.\n");
3163 WARN(
"Expected object type property used with indexed expression.\n");
3169 WARN(
"Invalid offset %#x (data size %#Ix).\n", value_offset,
data_size);
3173 data_ptr =
data + code_offset;
3178 WARN(
"Invalid offset %#x (data size %#Ix).\n", code_offset,
data_size);
3188 WARN(
"Failed to parse preshader, hr %#lx.\n",
hr);
3198 WARN(
"Invalid offset %#x (data size %#Ix).\n", value_offset,
data_size);
3202 data_ptr =
data + value_offset;
3207 WARN(
"Invalid offset %#x (data size %#Ix).\n", value_offset,
data_size);
3216 WARN(
"Failed to parse preshader, hr %#lx.\n",
hr);
3225 if (
effect->anonymous_shader_current >=
effect->anonymous_shader_count)
3227 ERR(
"Anonymous shader count is wrong!\n");
3233 WARN(
"Invalid offset %#x (data size %#Ix).\n", value_offset,
data_size);
3236 data_ptr =
data + value_offset;
3237 value_offset =
read_u32(&data_ptr);
3238 sodecl_offset =
read_u32(&data_ptr);
3240 TRACE(
"Effect object starts at offset %#x.\n", value_offset);
3243 &
effect->anonymous_shaders[
effect->anonymous_shader_current])))
3247 ++
effect->anonymous_shader_current;
3251 TRACE(
"Anonymous shader stream output declaration at offset %#x.\n", sodecl_offset);
3253 &
variable->u.shader.stream_output_declaration))
3255 ERR(
"Failed to copy stream output declaration.\n");
3300 ERR(
"Failed to copy name.\n");
3309 TRACE(
"Pass has %u annotations.\n",
p->annotations.count);
3314 ERR(
"Failed to parse pass annotations, hr %#lx.\n",
hr);
3327 WARN(
"Failed to parse pass assignment %u, hr %#lx.\n",
i,
hr);
3347 ERR(
"Failed to copy name.\n");
3353 TRACE(
"Technique has %u passes.\n",
t->pass_count);
3356 TRACE(
"Technique has %u annotations.\n",
t->annotations.count);
3361 ERR(
"Failed to parse technique annotations, hr %#lx.\n",
hr);
3365 if (!(
t->passes =
calloc(
t->pass_count,
sizeof(*
t->passes))))
3367 ERR(
"Failed to allocate passes memory\n");
3371 for (
i = 0;
i <
t->pass_count; ++
i)
3387 float *
dst = (
float *)(
v->buffer->u.buffer.local_buffer +
v->buffer_offset), *
src;
3389 unsigned int col_count =
v->type->column_count, col;
3390 unsigned int row_count =
v->type->row_count,
row;
3396 for (col = 0; col < col_count; ++col)
3413 *
ptr += col_count * row_count *
sizeof(
float);
3425 switch (
v->type->type_class)
3428 for (
m = 0;
m <
v->type->member_count; ++
m)
3438 FIXME(
"Unexpected initial value for type %#x.\n",
v->type->basetype);
3449 for (
i = 0;
i <
v->type->member_count; ++
i)
3452 for (
i = 0;
i <
v->type->element_count; ++
i)
3462 const char *data_ptr;
3469 TRACE(
"Variable semantic at offset %#x.\n",
offset);
3473 ERR(
"Failed to copy semantic.\n");
3482 TRACE(
"Variable default value offset: %#x.\n", default_value_offset);
3495 if (default_value_offset)
3499 WARN(
"Invalid default value offset %#x, variable packed size %u.\n", default_value_offset,
3500 v->type->size_packed);
3504 data_ptr =
data + default_value_offset;
3509 TRACE(
"Variable has %u annotations.\n",
v->annotations.count);
3514 ERR(
"Failed to parse variable annotations, hr %#lx.\n",
hr);
3520 v->explicit_bind_point =
v->buffer_offset;
3530 switch (
v->type->basetype)
3534 &
v->u.state.desc.depth_stencil, &
v->u.state.object.depth_stencil)))
3540 &
v->u.state.desc.blend, &
v->u.state.object.blend)))
3546 &
v->u.state.desc.rasterizer, &
v->u.state.object.rasterizer)))
3552 &
v->u.state.desc.sampler.desc, &
v->u.state.object.sampler)))
3577 TRACE(
"Variable semantic at offset %#x.\n",
offset);
3581 ERR(
"Failed to copy semantic.\n");
3587 TRACE(
"Variable explicit bind point %#x.\n",
v->explicit_bind_point);
3590 if (shared_type_desc)
return S_OK;
3594 switch (
v->type->basetype)
3607 ERR(
"Failed to allocate shader resource view array memory.\n");
3610 v->u.resource.parent =
TRUE;
3614 for (
i = 0;
i <
v->type->element_count; ++
i)
3616 v->elements[
i].u.resource.srv = &
v->u.resource.srv[
i];
3617 v->elements[
i].u.resource.parent =
FALSE;
3625 TRACE(
"SVT could not have elements.\n");
3634 uint32_t shader_offset, sodecl_offset;
3639 TRACE(
"Shader offset: %#x.\n", shader_offset);
3644 TRACE(
"Stream output declaration at offset %#x.\n", sodecl_offset);
3647 &
var->u.shader.stream_output_declaration))
3649 ERR(
"Failed to copy stream output declaration.\n");
3653 TRACE(
"Stream output declaration: %s.\n",
debugstr_a(
var->u.shader.stream_output_declaration));
3670 FIXME(
"Failed to get backing store info for type %s.\n",
3675 if (storage_info->
size >
sizeof(
v->u.state.desc))
3677 ERR(
"Invalid storage size %#Ix.\n", storage_info->
size);
3681 switch (
v->type->basetype)
3684 vars = &
v->effect->ds_states;
3687 vars = &
v->effect->blend_states;
3690 vars = &
v->effect->rs_states;
3693 vars = &
v->effect->samplers;
3701 unsigned int prop_count;
3707 WARN(
"Wrong variable array size for %#x.\n",
v->type->basetype);
3714 TRACE(
"State object property count: %#x.\n", prop_count);
3718 for (
j = 0;
j < prop_count; ++
j)
3722 &
var->u.state.dependencies)))
3724 ERR(
"Failed to read property list.\n");
3741 TRACE(
"Variable has %u annotations.\n",
v->annotations.count);
3746 ERR(
"Failed to parse variable annotations, hr %#lx.\n",
hr);
3770 subresource_data.
pSysMem =
v->u.buffer.local_buffer;
3774 if (
FAILED(
hr = ID3D10Device_CreateBuffer(
device, &buffer_desc, &subresource_data, &
v->u.buffer.buffer)))
3783 if (
v->type->size_unpacked % 16)
3784 WARN(
"Unexpected texture buffer size not a multiple of 16.\n");
3787 &srv_desc, &
v->u.buffer.resource_view)))
3791 v->u.buffer.resource_view =
NULL;
3810 if (!(
l->type =
calloc(1,
sizeof(*
l->type))))
3812 ERR(
"Failed to allocate local buffer type memory.\n");
3817 l->type->effect =
l->effect;
3824 ERR(
"Failed to copy name.\n");
3830 TRACE(
"%s buffer data size: %#x.\n",
prefix,
l->data_size);
3835 if (
flags & IS_TBUFFER)
3847 ERR(
"Failed to copy name.\n");
3851 flags &= ~IS_TBUFFER;
3854 ERR(
"Unexpected buffer flags %#x.\n",
flags);
3859 TRACE(
"%s buffer member count: %#x.\n",
prefix,
l->type->member_count);
3862 TRACE(
"%s buffer explicit bind point: %#x.\n",
prefix,
l->explicit_bind_point);
3870 TRACE(
"Local buffer has %u annotations.\n",
l->annotations.count);
3875 ERR(
"Failed to parse buffer annotations, hr %#lx.\n",
hr);
3880 if (!(
l->members =
calloc(
l->type->member_count,
sizeof(*
l->members))))
3882 ERR(
"Failed to allocate members memory.\n");
3886 if (!(
l->type->members =
calloc(
l->type->member_count,
sizeof(*
l->type->members))))
3888 ERR(
"Failed to allocate type members memory.\n");
3892 if (
local && !(
l->u.buffer.local_buffer =
calloc(1,
l->data_size)))
3894 ERR(
"Failed to allocate local constant buffer memory.\n");
3898 for (
i = 0;
i <
l->type->member_count; ++
i)
3904 v->effect =
l->effect;
3913 typem->
type =
v->type;
3917 ERR(
"Failed to copy name.\n");
3924 ERR(
"Failed to copy name.\n");
3932 l->type->size_packed +=
v->type->size_packed;
3955 if ((
v->type->size_unpacked +
v->buffer_offset) >
stride)
3957 stride =
v->type->size_unpacked +
v->buffer_offset;
3967 if ( ((
stride & 0xf) +
v->type->size_unpacked) > 0x10)
3972 stride +=
v->type->size_unpacked;
3975 l->type->stride =
l->type->size_unpacked = (
stride + 0xf) & ~0xf;
3979 TRACE(
"\tElement count: %u.\n",
l->type->element_count);
3980 TRACE(
"\tMember count: %u.\n",
l->type->member_count);
3981 TRACE(
"\tUnpacked size: %#x.\n",
l->type->size_unpacked);
3982 TRACE(
"\tStride: %#x.\n",
l->type->stride);
3983 TRACE(
"\tPacked size %#x.\n",
l->type->size_packed);
3987 if (
local &&
l->data_size)
3991 WARN(
"Failed to create a buffer object, hr %#lx.\n",
hr);
3996 if (
l->explicit_bind_point != ~0
u)
4004 TRACE(
"effect type member %p.\n", typem);
4015 TRACE(
"effect type %p.\n",
t);
4019 free(
t->elementtype->name);
4020 free(
t->elementtype);
4027 for (
i = 0;
i <
t->member_count; ++
i)
4067 switch (
v->type->basetype)
4085 WARN(
"Variable %s type does not match pool type.\n",
debugstr_a(
v->name));
4100 WARN(
"Invalid index offset %#x (data size %#Ix).\n",
e->index_offset,
data_size);
4105 if (!(
e->local_buffers =
calloc(
e->local_buffer_count,
sizeof(*
e->local_buffers))))
4107 ERR(
"Failed to allocate local buffer memory.\n");
4111 if (!(
e->object_variables =
calloc(
e->object_count,
sizeof(*
e->object_variables))))
4113 ERR(
"Failed to allocate object variables memory.\n");
4117 if (!(
e->anonymous_shaders =
calloc(
e->anonymous_shader_count,
sizeof(*
e->anonymous_shaders))))
4119 ERR(
"Failed to allocate anonymous shaders memory\n");
4123 if (!(
e->shaders.v =
calloc(
e->shaders.count,
sizeof(*
e->shaders.v))))
4125 ERR(
"Failed to allocate used shaders memory\n");
4129 if (!(
e->samplers.v =
calloc(
e->samplers.count,
sizeof(*
e->samplers.v))))
4131 ERR(
"Failed to allocate samplers array.\n");
4135 if (!(
e->blend_states.v =
calloc(
e->blend_states.count,
sizeof(*
e->blend_states.v))))
4137 ERR(
"Failed to allocate blend states array.\n");
4141 if (!(
e->ds_states.v =
calloc(
e->ds_states.count,
sizeof(*
e->ds_states.v))))
4143 ERR(
"Failed to allocate depth stencil states array.\n");
4147 if (!(
e->rs_states.v =
calloc(
e->rs_states.count,
sizeof(*
e->rs_states.v))))
4149 ERR(
"Failed to allocate rasterizer states array.\n");
4153 if (!(
e->techniques =
calloc(
e->technique_count,
sizeof(*
e->techniques))))
4155 ERR(
"Failed to allocate techniques memory\n");
4159 for (
i = 0;
i <
e->local_buffer_count; ++
i)
4170 for (
i = 0;
i <
e->object_count; ++
i)
4182 for (
i = 0;
i <
e->shared_buffer_count; ++
i)
4199 for (
i = 0;
i <
e->shared_object_count; ++
i)
4216 for (
i = 0;
i <
e->technique_count; ++
i)
4237 WARN(
"Invalid data size %#Ix.\n", data_size);
4243 TRACE(
"Target: %#x.\n",
e->version);
4246 TRACE(
"Local buffer count: %u.\n",
e->local_buffer_count);
4249 TRACE(
"Numeric variable count: %u.\n",
e->numeric_variable_count);
4252 TRACE(
"Object count: %u.\n",
e->object_count);
4255 TRACE(
"Pool buffer count: %u.\n",
e->shared_buffer_count);
4261 TRACE(
"Pool objects count: %u.\n",
e->shared_object_count);
4264 TRACE(
"Technique count: %u.\n",
e->technique_count);
4267 TRACE(
"Index offset: %#x.\n",
e->index_offset);
4273 TRACE(
"Texture count: %u.\n",
e->texture_count);
4276 TRACE(
"Depthstencilstate count: %u.\n",
e->ds_states.count);
4279 TRACE(
"Blendstate count: %u.\n",
e->blend_states.count);
4282 TRACE(
"Rasterizerstate count: %u.\n",
e->rs_states.count);
4285 TRACE(
"Samplerstate count: %u.\n",
e->samplers.count);
4288 TRACE(
"Rendertargetview count: %u.\n",
e->rtvs.count);
4291 TRACE(
"Depthstencilview count: %u.\n",
e->dsvs.count);
4294 TRACE(
"Used shader count: %u.\n",
e->shaders.count);
4297 TRACE(
"Anonymous shader count: %u.\n",
e->anonymous_shader_count);
4299 if (!
e->pool && (
e->shared_object_count ||
e->shared_buffer_count))
4301 WARN(
"Effect requires a pool to load.\n");
4319 WARN(
"Failed to parse DXBC, ret %d.\n",
ret);
4327 TRACE(
"Section %u: tag %s, data {%p, %#Ix}.\n",
4350 s->reflection->lpVtbl->
Release(
s->reflection);
4351 if (
s->input_signature)
4352 ID3D10Blob_Release(
s->input_signature);
4354 ID3D10Blob_Release(
s->bytecode);
4361 if (
s->shader.object)
4362 IUnknown_Release(
s->shader.object);
4370 if (
s->resource_count)
4378 if (!
a->elements)
return;
4380 for (
i = 0;
i <
a->count; ++
i)
4389 unsigned int i, elem_count;
4391 TRACE(
"variable %p.\n",
v);
4399 for (
i = 0;
i <
v->type->member_count; ++
i)
4408 for (
i = 0;
i <
v->type->element_count; ++
i)
4417 switch (
v->type->basetype)
4429 if (
v->u.state.object.object)
4430 IUnknown_Release(
v->u.state.object.object);
4442 if (!
v->u.resource.parent)
4445 if (!
v->type->element_count)
4448 elem_count =
v->type->element_count;
4450 for (
i = 0;
i < elem_count; ++
i)
4452 if (
v->u.resource.srv[
i])
4453 ID3D10ShaderResourceView_Release(
v->u.resource.srv[
i]);
4456 free(
v->u.resource.srv);
4460 free(
v->u.buffer.local_buffer);
4482 TRACE(
"technique %p\n",
t);
4487 for (
i = 0;
i <
t->pass_count; ++
i)
4501 TRACE(
"local buffer %p.\n",
l);
4506 for (
i = 0;
i <
l->type->member_count; ++
i)
4517 free(
l->u.buffer.local_buffer);
4519 if (
l->u.buffer.buffer)
4520 ID3D10Buffer_Release(
l->u.buffer.buffer);
4521 if (
l->u.buffer.resource_view)
4522 ID3D10ShaderResourceView_Release(
l->u.buffer.resource_view);
4539 IUnknown_AddRef(iface);
4619 IUnknown_Release(&effect->
pool->ID3D10Effect_iface);
4620 ID3D10Device_Release(effect->
device);
4631 FIXME(
"iface %p stub!\n", iface);
4640 TRACE(
"iface %p.\n", iface);
4651 ID3D10Device_AddRef(
This->device);
4659 desc->IsChildEffect = !!effect->
pool;
4661 desc->SharedConstantBuffers = 0;
4663 desc->SharedGlobalVariables = 0;
4672 TRACE(
"iface %p, desc %p.\n", iface,
desc);
4691 if (index < effect->local_buffer_count)
4718 WARN(
"Invalid index specified\n");
4737 WARN(
"Invalid name specified\n");
4747 for (
i = 0;
i <
effect->local_buffer_count; ++
i)
4750 if (index < v->
type->member_count)
4751 return &
v->members[
index];
4752 index -=
v->type->member_count;
4772 return &
v->ID3D10EffectVariable_iface;
4775 WARN(
"Invalid index specified\n");
4790 WARN(
"Invalid name specified\n");
4797 return &
v->ID3D10EffectVariable_iface;
4800 WARN(
"Invalid name specified\n");
4810 for (
i = 0;
i <
effect->local_buffer_count; ++
i)
4815 for (
j = 0;
j <
l->type->member_count; ++
j)
4824 for (
i = 0;
i <
effect->object_count; ++
i)
4836 const char *semantic)
4845 WARN(
"Invalid semantic specified\n");
4852 return &
v->ID3D10EffectVariable_iface;
4855 WARN(
"Invalid semantic specified\n");
4870 WARN(
"Invalid index specified\n");
4878 return &
t->ID3D10EffectTechnique_iface;
4891 WARN(
"Invalid name specified\n");
4895 for (
i = 0;
i <
This->technique_count; ++
i)
4900 TRACE(
"Returning technique %p\n",
t);
4901 return &
t->ID3D10EffectTechnique_iface;
4905 WARN(
"Invalid name specified\n");
4916 FIXME(
"iface %p semi-stub!\n", iface);
4921 for (
i = 0;
i <
effect->shaders.count; ++
i)
4925 if (
v->u.shader.reflection)
4927 v->u.shader.reflection->lpVtbl->
Release(
v->u.shader.reflection);
4928 v->u.shader.reflection =
NULL;
4930 if (
v->u.shader.bytecode)
4932 ID3D10Blob_Release(
v->u.shader.bytecode);
4933 v->u.shader.bytecode =
NULL;
4935 free(
v->u.shader.stream_output_declaration);
4936 v->u.shader.stream_output_declaration =
NULL;
4939 for (
i = 0;
i <
effect->technique_count; ++
i)
4941 for (
j = 0;
j <
effect->techniques[
i].pass_count; ++
j)
4960 TRACE(
"iface %p.\n", iface);
4998 TRACE(
"iface %p\n", iface);
5008 TRACE(
"iface %p, desc %p\n", iface,
desc);
5012 WARN(
"Null technique specified\n");
5018 WARN(
"Invalid argument specified\n");
5036 WARN(
"Invalid index specified\n");
5044 return &
a->ID3D10EffectVariable_iface;
5057 TRACE(
"Returning annotation %p.\n",
a);
5058 return &
a->ID3D10EffectVariable_iface;
5062 WARN(
"Invalid name specified.\n");
5097 WARN(
"Invalid index specified\n");
5098 return &
null_pass.ID3D10EffectPass_iface;
5105 return &
p->ID3D10EffectPass_iface;
5118 for (
i = 0;
i <
This->pass_count; ++
i)
5123 TRACE(
"Returning pass %p\n",
p);
5124 return &
p->ID3D10EffectPass_iface;
5128 WARN(
"Invalid name specified\n");
5130 return &
null_pass.ID3D10EffectPass_iface;
5136 FIXME(
"iface %p,mask %p stub!\n", iface,
mask);
5164 TRACE(
"iface %p\n", iface);
5176 TRACE(
"iface %p, desc %p.\n", iface,
desc);
5180 WARN(
"Null pass specified\n");
5186 WARN(
"Invalid argument specified\n");
5193 input_signature =
vs->u.shader.input_signature;
5196 desc->Annotations =
pass->annotations.count;
5197 if (input_signature)
5199 desc->pIAInputSignature = ID3D10Blob_GetBufferPointer(input_signature);
5200 desc->IAInputSignatureSize = ID3D10Blob_GetBufferSize(input_signature);
5205 desc->IAInputSignatureSize = 0;
5207 desc->StencilRef =
pass->stencil_ref;
5208 desc->SampleMask =
pass->sample_mask;
5209 memcpy(
desc->BlendFactor,
pass->blend_factor, 4 *
sizeof(
float));
5219 TRACE(
"iface %p, desc %p.\n", iface,
desc);
5223 WARN(
"Null pass specified.\n");
5229 WARN(
"Invalid argument specified.\n");
5236 desc->ShaderIndex =
pass->vs.index;
5246 TRACE(
"iface %p, desc %p.\n", iface,
desc);
5250 WARN(
"Null pass specified.\n");
5256 WARN(
"Invalid argument specified.\n");
5263 desc->ShaderIndex =
pass->gs.index;
5273 TRACE(
"iface %p, desc %p.\n", iface,
desc);
5277 WARN(
"Null pass specified.\n");
5283 WARN(
"Invalid argument specified.\n");
5290 desc->ShaderIndex =
pass->ps.index;
5323 b->local_buffer,
v->data_size, 0);
5334 ID3D10Device_VSSetSamplers(
device, bind_point, 1, &
v->u.state.object.sampler);
5338 ID3D10Device_PSSetSamplers(
device, bind_point, 1, &
v->u.state.object.sampler);
5342 ID3D10Device_GSSetSamplers(
device, bind_point, 1, &
v->u.state.object.sampler);
5346 WARN(
"Incorrect shader type to bind sampler.\n");
5368 switch (
v->type->basetype)
5386 WARN(
"Incorrect shader type to bind constant buffer.\n");
5396 rsrc_v = rsrc_v->
u.
state.desc.sampler.texture;
5405 srv = &rsrc_v->
u.
buffer.resource_view;
5410 switch (
v->type->basetype)
5425 WARN(
"Incorrect shader type to bind shader resource view.\n");
5431 if (!rsrc_v->
type->element_count)
5442 WARN(
"Unhandled shader resource %#x.\n", sr->
in_type);
5456 switch (
v->type->basetype)
5459 ID3D10Device_VSSetShader(
device,
v->u.shader.shader.vs);
5462 ID3D10Device_PSSetShader(
device,
v->u.shader.shader.ps);
5465 ID3D10Device_GSSetShader(
device,
v->u.shader.shader.gs);
5468 WARN(
"Unexpected shader type %u.\n",
v->type->basetype);
5479 TRACE(
"iface %p, flags %#x\n", iface,
flags);
5491 if (
pass->rasterizer)
5492 ID3D10Device_RSSetState(
device,
pass->rasterizer->u.state.object.rasterizer);
5493 if (
pass->depth_stencil)
5494 ID3D10Device_OMSetDepthStencilState(
device,
pass->depth_stencil->u.state.object.depth_stencil,
5497 ID3D10Device_OMSetBlendState(
device,
pass->blend->u.state.object.blend,
5498 pass->blend_factor,
pass->sample_mask);
5508 FIXME(
"iface %p, mask %p semi-stub!\n", iface,
mask);
5516 if (
pass->rasterizer)
5518 if (
pass->depth_stencil)
5544 TRACE(
"iface %p\n", iface);
5553 TRACE(
"iface %p\n", iface);
5555 return &
This->type->ID3D10EffectType_iface;
5563 TRACE(
"iface %p, desc %p\n", iface,
desc);
5565 if (!iface->lpVtbl->
IsValid(iface))
5567 WARN(
"Null variable specified\n");
5573 WARN(
"Invalid argument specified\n");
5580 desc->Semantic =
v->semantic;
5581 desc->Flags =
v->flag;
5582 desc->Annotations =
v->annotations.count;
5583 desc->BufferOffset =
v->buffer_offset;
5586 desc->ExplicitBindPoint =
v->explicit_bind_point;
5621 WARN(
"Invalid index specified\n");
5629 return &
m->ID3D10EffectVariable_iface;
5642 WARN(
"Invalid name specified\n");
5646 for (
i = 0;
i <
This->type->member_count; ++
i)
5652 TRACE(
"Returning member %p\n",
m);
5653 return &
m->ID3D10EffectVariable_iface;
5657 WARN(
"Invalid name specified\n");
5672 WARN(
"Invalid semantic specified\n");
5676 for (
i = 0;
i <
This->type->member_count; ++
i)
5682 TRACE(
"Returning member %p\n",
m);
5683 return &
m->ID3D10EffectVariable_iface;
5687 WARN(
"Invalid semantic specified\n");
5702 WARN(
"Invalid index specified\n");
5710 return &
v->ID3D10EffectVariable_iface;
5718 TRACE(
"iface %p\n", iface);
5728 TRACE(
"iface %p\n", iface);
5741 TRACE(
"iface %p\n", iface);
5754 TRACE(
"iface %p\n", iface);
5767 TRACE(
"iface %p\n", iface);
5780 TRACE(
"iface %p\n", iface);
5793 TRACE(
"iface %p\n", iface);
5806 TRACE(
"iface %p\n", iface);
5819 TRACE(
"iface %p\n", iface);
5832 TRACE(
"iface %p\n", iface);
5844 TRACE(
"iface %p\n", iface);
5857 TRACE(
"iface %p\n", iface);
5870 TRACE(
"iface %p\n", iface);
5883 TRACE(
"iface %p\n", iface);
5899 if (!iface->lpVtbl->
IsValid(iface))
5901 WARN(
"Invalid variable.\n");
5909 WARN(
"Not supported on object variables of type %s.\n",
5921 v->u.buffer.changed =
TRUE;
5933 if (!iface->lpVtbl->
IsValid(iface))
5935 WARN(
"Invalid variable.\n");
5982 TRACE(
"iface %p.\n", iface);
6133 FIXME(
"iface %p, buffer %p stub!\n", iface,
buffer);
6145 if (!iface->lpVtbl->
IsValid(iface))
6147 WARN(
"Null variable specified.\n");
6158 ID3D10Buffer_AddRef(*
buffer);
6166 FIXME(
"iface %p, view %p stub!\n", iface,
view);
6176 FIXME(
"iface %p, view %p stub!\n", iface,
view);
6178 if (!iface->lpVtbl->
IsValid(iface))
6180 WARN(
"Null variable specified.\n");
6237 if (*(
DWORD *)src_data)
6253 return (
int)(*(
float *)src_data);
6257 return *(
int *)src_data;
6272 return *(
float *)src_data;
6276 return (
float)(*(
int *)src_data);
6293 for (
i = 0;
i <
count; ++
i, ++dst_data_dword, ++src_data_dword)
6295 if (dst_type == src_type)
6296 *dst_data_dword = *src_data_dword;
6315 *dst_data_dword = 0;
6341 if (!
variable->type->element_count)
6349 WARN(
"Offset %u larger than element count %u, ignoring.\n",
offset,
variable->type->element_count);
6355 WARN(
"Offset %u, count %u overruns the variable (element count %u), fixing up.\n",
6391 if (!
variable->type->element_count)
6399 WARN(
"Offset %u larger than element count %u, ignoring.\n",
offset,
variable->type->element_count);
6405 WARN(
"Offset %u, count %u overruns the variable (element count %u), fixing up.\n",
6433 TRACE(
"iface %p\n", iface);
6589 TRACE(
"iface %p, value %.8e.\n", iface,
value);
6600 TRACE(
"iface %p, value %p.\n", iface,
value);
6634 TRACE(
"iface %p, value %d.\n", iface,
value);
6645 TRACE(
"iface %p, value %p.\n", iface,
value);
6678 TRACE(
"iface %p, value %d.\n", iface,
value);
6689 TRACE(
"iface %p, value %p.\n", iface,
value);
6771 TRACE(
"iface %p\n", iface);
6927 TRACE(
"iface %p, value %p.\n", iface,
value);
6938 TRACE(
"iface %p, value %p.\n", iface,
value);
6949 TRACE(
"iface %p, value %p.\n", iface,
value);
6960 TRACE(
"iface %p, value %p.\n", iface,
value);
6971 TRACE(
"iface %p, value %p.\n", iface,
value);
6982 TRACE(
"iface %p, value %p.\n", iface,
value);
7103 float *
dst = dst_void;
7104 unsigned int row, col;
7111 for (col = 0; col < col_count; ++col)
7121 for (col = 0; col < col_count; ++col)
7143 if (!
variable->type->element_count)
7151 WARN(
"Offset %u larger than element count %u, ignoring.\n",
offset,
variable->type->element_count);
7157 WARN(
"Offset %u, count %u overruns the variable (element count %u), fixing up.\n",
7181 float *
src = src_void;
7182 unsigned int row, col;
7189 for (col = 0; col < col_count; ++col)
7199 for (col = 0; col < col_count; ++col)
7219 if (!
variable->type->element_count)
7227 WARN(
"Offset %u larger than element count %u, ignoring.\n",
offset,
variable->type->element_count);
7233 WARN(
"Offset %u, count %u overruns the variable (element count %u), fixing up.\n",
7260 TRACE(
"iface %p\n", iface);
7416 TRACE(
"iface %p, data %p.\n", iface,
data);
7427 TRACE(
"iface %p, data %p.\n", iface,
data);
7460 TRACE(
"iface %p, data %p.\n", iface,
data);
7471 TRACE(
"iface %p, data %p.\n", iface,
data);
7550 TRACE(
"iface %p\n", iface);
7705 char *
value = (
char *)
var->u.buffer.local_buffer;
7707 TRACE(
"iface %p, str %p.\n", iface,
str);
7723 FIXME(
"iface %p, strs %p, offset %u, count %u stub!\n", iface, strs,
offset,
count);
7768 ID3D10ShaderResourceView_AddRef(*
src);
7770 ID3D10ShaderResourceView_Release(*
dst);
7787 TRACE(
"iface %p.\n", iface);
7970 if (!
v->type->element_count)
7973 if (
offset >=
v->type->element_count)
7975 WARN(
"Offset %u larger than element count %u, ignoring.\n",
offset,
v->type->element_count);
7981 WARN(
"Offset %u, count %u overruns the variable (element count %u), fixing up.\n",
7986 rsrc_view = &
v->u.resource.srv[
offset];
8050 TRACE(
"iface %p\n", iface);
8204 FIXME(
"iface %p, view %p stub!\n", iface,
view);
8212 FIXME(
"iface %p, view %p stub!\n", iface,
view);
8220 FIXME(
"iface %p, views %p, offset %u, count %u stub!\n", iface, views,
offset,
count);
8228 FIXME(
"iface %p, views %p, offset %u, count %u stub!\n", iface, views,
offset,
count);
8282 TRACE(
"iface %p\n", iface);
8436 FIXME(
"iface %p, view %p stub!\n", iface,
view);
8444 FIXME(
"iface %p, view %p stub!\n", iface,
view);
8452 FIXME(
"iface %p, views %p, offset %u, count %u stub!\n", iface, views,
offset,
count);
8460 FIXME(
"iface %p, views %p, offset %u, count %u stub!\n", iface, views,
offset,
count);
8507 TRACE(
"iface %p\n", iface);
8668 if (basetype) *basetype =
v->type->basetype;
8674 for (
i = 0;
i <
v->effect->shaders.count; ++
i)
8676 if (
v ==
v->effect->shaders.v[
i])
break;
8679 if (
i + shader_index >=
v->effect->shaders.count)
8681 WARN(
"Invalid shader index %u.\n", shader_index);
8685 *
s = &
v->effect->shaders.v[
i + shader_index]->u.shader;
8686 if (basetype) *basetype =
v->effect->shaders.v[
i + shader_index]->type->basetype;
8705 if (
s->input_signature)
8706 desc->pInputSignature = ID3D10Blob_GetBufferPointer(
s->input_signature);
8707 desc->SODecl =
s->stream_output_declaration;
8708 desc->IsInline =
s->isinline;
8711 desc->pBytecode = ID3D10Blob_GetBufferPointer(
s->bytecode);
8712 desc->BytecodeLength = ID3D10Blob_GetBufferSize(
s->bytecode);
8716 if (
SUCCEEDED(
hr =
s->reflection->lpVtbl->GetDesc(
s->reflection, &shader_desc)))
8743 WARN(
"Shader is not a vertex shader.\n");
8748 ID3D10VertexShader_AddRef(*
shader);
8770 WARN(
"Shader is not a geometry shader.\n");
8775 ID3D10GeometryShader_AddRef(*
shader);
8797 WARN(
"Shader is not a pixel shader.\n");
8802 ID3D10PixelShader_AddRef(*
shader);
8820 return s->reflection->lpVtbl->GetOutputParameterDesc(
s->reflection, element_index,
desc);
8822 return s->reflection->lpVtbl->GetInputParameterDesc(
s->reflection, element_index,
desc);
8831 TRACE(
"iface %p, shader_index %u, element_index %u, desc %p\n",
8832 iface, shader_index, element_index,
desc);
8834 if (!iface->lpVtbl->
IsValid(iface))
8836 WARN(
"Null variable specified\n");
8849 TRACE(
"iface %p, shader_index %u, element_index %u, desc %p\n",
8850 iface, shader_index, element_index,
desc);
8852 if (!iface->lpVtbl->
IsValid(iface))
8854 WARN(
"Null variable specified\n");
8911 TRACE(
"iface %p\n", iface);
9067 TRACE(
"iface %p, index %u, blend_state %p.\n", iface,
index, blend_state);
9069 if (!iface->lpVtbl->
IsValid(iface))
9071 WARN(
"Invalid variable.\n");
9078 if ((*blend_state =
v->u.state.object.blend))
9079 ID3D10BlendState_AddRef(*blend_state);
9091 if (!iface->lpVtbl->
IsValid(iface))
9093 WARN(
"Invalid variable.\n");
9100 *
desc =
v->u.state.desc.blend;
9150 TRACE(
"iface %p\n", iface);
9306 TRACE(
"iface %p, index %u, depth_stencil_state %p.\n", iface,
index, depth_stencil_state);
9308 if (!iface->lpVtbl->
IsValid(iface))
9310 WARN(
"Invalid variable.\n");
9317 if ((*depth_stencil_state =
v->u.state.object.depth_stencil))
9318 ID3D10DepthStencilState_AddRef(*depth_stencil_state);
9330 if (!iface->lpVtbl->
IsValid(iface))
9332 WARN(
"Invalid variable.\n");
9341 *
desc =
v->u.state.desc.depth_stencil;
9391 TRACE(
"iface %p\n", iface);
9547 TRACE(
"iface %p, index %u, rasterizer_state %p.\n", iface,
index, rasterizer_state);
9549 if (!iface->lpVtbl->
IsValid(iface))
9551 WARN(
"Invalid variable.\n");
9558 if ((*rasterizer_state =
v->u.state.object.rasterizer))
9559 ID3D10RasterizerState_AddRef(*rasterizer_state);
9571 if (!iface->lpVtbl->
IsValid(iface))
9573 WARN(
"Invalid variable.\n");
9580 *
desc =
v->u.state.desc.rasterizer;
9630 TRACE(
"iface %p\n", iface);
9788 if (!iface->lpVtbl->
IsValid(iface))
9790 WARN(
"Invalid variable.\n");
9797 if ((*
sampler =
v->u.state.object.sampler))
9798 ID3D10SamplerState_AddRef(*
sampler);
9810 if (!iface->lpVtbl->
IsValid(iface))
9812 WARN(
"Invalid variable.\n");
9819 *
desc =
v->u.state.desc.sampler.desc;
9868 TRACE(
"iface %p\n", iface);
9877 TRACE(
"iface %p, desc %p\n", iface,
desc);
9881 WARN(
"Null type specified\n");
9887 WARN(
"Invalid argument specified\n");
9894 desc->Elements =
This->element_count;
9895 desc->Members =
This->member_count;
9897 desc->Columns =
This->column_count;
9898 desc->PackedSize =
This->size_packed;
9899 desc->UnpackedSize =
This->size_unpacked;
9915 WARN(
"Invalid index specified\n");
9916 return &
null_type.ID3D10EffectType_iface;
9923 return &
t->ID3D10EffectType_iface;
9936 WARN(
"Invalid name specified\n");
9937 return &
null_type.ID3D10EffectType_iface;
9940 for (
i = 0;
i <
This->member_count; ++
i)
9946 TRACE(
"Returning type %p.\n", typem->
type);
9947 return &typem->
type->ID3D10EffectType_iface;
9951 WARN(
"Invalid name specified\n");
9953 return &
null_type.ID3D10EffectType_iface;
9957 const char *semantic)
9966 WARN(
"Invalid semantic specified\n");
9967 return &
null_type.ID3D10EffectType_iface;
9970 for (
i = 0;
i <
This->member_count; ++
i)
9976 TRACE(
"Returning type %p.\n", typem->
type);
9977 return &typem->
type->ID3D10EffectType_iface;
9981 WARN(
"Invalid semantic specified\n");
9983 return &
null_type.ID3D10EffectType_iface;
9995 WARN(
"Invalid index specified\n");
10003 return typem->
name;
10011 TRACE(
"iface %p, index %u\n", iface,
index);
10015 WARN(
"Invalid index specified\n");
10046 IUnknown_AddRef(iface);
10073 TRACE(
"%p.\n", iface);
10094 return *
id -
t->id;
10106 if (!(
object =
calloc(1,
sizeof(*
object))))
10113 object->refcount = 1;
10114 ID3D10Device_AddRef(
device);
10115 object->device =
device;
10116 object->pool =
pool;
10117 object->flags =
flags;
10118 if (
pool) IUnknown_AddRef(&
pool->ID3D10Effect_iface);
10123 ERR(
"Failed to parse effect\n");
10124 IUnknown_Release(&
object->ID3D10Effect_iface);
10139 TRACE(
"data %p, data_size %Iu, flags %#x, device %p, effect_pool %p, effect %p.\n",
10147 WARN(
"External pool implementations are not supported.\n");
10153 WARN(
"Failed to create an effect, hr %#lx.\n",
hr);
10157 *effect = &
object->ID3D10Effect_iface;
10159 TRACE(
"Created effect %p\n",
object);
10202 TRACE(
"data %p, data_size %Iu, fx_flags %#x, device %p, effect_pool %p.\n",
10203 data, data_size, fx_flags,
device, effect_pool);
10211 WARN(
"Failed to create an effect, hr %#lx.\n",
hr);
10215 *effect_pool = &
object->ID3D10EffectPool_iface;
10217 TRACE(
"Created effect pool %p.\n",
object);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
HRESULT WINAPI D3D10StateBlockMaskEnableCapture(D3D10_STATE_BLOCK_MASK *mask, D3D10_DEVICE_STATE_TYPES state_type, UINT start_idx, UINT count)
@ D3D10_TEXTURE_ADDRESS_WRAP
const unsigned int D3D10_DEFAULT_STENCIL_WRITE_MASK
const unsigned int D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT
@ D3D10_BLEND_INV_SRC_ALPHA
const unsigned int D3D10_DEFAULT_STENCIL_READ_MASK
@ D3D10_DEPTH_WRITE_MASK_ALL
@ D3D10_FILTER_MIN_MAG_MIP_POINT
@ D3D10_COMPARISON_ALWAYS
@ D3D10_BIND_SHADER_RESOURCE
@ D3D10_BIND_CONSTANT_BUFFER
@ D3D10_EOO_VALUE_EXPRESSION
@ D3D10_EOO_INDEX_EXPRESSION
@ D3D10_EOO_ANONYMOUS_SHADER
#define D3DERR_INVALIDCALL
const unsigned int D3D10_EFFECT_VARIABLE_EXPLICIT_BIND_POINT
const unsigned int D3D10_EFFECT_COMPILE_CHILD_EFFECT
const unsigned int D3D10_EFFECT_VARIABLE_POOLED
const unsigned int D3D10_EFFECT_VARIABLE_ANNOTATION
@ D3D10_DST_OM_BLEND_STATE
@ D3D10_DST_OM_DEPTH_STENCIL_STATE
@ D3D10_DST_RS_RASTERIZER_STATE
D3D_SHADER_VARIABLE_TYPE D3D10_SHADER_VARIABLE_TYPE
D3D_SHADER_VARIABLE_CLASS D3D10_SHADER_VARIABLE_CLASS
@ D3D10_SVC_MATRIX_COLUMNS
@ D3D10_SVT_DEPTHSTENCILVIEW
@ D3D10_SVT_GEOMETRYSHADER
@ D3D10_SVT_TEXTURE2DMSARRAY
@ D3D10_SVT_TEXTURE2DARRAY
@ D3D10_SVT_TEXTURECUBEARRAY
@ D3D10_SVT_RENDERTARGETVIEW
@ D3D10_SVT_TEXTURE1DARRAY
@ D3D_SRV_DIMENSION_BUFFER
enum _D3D_SHADER_VARIABLE_TYPE D3D_SHADER_VARIABLE_TYPE
size_t const element_size
static HRESULT STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetBackingStore(ID3D10EffectRasterizerVariable *iface, UINT index, D3D10_RASTERIZER_DESC *desc)
static struct d3d10_effect_variable null_vector_variable
static void d3d10_effect_preshader_clear(struct d3d10_effect_preshader *p)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsDepthStencil(ID3D10EffectScalarVariable *iface)
static void pres_bult(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsScalar(ID3D10EffectVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsRasterizer(ID3D10EffectShaderVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetInt(ID3D10EffectScalarVariable *iface, int *value)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsShader(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsRasterizer(ID3D10EffectSamplerVariable *iface)
static void pres_movc(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsMatrix(ID3D10EffectVariable *iface)
static const struct ID3D10EffectVtbl d3d10_effect_vtbl
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsShader(ID3D10EffectBlendVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_IsValid(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsRasterizer(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsMatrix(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsMatrix(ID3D10EffectSamplerVariable *iface)
static void pres_sqrt(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsRenderTargetView(ID3D10EffectDepthStencilViewVariable *iface)
static void set_shader_resource_variable(ID3D10ShaderResourceView **src, ID3D10ShaderResourceView **dst)
static HRESULT STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetBackingStore(ID3D10EffectSamplerVariable *iface, UINT index, D3D10_SAMPLER_DESC *desc)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_variable_GetAnnotationByName(ID3D10EffectVariable *iface, const char *name)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsSampler(ID3D10EffectConstantBuffer *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_SetRawValue(ID3D10EffectDepthStencilVariable *iface, void *data, UINT offset, UINT count)
static BOOL STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_IsValid(ID3D10EffectRasterizerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_SetRenderTargetArray(ID3D10EffectRenderTargetViewVariable *iface, ID3D10RenderTargetView **views, UINT offset, UINT count)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsScalar(ID3D10EffectRasterizerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_blend_variable_SetRawValue(ID3D10EffectBlendVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsDepthStencilView(ID3D10EffectScalarVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_SetRawValue(ID3D10EffectConstantBuffer *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsDepthStencil(ID3D10EffectBlendVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetFloatVectorArray(ID3D10EffectVectorVariable *iface, float *values, UINT offset, UINT count)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsMatrix(ID3D10EffectDepthStencilViewVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetDesc(ID3D10EffectRenderTargetViewVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static ULONG STDMETHODCALLTYPE d3d10_effect_Release(ID3D10Effect *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_SetTextureBuffer(ID3D10EffectConstantBuffer *iface, ID3D10ShaderResourceView *view)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetMemberBySemantic(ID3D10EffectDepthStencilVariable *iface, const char *semantic)
static void pres_max(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsScalar(ID3D10EffectSamplerVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetElement(ID3D10EffectDepthStencilVariable *iface, UINT index)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsDepthStencil(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsDepthStencil(ID3D10EffectVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetDesc(ID3D10EffectMatrixVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsSampler(ID3D10EffectSamplerVariable *iface)
static struct d3d10_effect_pass null_pass
static void read_variable_array_from_buffer(struct d3d10_effect_variable *variable, void *dst, D3D_SHADER_VARIABLE_TYPE dst_type, unsigned int offset, unsigned int count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetRawValue(ID3D10EffectVectorVariable *iface, void *data, UINT offset, UINT count)
static void pres_sin(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsShaderResource(ID3D10EffectVariable *iface)
static struct d3d10_effect_variable * impl_from_ID3D10EffectScalarVariable(ID3D10EffectScalarVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetParentConstantBuffer(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsScalar(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsBlend(ID3D10EffectShaderResourceVariable *iface)
static struct d3d10_effect_type anonymous_vs_type
static HRESULT STDMETHODCALLTYPE d3d10_effect_string_variable_GetStringArray(ID3D10EffectStringVariable *iface, const char **strs, UINT offset, UINT count)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsDepthStencil(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetAnnotationByIndex(ID3D10EffectMatrixVariable *iface, UINT index)
static void pres_rcp(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_pass_GetAnnotationByName(ID3D10EffectPass *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetAnnotationByIndex(ID3D10EffectDepthStencilVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetMemberBySemantic(ID3D10EffectRasterizerVariable *iface, const char *semantic)
static char anonymous_vertexshader_name[]
static HRESULT STDMETHODCALLTYPE d3d10_effect_sampler_variable_SetRawValue(ID3D10EffectSamplerVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsScalar(ID3D10EffectMatrixVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetIntVectorArray(ID3D10EffectVectorVariable *iface, int *values, UINT offset, UINT count)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsShader(ID3D10EffectShaderResourceVariable *iface)
static struct d3d10_effect_type * get_fx10_type(struct d3d10_effect *effect, const char *data, size_t data_size, uint32_t offset)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_SetDepthStencil(ID3D10EffectDepthStencilViewVariable *iface, ID3D10DepthStencilView *view)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsVector(ID3D10EffectStringVariable *iface)
static HRESULT fxlvm_chunk_handler(const struct vkd3d_shader_dxbc_section_desc *section, struct d3d10_preshader_parse_context *ctx)
static struct d3d10_effect * impl_from_ID3D10EffectPool(ID3D10EffectPool *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_variable_IsValid(ID3D10EffectVariable *iface)
static struct d3d10_effect_type null_type
static HRESULT STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetRawValue(ID3D10EffectSamplerVariable *iface, void *data, UINT offset, UINT count)
static struct d3d10_effect_variable anonymous_vs
static BOOL STDMETHODCALLTYPE d3d10_effect_blend_variable_IsValid(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsDepthStencil(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsShader(ID3D10EffectDepthStencilViewVariable *iface)
static HRESULT get_fx10_shader_resources(struct d3d10_effect_variable *v)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsSampler(ID3D10EffectVariable *iface)
static struct d3d10_effect_technique * impl_from_ID3D10EffectTechnique(ID3D10EffectTechnique *iface)
static const struct ID3D10EffectTechniqueVtbl d3d10_effect_technique_vtbl
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetMemberBySemantic(ID3D10EffectSamplerVariable *iface, const char *semantic)
static HRESULT parse_fx10_buffer(const char *data, size_t data_size, const char **ptr, BOOL local, struct d3d10_effect_variable *l)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsBlend(ID3D10EffectConstantBuffer *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMatrix(ID3D10EffectMatrixVariable *iface, float *data)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_SetResourceArray(ID3D10EffectShaderResourceVariable *iface, ID3D10ShaderResourceView **resources, UINT offset, UINT count)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetAnnotationByIndex(ID3D10EffectSamplerVariable *iface, UINT index)
static struct d3d10_effect_variable * impl_from_ID3D10EffectRenderTargetViewVariable(ID3D10EffectRenderTargetViewVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_shader_variable_IsValid(ID3D10EffectShaderVariable *iface)
static void d3d10_effect_variable_destroy(struct d3d10_effect_variable *v)
static BOOL d3d10_effect_read_numeric_value(uint32_t value, D3D_SHADER_VARIABLE_TYPE in_type, D3D_SHADER_VARIABLE_TYPE out_type, void *out_data, unsigned int out_idx)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsShaderResource(ID3D10EffectRasterizerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_variable_SetRawValue(ID3D10EffectVariable *iface, void *data, UINT offset, UINT count)
static struct d3d10_effect_variable * impl_from_ID3D10EffectVariable(ID3D10EffectVariable *iface)
static void pres_and(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsBlend(ID3D10EffectDepthStencilVariable *iface)
static float get_value_as_float(void *src_data, D3D10_SHADER_VARIABLE_TYPE src_type)
const struct ID3D10EffectPoolVtbl d3d10_effect_pool_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetPixelShader(ID3D10EffectShaderVariable *iface, UINT index, ID3D10PixelShader **shader)
static struct d3d10_effect_variable * impl_from_ID3D10EffectDepthStencilVariable(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_variable_GetMemberByName(ID3D10EffectVariable *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_GetAnnotationByIndex(ID3D10EffectStringVariable *iface, UINT index)
static void pres_ushr(float **args, unsigned int n, const struct preshader_instr *instr)
static void pres_ishr(float **args, unsigned int n, const struct preshader_instr *instr)
static struct d3d10_effect_type * impl_from_ID3D10EffectType(ID3D10EffectType *iface)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsShaderResource(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsConstantBuffer(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetAnnotationByIndex(ID3D10EffectDepthStencilViewVariable *iface, UINT index)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsScalar(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsVector(ID3D10EffectDepthStencilVariable *iface)
static HRESULT d3d10_effect_add_prop_dependency(struct d3d10_effect_prop_dependencies *d, const struct d3d10_effect_prop_dependency *dep)
static struct d3d10_effect_variable * d3d10_array_get_element(struct d3d10_effect_variable *v, unsigned int index)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsRasterizer(ID3D10EffectDepthStencilVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetRawValue(ID3D10EffectConstantBuffer *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsRenderTargetView(ID3D10EffectSamplerVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetAnnotationByName(ID3D10EffectScalarVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetRawValue(ID3D10EffectScalarVariable *iface, void *data, UINT offset, UINT count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetDesc(ID3D10EffectPass *iface, D3D10_PASS_DESC *desc)
static void pres_ftob(float **args, unsigned int n, const struct preshader_instr *instr)
static const struct ID3D10EffectSamplerVariableVtbl d3d10_effect_sampler_variable_vtbl
static struct d3d10_effect_variable null_render_target_view_variable
static BOOL STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_IsValid(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsConstantBuffer(ID3D10EffectBlendVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetDesc(ID3D10EffectConstantBuffer *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsVector(ID3D10EffectScalarVariable *iface)
static HRESULT parse_fx10_preshader_instr(struct d3d10_preshader_parse_context *context, unsigned int *offset, const char **ptr, unsigned int data_size)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsShader(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsSampler(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsConstantBuffer(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsConstantBuffer(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetParentConstantBuffer(ID3D10EffectDepthStencilVariable *iface)
static BOOL read_int8_value(uint32_t value, D3D_SHADER_VARIABLE_TYPE in_type, INT8 *out_data, unsigned int out_idx)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsDepthStencilView(ID3D10EffectRasterizerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetGeometryShader(ID3D10EffectShaderVariable *iface, UINT index, ID3D10GeometryShader **shader)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetType(ID3D10EffectShaderResourceVariable *iface)
static BOOL read_float_value(uint32_t value, D3D_SHADER_VARIABLE_TYPE in_type, float *out_data, unsigned int out_idx)
static BOOL require_space(size_t offset, size_t count, size_t size, size_t data_size)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetParentConstantBuffer(ID3D10EffectRenderTargetViewVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetIntVector(ID3D10EffectVectorVariable *iface, int *value)
static const struct ID3D10EffectVariableVtbl d3d10_effect_variable_vtbl
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsScalar(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetAnnotationByName(ID3D10EffectShaderVariable *iface, const char *name)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsString(ID3D10EffectScalarVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetParentConstantBuffer(ID3D10EffectDepthStencilViewVariable *iface)
static struct d3d10_effect_variable * d3d10_effect_get_buffer_by_index(struct d3d10_effect *effect, unsigned int index)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsBlend(ID3D10EffectRenderTargetViewVariable *iface)
static void pres_atan2(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetParentConstantBuffer(ID3D10EffectConstantBuffer *iface)
static void pres_utof(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetRawValue(ID3D10EffectDepthStencilViewVariable *iface, void *data, UINT offset, UINT count)
static HRESULT d3d10_reg_table_allocate(struct d3d10_reg_table *table, unsigned int count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_blend_variable_GetBackingStore(ID3D10EffectBlendVariable *iface, UINT index, D3D10_BLEND_DESC *desc)
static const struct preshader_op_info preshader_ops[]
static struct d3d10_effect_variable * d3d10_effect_get_variable_by_name(const struct d3d10_effect *effect, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_variable_GetRawValue(ID3D10EffectVariable *iface, void *data, UINT offset, UINT count)
static struct d3d10_effect_variable null_scalar_variable
static HRESULT parse_fx10(struct d3d10_effect *e, const char *data, size_t data_size)
static HRESULT d3d10_effect_variable_get_raw_value(struct d3d10_effect_variable *v, void *data, unsigned int offset, unsigned int count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetGeometryShaderDesc(ID3D10EffectPass *iface, D3D10_PASS_SHADER_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetBool(ID3D10EffectScalarVariable *iface, BOOL *value)
static void pres_log(float **args, unsigned int n, const struct preshader_instr *instr)
static BOOL d3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetShaderDesc(ID3D10EffectShaderVariable *iface, UINT index, D3D10_EFFECT_SHADER_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_SetRawValue(ID3D10EffectShaderVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsBlend(ID3D10EffectVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetMemberByIndex(ID3D10EffectSamplerVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetAnnotationByIndex(ID3D10EffectBlendVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_variable_GetMemberByIndex(ID3D10EffectVariable *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_string_variable_GetString(ID3D10EffectStringVariable *iface, const char **str)
static BOOL get_value_as_bool(void *src_data, D3D10_SHADER_VARIABLE_TYPE src_type)
static BOOL STDMETHODCALLTYPE d3d10_effect_vector_variable_IsValid(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetElement(ID3D10EffectConstantBuffer *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetFloatVectorArray(ID3D10EffectVectorVariable *iface, float *values, UINT offset, UINT count)
static HRESULT parse_fx10_annotations(const char *data, size_t data_size, const char **ptr, struct d3d10_effect *effect, struct d3d10_effect_annotations *annotations)
static HRESULT STDMETHODCALLTYPE d3d10_effect_technique_ComputeStateBlockMask(ID3D10EffectTechnique *iface, D3D10_STATE_BLOCK_MASK *mask)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetType(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsDepthStencilView(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsScalar(ID3D10EffectRenderTargetViewVariable *iface)
static ULONG STDMETHODCALLTYPE d3d10_effect_pool_AddRef(ID3D10EffectPool *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pool_QueryInterface(ID3D10EffectPool *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_ComputeStateBlockMask(ID3D10EffectPass *iface, D3D10_STATE_BLOCK_MASK *mask)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetMemberByName(ID3D10EffectDepthStencilViewVariable *iface, const char *name)
static struct d3d10_effect_variable null_blend_variable
static void pres_acos(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsShaderResource(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsVector(ID3D10EffectShaderVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_constant_buffer_IsValid(ID3D10EffectConstantBuffer *iface)
static const struct ID3D10EffectVectorVariableVtbl d3d10_effect_vector_variable_vtbl
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsShaderResource(ID3D10EffectShaderResourceVariable *iface)
static void d3d10_effect_pass_destroy(struct d3d10_effect_pass *p)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMemberByName(ID3D10EffectMatrixVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetDesc(ID3D10EffectShaderVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsRasterizer(ID3D10EffectBlendVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMatrixTranspose(ID3D10EffectMatrixVariable *iface, float *data)
static void pres_min(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetConstantBuffer(ID3D10EffectConstantBuffer *iface, ID3D10Buffer **buffer)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_variable_GetType(ID3D10EffectVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_SetMatrixTranspose(ID3D10EffectMatrixVariable *iface, float *data)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_GetVariableByName(ID3D10Effect *iface, const char *name)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsString(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetMemberByIndex(ID3D10EffectShaderVariable *iface, UINT index)
static char anonymous_geometryshader_name[]
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsString(ID3D10EffectRenderTargetViewVariable *iface)
static void d3d10_effect_cleanup_so_decl(struct d3d10_effect_so_decl *so_decl)
HRESULT WINAPI D3D10CreateEffectFromMemory(void *data, SIZE_T data_size, UINT flags, ID3D10Device *device, ID3D10EffectPool *effect_pool, ID3D10Effect **effect)
#define WINE_D3D10_TO_STR(x)
static void pres_imax(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsScalar(ID3D10EffectShaderVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetRawValue(ID3D10EffectMatrixVariable *iface, void *data, UINT offset, UINT count)
static struct d3d10_effect_variable null_depth_stencil_variable
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsShader(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsShader(ID3D10EffectScalarVariable *iface)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsShaderResource(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetType(ID3D10EffectConstantBuffer *iface)
static struct d3d10_effect_variable null_variable
static void pres_buge(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsRenderTargetView(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetParentConstantBuffer(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsConstantBuffer(ID3D10EffectScalarVariable *iface)
static const struct d3d10_effect_state_storage_info * get_storage_info(D3D_SHADER_VARIABLE_TYPE id)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsScalar(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetType(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetMemberByName(ID3D10EffectShaderVariable *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetAnnotationByName(ID3D10EffectConstantBuffer *iface, const char *name)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetParentConstantBuffer(ID3D10EffectVectorVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetIntArray(ID3D10EffectScalarVariable *iface, int *values, UINT offset, UINT count)
static void pres_imul(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_GetConstantBufferByIndex(ID3D10Effect *iface, UINT index)
static struct d3d10_effect_variable * impl_from_ID3D10EffectVectorVariable(ID3D10EffectVectorVariable *iface)
static void set_variable_vtbl(struct d3d10_effect_variable *v)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsBlend(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsConstantBuffer(ID3D10EffectSamplerVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetParentConstantBuffer(ID3D10EffectBlendVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetRenderTargetArray(ID3D10EffectRenderTargetViewVariable *iface, ID3D10RenderTargetView **views, UINT offset, UINT count)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetMemberByIndex(ID3D10EffectVectorVariable *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetOutputSignatureElementDesc(ID3D10EffectShaderVariable *iface, UINT shader_index, UINT element_index, D3D10_SIGNATURE_PARAMETER_DESC *desc)
static const char * debug_d3d10_shader_variable_class(D3D10_SHADER_VARIABLE_CLASS c)
static void write_matrix_variable_array_to_buffer(struct d3d10_effect_variable *variable, void *src_data, unsigned int offset, unsigned int count, BOOL transpose)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetMemberBySemantic(ID3D10EffectRenderTargetViewVariable *iface, const char *semantic)
static void pres_mov(float **args, unsigned int n, const struct preshader_instr *instr)
static struct d3d10_effect_variable * d3d10_effect_get_buffer_by_name(struct d3d10_effect *effect, const char *name)
static int d3d10_effect_type_compare(const void *key, const struct wine_rb_entry *entry)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetAnnotationByIndex(ID3D10EffectShaderResourceVariable *iface, UINT index)
static BOOL fx10_get_string(const char *data, size_t data_size, uint32_t offset, const char **s, size_t *l)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetMemberBySemantic(ID3D10EffectVectorVariable *iface, const char *semantic)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsVector(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_string_variable_GetParentConstantBuffer(ID3D10EffectStringVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetDepthStencil(ID3D10EffectDepthStencilViewVariable *iface, ID3D10DepthStencilView **view)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetRawValue(ID3D10EffectScalarVariable *iface, void *data, UINT offset, UINT count)
static struct d3d10_effect_variable null_shader_resource_variable
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMemberByIndex(ID3D10EffectMatrixVariable *iface, UINT index)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsScalar(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetElement(ID3D10EffectScalarVariable *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMatrixTransposeArray(ID3D10EffectMatrixVariable *iface, float *data, UINT offset, UINT count)
static const struct ID3D10EffectStringVariableVtbl d3d10_effect_string_variable_vtbl
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsDepthStencilView(ID3D10EffectMatrixVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_pass_IsValid(ID3D10EffectPass *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetMemberByIndex(ID3D10EffectDepthStencilVariable *iface, UINT index)
static ID3D10ShaderResourceView * null_srvs[D3D10_COMMONSHADER_INPUT_RESOURCE_SLOT_COUNT]
static void read_variable_from_buffer(struct d3d10_effect_variable *variable, void *dst, D3D_SHADER_VARIABLE_TYPE dst_type)
static struct d3d10_effect_variable * d3d10_effect_get_variable_by_semantic(const struct d3d10_effect *effect, const char *semantic)
HRESULT WINAPI D3D10CreateEffectPoolFromMemory(void *data, SIZE_T data_size, UINT fx_flags, ID3D10Device *device, ID3D10EffectPool **effect_pool)
static HRESULT STDMETHODCALLTYPE d3d10_effect_blend_variable_GetDesc(ID3D10EffectBlendVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsRenderTargetView(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_variable_GetAnnotationByIndex(ID3D10EffectVariable *iface, UINT index)
static void pres_ftou(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsVector(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsString(ID3D10EffectShaderResourceVariable *iface)
static const struct ID3D10EffectRasterizerVariableVtbl d3d10_effect_rasterizer_variable_vtbl
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsRasterizer(ID3D10EffectScalarVariable *iface)
static void pres_bieq(float **args, unsigned int n, const struct preshader_instr *instr)
static const struct ID3D10EffectScalarVariableVtbl d3d10_effect_scalar_variable_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetBackingStore(ID3D10EffectDepthStencilVariable *iface, UINT index, D3D10_DEPTH_STENCIL_DESC *desc)
static const D3D10_RASTERIZER_DESC default_rasterizer_desc
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsRenderTargetView(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsConstantBuffer(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsSampler(ID3D10EffectScalarVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetDesc(ID3D10EffectRasterizerVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static void pres_umax(float **args, unsigned int n, const struct preshader_instr *instr)
static void pres_cos(float **args, unsigned int n, const struct preshader_instr *instr)
static struct d3d10_effect_technique null_technique
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsShader(ID3D10EffectDepthStencilVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetFloat(ID3D10EffectScalarVariable *iface, float *value)
static struct ID3D10EffectTechnique *STDMETHODCALLTYPE d3d10_effect_GetTechniqueByName(ID3D10Effect *iface, const char *name)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsDepthStencil(ID3D10EffectVectorVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_IsValid(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetParentConstantBuffer(ID3D10EffectShaderResourceVariable *iface)
static BOOL fx10_copy_string(const char *data, size_t data_size, DWORD offset, char **s)
static void pres_div(float **args, unsigned int n, const struct preshader_instr *instr)
@ D3D10_REG_TABLE_CONSTANTS
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetBoolVector(ID3D10EffectVectorVariable *iface, BOOL *value)
static struct d3d10_effect_variable null_matrix_variable
static void pres_itof(float **args, unsigned int n, const struct preshader_instr *instr)
static BOOL STDMETHODCALLTYPE d3d10_effect_technique_IsValid(ID3D10EffectTechnique *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsRasterizer(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsVector(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetMemberByName(ID3D10EffectRenderTargetViewVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetDepthStencilArray(ID3D10EffectDepthStencilViewVariable *iface, ID3D10DepthStencilView **views, UINT offset, UINT count)
static void d3d10_effect_type_member_destroy(struct d3d10_effect_type_member *typem)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsVector(ID3D10EffectRasterizerVariable *iface)
static struct d3d10_effect_type anonymous_ps_type
static BOOL STDMETHODCALLTYPE d3d10_effect_scalar_variable_IsValid(ID3D10EffectScalarVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetRawValue(ID3D10EffectVectorVariable *iface, void *data, UINT offset, UINT count)
static void pres_atan(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_type_GetDesc(ID3D10EffectType *iface, D3D10_EFFECT_TYPE_DESC *desc)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsRasterizer(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsMatrix(ID3D10EffectShaderVariable *iface)
static void parse_fx10_default_value(const char **ptr, struct d3d10_effect_variable *var)
static HRESULT STDMETHODCALLTYPE d3d10_effect_blend_variable_GetBlendState(ID3D10EffectBlendVariable *iface, UINT index, ID3D10BlendState **blend_state)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsBlend(ID3D10EffectShaderVariable *iface)
static BOOL is_var_shared(const struct d3d10_effect_variable *v)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsMatrix(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsDepthStencilView(ID3D10EffectSamplerVariable *iface)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsShaderResource(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsShader(ID3D10EffectRenderTargetViewVariable *iface)
static enum d3d10_effect_container_type get_var_container_type(const struct d3d10_effect_variable *v)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsString(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_type_GetMemberTypeBySemantic(ID3D10EffectType *iface, const char *semantic)
static const struct ID3D10EffectDepthStencilViewVariableVtbl d3d10_effect_depth_stencil_view_variable_vtbl
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetType(ID3D10EffectRenderTargetViewVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_string_variable_IsValid(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsDepthStencil(ID3D10EffectDepthStencilVariable *iface)
static void write_matrix_to_buffer(struct d3d10_effect_variable *variable, void *dst_void, struct d3d10_matrix *src, BOOL transpose)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsConstantBuffer(ID3D10EffectVectorVariable *iface)
static void pres_bilt(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsShader(ID3D10EffectShaderVariable *iface)
static void d3d10_effect_variable_update_buffer_offsets(struct d3d10_effect_variable *v, unsigned int offset)
static void pres_udiv(float **args, unsigned int n, const struct preshader_instr *instr)
static void pres_or(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetBool(ID3D10EffectScalarVariable *iface, BOOL value)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsDepthStencil(ID3D10EffectDepthStencilViewVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_SetMatrix(ID3D10EffectMatrixVariable *iface, float *data)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsDepthStencilView(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsBlend(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetParentConstantBuffer(ID3D10EffectSamplerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetVertexShader(ID3D10EffectShaderVariable *iface, UINT index, ID3D10VertexShader **shader)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_variable_AsConstantBuffer(ID3D10EffectVariable *iface)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsShader(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsBlend(ID3D10EffectScalarVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetMemberByIndex(ID3D10EffectConstantBuffer *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetElement(ID3D10EffectMatrixVariable *iface, UINT index)
static const char * debug_d3d10_shader_variable_type(D3D10_SHADER_VARIABLE_TYPE t)
static void write_variable_array_to_buffer(struct d3d10_effect_variable *variable, void *src, D3D_SHADER_VARIABLE_TYPE src_type, unsigned int offset, unsigned int count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_GetDevice(ID3D10Effect *iface, ID3D10Device **device)
static HRESULT STDMETHODCALLTYPE d3d10_effect_string_variable_GetRawValue(ID3D10EffectStringVariable *iface, void *data, UINT offset, UINT count)
static BOOL is_object_property_type_matching(const struct d3d10_effect_state_property_info *property_info, const struct d3d10_effect_variable *v)
static HRESULT STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_SetRawValue(ID3D10EffectRasterizerVariable *iface, void *data, UINT offset, UINT count)
static void d3d10_effect_pass_set_shader(struct d3d10_effect_pass *pass, const struct d3d10_effect_pass_shader_desc *shader_desc)
static void pres_not(float **args, unsigned int n, const struct preshader_instr *instr)
static struct d3d10_effect_variable * d3d10_get_state_variable(struct d3d10_effect_variable *v, unsigned int index, const struct d3d10_effect_var_array *array)
static char anonymous_name[]
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsString(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsScalar(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsRenderTargetView(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetMemberByName(ID3D10EffectShaderResourceVariable *iface, const char *name)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetType(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetMemberByIndex(ID3D10EffectRenderTargetViewVariable *iface, UINT index)
static BOOL STDMETHODCALLTYPE d3d10_effect_IsPool(ID3D10Effect *iface)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsString(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsConstantBuffer(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetMemberByName(ID3D10EffectConstantBuffer *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetDepthStencilState(ID3D10EffectDepthStencilVariable *iface, UINT index, ID3D10DepthStencilState **depth_stencil_state)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetInt(ID3D10EffectScalarVariable *iface, int value)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetAnnotationByName(ID3D10EffectMatrixVariable *iface, const char *name)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsVector(ID3D10EffectBlendVariable *iface)
static void read_matrix_from_buffer(struct d3d10_effect_variable *variable, void *src_void, struct d3d10_matrix *dst, BOOL transpose)
static void pres_exp(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetMemberByIndex(ID3D10EffectBlendVariable *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetIntArray(ID3D10EffectScalarVariable *iface, int *values, UINT offset, UINT count)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsDepthStencil(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_type_GetMemberTypeByName(ID3D10EffectType *iface, const char *name)
d3d10_effect_container_type
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsConstantBuffer(ID3D10EffectRenderTargetViewVariable *iface)
static void pres_iadd(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetDesc(ID3D10EffectScalarVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetType(ID3D10EffectRasterizerVariable *iface)
static void d3d10_effect_type_destroy(struct wine_rb_entry *entry, void *context)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetAnnotationByName(ID3D10EffectSamplerVariable *iface, const char *name)
static HRESULT parse_fx10_anonymous_shader(struct d3d10_effect *e, D3D_SHADER_VARIABLE_TYPE basetype, struct d3d10_effect_anonymous_shader *s)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsString(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_type_GetMemberTypeByIndex(ID3D10EffectType *iface, UINT index)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsBlend(ID3D10EffectDepthStencilViewVariable *iface)
static struct d3d10_effect_variable * impl_from_ID3D10EffectRasterizerVariable(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetType(ID3D10EffectDepthStencilVariable *iface)
static HRESULT create_state_object(struct d3d10_effect_variable *v)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsRasterizer(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetAnnotationByIndex(ID3D10EffectRenderTargetViewVariable *iface, UINT index)
static void d3d10_effect_technique_destroy(struct d3d10_effect_technique *t)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetFloatVector(ID3D10EffectVectorVariable *iface, float *value)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetRawValue(ID3D10EffectShaderResourceVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetMemberByName(ID3D10EffectSamplerVariable *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetMemberByIndex(ID3D10EffectRasterizerVariable *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_technique_GetDesc(ID3D10EffectTechnique *iface, D3D10_TECHNIQUE_DESC *desc)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsString(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetElement(ID3D10EffectVectorVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetMemberBySemantic(ID3D10EffectDepthStencilViewVariable *iface, const char *semantic)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_SetResource(ID3D10EffectShaderResourceVariable *iface, ID3D10ShaderResourceView *resource)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetAnnotationByName(ID3D10EffectDepthStencilViewVariable *iface, const char *name)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsBlend(ID3D10EffectSamplerVariable *iface)
static HRESULT parse_fx10_body(struct d3d10_effect *e, const char *data, size_t data_size)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetMemberByName(ID3D10EffectDepthStencilVariable *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetMemberBySemantic(ID3D10EffectScalarVariable *iface, const char *semantic)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetDesc(ID3D10EffectDepthStencilVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static void pres_dotswiz(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetRasterizerState(ID3D10EffectRasterizerVariable *iface, UINT index, ID3D10RasterizerState **rasterizer_state)
static struct ID3D10EffectTechnique *STDMETHODCALLTYPE d3d10_effect_GetTechniqueByIndex(ID3D10Effect *iface, UINT index)
static const struct d3d10_effect_state_property_info property_infos[]
static void d3d10_effect_local_buffer_destroy(struct d3d10_effect_variable *l)
static HRESULT parse_fx10_ctab(void *ctx, const char *data, unsigned int data_size)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_SetRawValue(ID3D10EffectRenderTargetViewVariable *iface, void *data, UINT offset, UINT count)
static ID3D10EffectVariable * d3d10_annotation_get_by_index(const struct d3d10_effect_annotations *annotations, unsigned int index)
static HRESULT parse_fx10_annotation(const char *data, size_t data_size, const char **ptr, struct d3d10_effect_variable *a)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsConstantBuffer(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsVector(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsDepthStencil(ID3D10EffectSamplerVariable *iface)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsRenderTargetView(ID3D10EffectVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsRasterizer(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsRenderTargetView(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsString(ID3D10EffectSamplerVariable *iface)
static HRESULT d3d10_create_effect(void *data, SIZE_T data_size, ID3D10Device *device, struct d3d10_effect *pool, unsigned int flags, struct d3d10_effect **effect)
static void pres_xor(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_variable_GetMemberBySemantic(ID3D10EffectVariable *iface, const char *semantic)
static void apply_shader_resources(ID3D10Device *device, struct d3d10_effect_variable *v)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetMemberBySemantic(ID3D10EffectConstantBuffer *iface, const char *semantic)
static void set_sampler(ID3D10Device *device, D3D10_SHADER_VARIABLE_TYPE shader_type, struct d3d10_effect_variable *v, unsigned int bind_point)
static const struct preshader_op_info * d3d10_effect_get_op_info(int opcode)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetElement(ID3D10EffectRasterizerVariable *iface, UINT index)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsShaderResource(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsRasterizer(ID3D10EffectConstantBuffer *iface)
static ID3D10Effect *STDMETHODCALLTYPE d3d10_effect_pool_AsEffect(ID3D10EffectPool *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetFloatArray(ID3D10EffectScalarVariable *iface, float *values, UINT offset, UINT count)
static HRESULT parse_fx10_object_variable(const char *data, size_t data_size, const char **ptr, BOOL shared_type_desc, struct d3d10_effect_variable *v)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsShader(ID3D10EffectVariable *iface)
static struct d3d10_effect * unsafe_impl_from_ID3D10EffectPool(ID3D10EffectPool *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_SetRawValue(ID3D10EffectShaderResourceVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetMemberByIndex(ID3D10EffectScalarVariable *iface, UINT index)
static void pres_mul(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetMemberBySemantic(ID3D10EffectBlendVariable *iface, const char *semantic)
static void pres_imin(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetType(ID3D10EffectScalarVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetBoolVectorArray(ID3D10EffectVectorVariable *iface, BOOL *values, UINT offset, UINT count)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_variable_GetElement(ID3D10EffectVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetMemberByName(ID3D10EffectBlendVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetBoolArray(ID3D10EffectScalarVariable *iface, BOOL *values, UINT offset, UINT count)
static BOOL STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_IsValid(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsRasterizer(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsShader(ID3D10EffectSamplerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetRawValue(ID3D10EffectRenderTargetViewVariable *iface, void *data, UINT offset, UINT count)
static ULONG STDMETHODCALLTYPE d3d10_effect_pool_Release(ID3D10EffectPool *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_GetMemberBySemantic(ID3D10EffectStringVariable *iface, const char *semantic)
static void pres_floor(float **args, unsigned int n, const struct preshader_instr *instr)
static float * d3d10_effect_preshader_get_reg_ptr(const struct d3d10_effect_preshader *p, enum d3d10_reg_table_type regt, unsigned int offset)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetBoolArray(ID3D10EffectScalarVariable *iface, BOOL *values, UINT offset, UINT count)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsVector(ID3D10EffectVariable *iface)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsScalar(ID3D10EffectScalarVariable *iface)
static void pres_ineg(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT parse_fx10_technique(const char *data, size_t data_size, const char **ptr, struct d3d10_effect_technique *t)
static HRESULT STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetDesc(ID3D10EffectSamplerVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsMatrix(ID3D10EffectConstantBuffer *iface)
static struct d3d10_effect_variable null_shader_variable
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetParentConstantBuffer(ID3D10EffectScalarVariable *iface)
static HRESULT parse_fx10_shader(const char *data, size_t data_size, uint32_t offset, struct d3d10_effect_variable *v)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsDepthStencilView(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsRenderTargetView(ID3D10EffectScalarVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_IsOptimized(ID3D10Effect *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetMemberByName(ID3D10EffectVectorVariable *iface, const char *name)
static struct ID3D10EffectScalarVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsScalar(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsSampler(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetElement(ID3D10EffectSamplerVariable *iface, UINT index)
static HRESULT parse_fx10_numeric_variable(const char *data, size_t data_size, const char **ptr, BOOL local, struct d3d10_effect_variable *v)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsBlend(ID3D10EffectMatrixVariable *iface)
static HRESULT parse_fx10_cli4(void *ctx, const char *data, unsigned int data_size)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetElement(ID3D10EffectShaderResourceVariable *iface, UINT index)
static void pres_ceil(float **args, unsigned int n, const struct preshader_instr *instr)
static BOOL STDMETHODCALLTYPE d3d10_effect_IsValid(ID3D10Effect *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_SetConstantBuffer(ID3D10EffectConstantBuffer *iface, ID3D10Buffer *buffer)
static void d3d10_effect_get_desc(const struct d3d10_effect *effect, D3D10_EFFECT_DESC *desc)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_SetRawValue(ID3D10EffectMatrixVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetAnnotationByIndex(ID3D10EffectConstantBuffer *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetIntVectorArray(ID3D10EffectVectorVariable *iface, int *values, UINT offset, UINT count)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsSampler(ID3D10EffectBlendVariable *iface)
static HRESULT d3d10_effect_preshader_eval(struct d3d10_effect_preshader *p)
static void pres_asin(float **args, unsigned int n, const struct preshader_instr *instr)
static struct d3d10_effect_variable * impl_from_ID3D10EffectConstantBuffer(ID3D10EffectConstantBuffer *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_variable_GetDesc(ID3D10EffectVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static const char *STDMETHODCALLTYPE d3d10_effect_type_GetMemberSemantic(ID3D10EffectType *iface, UINT index)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_SetMatrixTransposeArray(ID3D10EffectMatrixVariable *iface, float *data, UINT offset, UINT count)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_variable_GetParentConstantBuffer(ID3D10EffectVariable *iface)
static const struct ID3D10EffectTypeVtbl d3d10_effect_type_vtbl
static HRESULT copy_variableinfo_from_type(struct d3d10_effect_variable *v)
static struct d3d10_effect_variable * impl_from_ID3D10EffectStringVariable(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsDepthStencilView(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetType(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsDepthStencilView(ID3D10EffectConstantBuffer *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetMemberByIndex(ID3D10EffectShaderResourceVariable *iface, UINT index)
static struct d3d10_effect * impl_from_ID3D10Effect(ID3D10Effect *iface)
static ULONG STDMETHODCALLTYPE d3d10_effect_AddRef(ID3D10Effect *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetFloatArray(ID3D10EffectScalarVariable *iface, float *values, UINT offset, UINT count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetPixelShaderDesc(ID3D10EffectPass *iface, D3D10_PASS_SHADER_DESC *desc)
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsBlend(ID3D10EffectStringVariable *iface)
static HRESULT create_buffer_object(struct d3d10_effect_variable *v)
static struct d3d10_effect_variable null_depth_stencil_view_variable
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetAnnotationByIndex(ID3D10EffectRasterizerVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetElement(ID3D10EffectShaderVariable *iface, UINT index)
static const struct ID3D10EffectMatrixVariableVtbl d3d10_effect_matrix_variable_vtbl
static struct d3d10_effect_variable * impl_from_ID3D10EffectBlendVariable(ID3D10EffectBlendVariable *iface)
static struct d3d10_effect_type anonymous_gs_type
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_SetRawValue(ID3D10EffectDepthStencilViewVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_GetConstantBufferByName(ID3D10Effect *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetMemberByName(ID3D10EffectRasterizerVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetDesc(ID3D10EffectDepthStencilViewVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static const struct ID3D10EffectPassVtbl d3d10_effect_pass_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_effect_constant_buffer_GetTextureBuffer(ID3D10EffectConstantBuffer *iface, ID3D10ShaderResourceView **view)
static BOOL STDMETHODCALLTYPE d3d10_effect_type_IsValid(ID3D10EffectType *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_GetVariableBySemantic(ID3D10Effect *iface, const char *semantic)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetAnnotationByName(ID3D10EffectBlendVariable *iface, const char *name)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsSampler(ID3D10EffectDepthStencilVariable *iface)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsRenderTargetView(ID3D10EffectStringVariable *iface)
static void write_variable_to_buffer(struct d3d10_effect_variable *variable, void *src, D3D_SHADER_VARIABLE_TYPE src_type)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsRenderTargetView(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_GetElement(ID3D10EffectBlendVariable *iface, UINT index)
static const struct ID3D10EffectRenderTargetViewVariableVtbl d3d10_effect_render_target_view_variable_vtbl
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsString(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsRenderTargetView(ID3D10EffectVectorVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pool_effect_QueryInterface(ID3D10Effect *iface, REFIID riid, void **object)
static void pres_bine(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsRenderTargetView(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsShaderResource(ID3D10EffectDepthStencilVariable *iface)
static HRESULT parse_fx10_variable_head(const char *data, size_t data_size, const char **ptr, struct d3d10_effect_variable *v)
static D3D10_SHADER_VARIABLE_TYPE d3d10_variable_type(uint32_t t, BOOL is_object, uint32_t *flags)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsString(ID3D10EffectShaderVariable *iface)
static HRESULT parse_fx10_property_assignment(const char *data, size_t data_size, const char **ptr, enum d3d10_effect_container_type container_type, struct d3d10_effect *effect, void *container, struct d3d10_effect_prop_dependencies *d)
static void pres_bige(float **args, unsigned int n, const struct preshader_instr *instr)
static D3D10_SHADER_VARIABLE_CLASS d3d10_variable_class(uint32_t c, BOOL is_column_major)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsMatrix(ID3D10EffectRasterizerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetRawValue(ID3D10EffectDepthStencilVariable *iface, void *data, UINT offset, UINT count)
static HRESULT d3d10_effect_parse_stream_output_declaration(const char *decl, struct d3d10_effect_so_decl *so_decl)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_blend_variable_AsMatrix(ID3D10EffectBlendVariable *iface)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsShaderResource(ID3D10EffectScalarVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetSampler(ID3D10EffectSamplerVariable *iface, UINT index, ID3D10SamplerState **sampler)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsSampler(ID3D10EffectShaderResourceVariable *iface)
static void pres_add(float **args, unsigned int n, const struct preshader_instr *instr)
static void pres_umin(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_Apply(ID3D10EffectPass *iface, UINT flags)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsDepthStencilView(ID3D10EffectShaderVariable *iface)
static const struct ID3D10EffectConstantBufferVtbl d3d10_effect_constant_buffer_vtbl
static HRESULT d3d10_get_shader_variable(struct d3d10_effect_variable *v, UINT shader_index, struct d3d10_effect_shader_variable **s, D3D10_SHADER_VARIABLE_TYPE *basetype)
static struct d3d10_effect_variable anonymous_gs
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsShaderResource(ID3D10EffectSamplerVariable *iface)
static void parse_fx10_set_default_numeric_value(const char **ptr, struct d3d10_effect_variable *v)
static const D3D10_DEPTH_STENCIL_DESC default_depth_stencil_desc
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_pass_GetAnnotationByIndex(ID3D10EffectPass *iface, UINT index)
static void d3d10_effect_update_dependent_props(struct d3d10_effect_prop_dependencies *deps, void *container)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_string_variable_AsConstantBuffer(ID3D10EffectStringVariable *iface)
static struct d3d10_effect_variable anonymous_ps
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsSampler(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetAnnotationByName(ID3D10EffectShaderResourceVariable *iface, const char *name)
static struct d3d10_effect_variable null_rasterizer_variable
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_GetMemberByName(ID3D10EffectStringVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_scalar_variable_SetFloat(ID3D10EffectScalarVariable *iface, float value)
static const struct ID3D10EffectShaderVariableVtbl d3d10_effect_shader_variable_vtbl
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_sampler_variable_AsVector(ID3D10EffectSamplerVariable *iface)
static BOOL read_int32_value(uint32_t value, D3D_SHADER_VARIABLE_TYPE in_type, int *out_data, unsigned int out_idx)
static HRESULT STDMETHODCALLTYPE d3d10_effect_Optimize(ID3D10Effect *iface)
static char anonymous_pixelshader_name[]
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_AsShaderResource(ID3D10EffectShaderVariable *iface)
static struct d3d10_effect_variable * d3d10_effect_get_variable_by_index(const struct d3d10_effect *effect, unsigned int index)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsSampler(ID3D10EffectRenderTargetViewVariable *iface)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsDepthStencil(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsSampler(ID3D10EffectDepthStencilViewVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetBoolVector(ID3D10EffectVectorVariable *iface, BOOL *value)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_GetElement(ID3D10EffectStringVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetElement(ID3D10EffectRenderTargetViewVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_technique_GetAnnotationByIndex(ID3D10EffectTechnique *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetMemberBySemantic(ID3D10EffectShaderVariable *iface, const char *semantic)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsMatrix(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectPass *STDMETHODCALLTYPE d3d10_effect_technique_GetPassByIndex(ID3D10EffectTechnique *iface, UINT index)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsString(ID3D10EffectVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMemberBySemantic(ID3D10EffectMatrixVariable *iface, const char *semantic)
static void pres_dot(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsMatrix(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsDepthStencil(ID3D10EffectRasterizerVariable *iface)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsMatrix(ID3D10EffectStringVariable *iface)
static HRESULT d3d10_get_shader_variable_signature(struct d3d10_effect_variable *v, UINT shader_index, UINT element_index, BOOL output, D3D10_SIGNATURE_PARAMETER_DESC *desc)
static BOOL copy_name(const char *ptr, char **name)
static void read_matrix_variable_from_buffer(struct d3d10_effect_variable *variable, void *dst, BOOL transpose)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_variable_GetAnnotationByIndex(ID3D10EffectShaderVariable *iface, UINT index)
static struct ID3D10EffectDepthStencilVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsDepthStencil(ID3D10EffectStringVariable *iface)
static void pres_rsq(float **args, unsigned int n, const struct preshader_instr *instr)
static const struct ID3D10EffectBlendVariableVtbl d3d10_effect_blend_variable_vtbl
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_GetAnnotationByName(ID3D10EffectStringVariable *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetElement(ID3D10EffectDepthStencilViewVariable *iface, UINT index)
void(* pres_op_func)(float **args, unsigned int n, const struct preshader_instr *instr)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsDepthStencilView(ID3D10EffectDepthStencilVariable *iface)
static void update_buffer(ID3D10Device *device, struct d3d10_effect_variable *v)
static struct d3d10_effect_variable null_local_buffer
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsVector(ID3D10EffectVectorVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetRenderTarget(ID3D10EffectRenderTargetViewVariable *iface, ID3D10RenderTargetView **view)
static const struct ID3D10EffectDepthStencilVariableVtbl d3d10_effect_depth_stencil_variable_vtbl
static int __cdecl preshader_op_compare(const void *a, const void *b)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_technique_GetAnnotationByName(ID3D10EffectTechnique *iface, const char *name)
static void pres_neg(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetIntVector(ID3D10EffectVectorVariable *iface, int *value)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_GetAnnotationByName(ID3D10EffectRenderTargetViewVariable *iface, const char *name)
static struct d3d10_effect_variable * impl_from_ID3D10EffectMatrixVariable(ID3D10EffectMatrixVariable *iface)
static void d3d10_effect_shader_variable_destroy(struct d3d10_effect_shader_variable *s, D3D10_SHADER_VARIABLE_TYPE type)
static void pres_frc(float **args, unsigned int n, const struct preshader_instr *instr)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_SetMatrixArray(ID3D10EffectMatrixVariable *iface, float *data, UINT offset, UINT count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetResource(ID3D10EffectShaderResourceVariable *iface, ID3D10ShaderResourceView **resource)
static void write_matrix_variable_to_buffer(struct d3d10_effect_variable *variable, void *src_data, BOOL transpose)
static HRESULT STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_SetRenderTarget(ID3D10EffectRenderTargetViewVariable *iface, ID3D10RenderTargetView *view)
static void pres_ishl(float **args, unsigned int n, const struct preshader_instr *instr)
static struct d3d10_effect_variable null_string_variable
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_GetVariableByIndex(ID3D10Effect *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetAnnotationByName(ID3D10EffectVectorVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetResourceArray(ID3D10EffectShaderResourceVariable *iface, ID3D10ShaderResourceView **resources, UINT offset, UINT count)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_AsShaderResource(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsSampler(ID3D10EffectMatrixVariable *iface)
static struct d3d10_effect_variable * impl_from_ID3D10EffectDepthStencilViewVariable(ID3D10EffectDepthStencilViewVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetRawValue(ID3D10EffectRasterizerVariable *iface, void *data, UINT offset, UINT count)
static const struct ID3D10EffectVtbl d3d10_effect_pool_effect_vtbl
static BOOL is_object_property(const struct d3d10_effect_state_property_info *property_info)
static HRESULT STDMETHODCALLTYPE d3d10_effect_QueryInterface(ID3D10Effect *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetDesc(ID3D10EffectShaderResourceVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static int get_value_as_int(void *src_data, D3D10_SHADER_VARIABLE_TYPE src_type)
static ID3D10EffectVariable * d3d10_annotation_get_by_name(const struct d3d10_effect_annotations *annotations, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetMemberByIndex(ID3D10EffectDepthStencilViewVariable *iface, UINT index)
static BOOL d3d10_effect_types_match(const struct d3d10_effect_type *t1, const struct d3d10_effect_type *t2)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_AsMatrix(ID3D10EffectScalarVariable *iface)
static HRESULT parse_fx10_pass(const char *data, size_t data_size, const char **ptr, struct d3d10_effect_pass *p)
static void get_vector_as_type(BYTE *dst_data, D3D_SHADER_VARIABLE_TYPE dst_type, BYTE *src_data, D3D_SHADER_VARIABLE_TYPE src_type, unsigned int count)
static BOOL STDMETHODCALLTYPE d3d10_effect_sampler_variable_IsValid(ID3D10EffectSamplerVariable *iface)
static void read_matrix_variable_array_from_buffer(struct d3d10_effect_variable *variable, void *dst_data, UINT offset, UINT count, BOOL transpose)
static struct ID3D10EffectSamplerVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsSampler(ID3D10EffectRasterizerVariable *iface)
static BOOL STDMETHODCALLTYPE d3d10_effect_matrix_variable_IsValid(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectStringVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsString(ID3D10EffectRasterizerVariable *iface)
static void d3d10_effect_annotations_destroy(struct d3d10_effect_annotations *a)
static HRESULT STDMETHODCALLTYPE d3d10_effect_string_variable_SetRawValue(ID3D10EffectStringVariable *iface, void *data, UINT offset, UINT count)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_GetType(ID3D10EffectDepthStencilViewVariable *iface)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_AsDepthStencilView(ID3D10EffectStringVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetFloatVector(ID3D10EffectVectorVariable *iface, float *value)
static const D3D10_SAMPLER_DESC default_sampler_desc
static struct ID3D10EffectBlendVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_AsBlend(ID3D10EffectVectorVariable *iface)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_vector_variable_GetAnnotationByIndex(ID3D10EffectVectorVariable *iface, UINT index)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_sampler_variable_GetType(ID3D10EffectSamplerVariable *iface)
static struct d3d10_effect_pass * impl_from_ID3D10EffectPass(ID3D10EffectPass *iface)
static struct ID3D10EffectShaderResourceVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsShaderResource(ID3D10EffectConstantBuffer *iface)
static HRESULT parse_fx10_type(const char *data, size_t data_size, uint32_t offset, struct d3d10_effect_type *t)
HRESULT d3d10_effect_parse(struct d3d10_effect *effect, const void *data, SIZE_T data_size)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_GetAnnotationByName(ID3D10EffectRasterizerVariable *iface, const char *name)
static const struct ID3D10EffectShaderResourceVariableVtbl d3d10_effect_shader_resource_variable_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_effect_depth_stencil_view_variable_SetDepthStencilArray(ID3D10EffectDepthStencilViewVariable *iface, ID3D10DepthStencilView **views, UINT offset, UINT count)
static struct d3d10_effect_variable * impl_from_ID3D10EffectShaderVariable(ID3D10EffectShaderVariable *iface)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsDepthStencilView(ID3D10EffectVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_AsConstantBuffer(ID3D10EffectDepthStencilVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetMatrixArray(ID3D10EffectMatrixVariable *iface, float *data, UINT offset, UINT count)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetBoolVectorArray(ID3D10EffectVectorVariable *iface, BOOL *values, UINT offset, UINT count)
static struct d3d10_effect_variable * impl_from_ID3D10EffectShaderResourceVariable(ID3D10EffectShaderResourceVariable *iface)
static struct d3d10_effect_variable * impl_from_ID3D10EffectSamplerVariable(ID3D10EffectSamplerVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_pass_GetVertexShaderDesc(ID3D10EffectPass *iface, D3D10_PASS_SHADER_DESC *desc)
static struct ID3D10EffectPass *STDMETHODCALLTYPE d3d10_effect_technique_GetPassByName(ID3D10EffectTechnique *iface, const char *name)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_string_variable_GetMemberByIndex(ID3D10EffectStringVariable *iface, UINT index)
static HRESULT parse_fx10_fxlc(void *ctx, const char *data, unsigned int data_size)
static HRESULT STDMETHODCALLTYPE d3d10_effect_blend_variable_GetRawValue(ID3D10EffectBlendVariable *iface, void *data, UINT offset, UINT count)
static struct d3d10_effect_variable null_sampler_variable
static HRESULT STDMETHODCALLTYPE d3d10_effect_string_variable_GetDesc(ID3D10EffectStringVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static BOOL read_value_list(const char *data, size_t data_size, uint32_t offset, D3D_SHADER_VARIABLE_TYPE out_type, unsigned int out_base, unsigned int out_size, void *out_data)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetMemberByName(ID3D10EffectScalarVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetDesc(ID3D10EffectVectorVariable *iface, D3D10_EFFECT_VARIABLE_DESC *desc)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_scalar_variable_GetAnnotationByIndex(ID3D10EffectScalarVariable *iface, UINT index)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_depth_stencil_variable_GetAnnotationByName(ID3D10EffectDepthStencilVariable *iface, const char *name)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetInputSignatureElementDesc(ID3D10EffectShaderVariable *iface, UINT shader_index, UINT element_index, D3D10_SIGNATURE_PARAMETER_DESC *desc)
static struct ID3D10EffectVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_GetMemberBySemantic(ID3D10EffectShaderResourceVariable *iface, const char *semantic)
static struct ID3D10EffectDepthStencilViewVariable *STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_AsDepthStencilView(ID3D10EffectShaderResourceVariable *iface)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_render_target_view_variable_AsRasterizer(ID3D10EffectRenderTargetViewVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_GetDesc(ID3D10Effect *iface, D3D10_EFFECT_DESC *desc)
static struct ID3D10EffectMatrixVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsMatrix(ID3D10EffectMatrixVariable *iface)
static void d3d10_effect_clear_prop_dependencies(struct d3d10_effect_prop_dependencies *d)
static HRESULT d3d10_effect_validate_shared_variable(const struct d3d10_effect *effect, const struct d3d10_effect_variable *v)
static struct ID3D10EffectShaderVariable *STDMETHODCALLTYPE d3d10_effect_rasterizer_variable_AsShader(ID3D10EffectRasterizerVariable *iface)
static const char *STDMETHODCALLTYPE d3d10_effect_type_GetMemberName(ID3D10EffectType *iface, UINT index)
static struct ID3D10EffectVectorVariable *STDMETHODCALLTYPE d3d10_effect_matrix_variable_AsVector(ID3D10EffectMatrixVariable *iface)
static struct ID3D10EffectType *STDMETHODCALLTYPE d3d10_effect_string_variable_GetType(ID3D10EffectStringVariable *iface)
static struct ID3D10EffectConstantBuffer *STDMETHODCALLTYPE d3d10_effect_matrix_variable_GetParentConstantBuffer(ID3D10EffectMatrixVariable *iface)
static HRESULT parse_fx10_preshader(const char *data, size_t data_size, struct d3d10_effect *effect, struct d3d10_effect_preshader *preshader)
static struct ID3D10EffectRasterizerVariable *STDMETHODCALLTYPE d3d10_effect_variable_AsRasterizer(ID3D10EffectVariable *iface)
static HRESULT STDMETHODCALLTYPE d3d10_effect_shader_variable_GetRawValue(ID3D10EffectShaderVariable *iface, void *data, UINT offset, UINT count)
static const D3D10_BLEND_DESC default_blend_desc
static struct ID3D10EffectRenderTargetViewVariable *STDMETHODCALLTYPE d3d10_effect_constant_buffer_AsRenderTargetView(ID3D10EffectConstantBuffer *iface)
HRESULT WINAPI D3DGetInputSignatureBlob(const void *data, SIZE_T data_size, ID3DBlob **blob)
HRESULT WINAPI D3DCreateBlob(SIZE_T data_size, ID3DBlob **blob)
HRESULT WINAPI D3D10ReflectShader(const void *data, SIZE_T data_size, ID3D10ShaderReflection **reflector)
static uint32_t read_u32(const char **ptr)
#define stricmp(_String1, _String2)
static const WCHAR version[]
_ACRTIMP float __cdecl asinf(float)
_ACRTIMP float __cdecl atanf(float)
_ACRTIMP float __cdecl acosf(float)
_ACRTIMP double __cdecl sin(double)
_ACRTIMP float __cdecl fabsf(float)
_ACRTIMP double __cdecl floor(double)
_ACRTIMP float __cdecl log2f(float)
_ACRTIMP double __cdecl cos(double)
_ACRTIMP float __cdecl exp2f(float)
_ACRTIMP float __cdecl atan2f(float, float)
_ACRTIMP int __cdecl atoi(const char *)
_ACRTIMP char *__cdecl strchr(const char *, int)
_ACRTIMP size_t __cdecl strnlen(const char *, size_t)
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP char *__cdecl strstr(const char *, const char *)
_ACRTIMP int __cdecl strcmp(const char *, const char *)
static char * strdup(const char *buf)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
static void blend(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
static void rasterizer(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
static void depth_stencil(struct wined3d_context *context, const struct wined3d_state *state, DWORD state_id)
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg3
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
GLboolean GLboolean GLboolean b
GLsizei GLboolean transpose
GLboolean GLenum GLenum GLvoid * values
GLboolean GLboolean GLboolean GLboolean a
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 j
HRESULT GetResourceBindingDesc(UINT index, D3D10_SHADER_INPUT_BIND_DESC *desc)
HRESULT GetDesc(D3D10_SHADER_DESC *desc)
#define memcpy(s1, s2, n)
D3D11_SHADER_VARIABLE_DESC desc
static ULONG ** element_count
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK ULONG PVOID ULONG PVOID ULONG out_size
static float(__cdecl *square_half_float)(float x
#define IsEqualGUID(rguid1, rguid2)
static unsigned __int64 next
static __inline const char * debugstr_fourcc(unsigned int cc)
#define WINE_RB_ENTRY_VALUE
D3D10_SRV_DIMENSION ViewDimension
struct d3d10_effect_variable * v
struct d3d10_effect_variable * shader
ID3D10EffectPass ID3D10EffectPass_iface
struct d3d10_reg_table reg_tables[D3D10_REG_TABLE_COUNT]
struct d3d10_ctab_var * vars
struct d3d10_effect_prop_dependency * entries
struct d3d10_effect_prop_dependency::@261::@265 value_expr
struct d3d10_effect_variable * v
struct d3d10_effect_prop_dependency::@261::@263 var
struct d3d10_effect_prop_dependency::@261::@264 index_expr
struct d3d10_effect_variable * variable
D3D10_SHADER_INPUT_TYPE in_type
unsigned int resource_count
union d3d10_effect_shader_variable::@255 shader
ID3D10ShaderReflection * reflection
struct d3d10_effect_shader_resource * resources
D3D10_SO_DECLARATION_ENTRY * entries
D3D_SHADER_VARIABLE_TYPE type
enum d3d10_effect_container_type container_type
const void * default_state
D3D_SHADER_VARIABLE_TYPE id
struct d3d10_effect * effect
struct d3d10_effect_annotations annotations
ID3D10EffectTechnique ID3D10EffectTechnique_iface
struct d3d10_effect_type * type
D3D10_SHADER_VARIABLE_CLASS type_class
struct d3d10_effect_type * elementtype
unsigned int member_count
D3D10_SHADER_VARIABLE_TYPE basetype
unsigned int element_count
struct d3d10_effect * effect
struct d3d10_effect_type_member * members
ID3D10EffectType ID3D10EffectType_iface
unsigned int column_count
struct d3d10_effect_variable ** v
struct d3d10_effect * effect
struct d3d10_effect_resource_variable resource
struct d3d10_effect_variable * elements
struct d3d10_effect_annotations annotations
union d3d10_effect_variable::@258 u
ID3D10EffectVariable ID3D10EffectVariable_iface
struct d3d10_effect_shader_variable shader
struct d3d10_effect_type * type
struct d3d10_effect_variable * buffer
struct d3d10_effect_state_object_variable state
ID3D10EffectPool ID3D10EffectPool_iface
unsigned int numeric_variable_count
struct d3d10_effect_var_array shaders
struct d3d10_effect_variable * object_variables
struct d3d10_effect * pool
struct d3d10_effect_anonymous_shader * anonymous_shaders
unsigned int local_buffer_count
ID3D10Effect ID3D10Effect_iface
struct d3d10_effect_var_array dsvs
struct d3d10_effect_var_array blend_states
struct d3d10_effect_var_array rtvs
struct d3d10_effect_var_array ds_states
unsigned int object_count
struct d3d10_effect_technique * techniques
struct d3d10_effect_var_array rs_states
struct d3d10_effect_variable * local_buffers
struct wine_rb_tree types
unsigned int technique_count
struct d3d10_effect_var_array samplers
unsigned int anonymous_shader_count
struct d3d10_effect * effect
unsigned int table_sizes[D3D10_REG_TABLE_COUNT]
struct d3d10_effect_preshader * preshader
struct vkd3d_shader_dxbc_section_desc * sections
Character const *const prefix
#define FIELD_OFFSET(t, f)
#define CONTAINING_RECORD(address, type, field)
VKD3D_SHADER_API void vkd3d_shader_free_dxbc(struct vkd3d_shader_dxbc_desc *dxbc)
VKD3D_SHADER_API int vkd3d_shader_parse_dxbc(const struct vkd3d_shader_code *dxbc, uint32_t flags, struct vkd3d_shader_dxbc_desc *desc, char **messages)