43 ID3D11VertexShader_AddRef(iface);
51 IUnknown_AddRef(&
shader->ID3D10VertexShader_iface);
52 *
object = &
shader->ID3D10VertexShader_iface;
71 ID3D11Device2_AddRef(
shader->device);
92 ID3D11Device2_Release(
device);
106 ID3D11Device_AddRef(*
device);
175 TRACE(
"iface %p.\n", iface);
184 TRACE(
"iface %p.\n", iface);
197 ID3D11Device2_QueryInterface(
shader->device, &IID_ID3D10Device, (
void **)
device);
205 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
216 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
259 const void *byte_code,
SIZE_T byte_code_length)
271 desc.byte_code_size = byte_code_length;
275 WARN(
"Failed to create wined3d vertex shader, hr %#lx.\n",
hr);
282 ID3D11Device2_AddRef(
shader->device = &
device->ID3D11Device2_iface);
293 if (!(
object =
calloc(1,
sizeof(*
object))))
298 WARN(
"Failed to initialise vertex shader, hr %#lx.\n",
hr);
303 TRACE(
"Created vertex shader %p.\n",
object);
343 ID3D11HullShader_AddRef(iface);
363 ID3D11Device2_AddRef(
shader->device);
383 ID3D11Device2_Release(
device);
397 ID3D11Device_AddRef(*
device);
457 const void *byte_code,
SIZE_T byte_code_length)
468 desc.byte_code_size = byte_code_length;
472 WARN(
"Failed to create wined3d hull shader, hr %#lx.\n",
hr);
479 ID3D11Device2_AddRef(
shader->device = &
device->ID3D11Device2_iface);
490 if (!(
object =
calloc(1,
sizeof(*
object))))
499 TRACE(
"Created hull shader %p.\n",
object);
530 ID3D11DomainShader_AddRef(iface);
550 ID3D11Device2_AddRef(
shader->device);
570 ID3D11Device2_Release(
device);
584 ID3D11Device_AddRef(*
device);
644 const void *byte_code,
SIZE_T byte_code_length)
655 desc.byte_code_size = byte_code_length;
659 WARN(
"Failed to create wined3d domain shader, hr %#lx.\n",
hr);
666 ID3D11Device2_AddRef(
shader->device = &
device->ID3D11Device2_iface);
677 if (!(
object =
calloc(1,
sizeof(*
object))))
686 TRACE(
"Created domain shader %p.\n",
object);
719 ID3D11GeometryShader_AddRef(iface);
727 ID3D10GeometryShader_AddRef(&
shader->ID3D10GeometryShader_iface);
728 *
object = &
shader->ID3D10GeometryShader_iface;
747 ID3D11Device2_AddRef(
shader->device);
767 ID3D11Device2_Release(
device);
781 ID3D11Device_AddRef(*
device);
850 TRACE(
"iface %p.\n", iface);
859 TRACE(
"iface %p.\n", iface);
872 ID3D11Device2_QueryInterface(
shader->device, &IID_ID3D10Device, (
void **)
device);
880 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
891 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
934 const unsigned int *buffer_strides,
unsigned int buffer_stride_count,
D3D_FEATURE_LEVEL feature_level)
938 for (
i = 0;
i < entry_count; ++
i)
940 const D3D11_SO_DECLARATION_ENTRY *
e = &entries[
i];
942 TRACE(
"Stream: %u, semantic: %s, semantic idx: %u, start component: %u, "
943 "component count %u, output slot %u.\n",
945 e->StartComponent,
e->ComponentCount,
e->OutputSlot);
949 WARN(
"Invalid stream %u.\n",
e->Stream);
954 WARN(
"Invalid stream %u for feature level %#x.\n",
e->Stream, feature_level);
959 FIXME(
"Streams not implemented yet.\n");
964 WARN(
"Invalid output slot %u.\n",
e->OutputSlot);
968 if (!
e->SemanticName)
970 if (
e->SemanticIndex)
972 WARN(
"Invalid semantic idx %u for stream output gap.\n",
e->SemanticIndex);
975 if (
e->StartComponent || !
e->ComponentCount)
977 WARN(
"Invalid stream output gap %u-%u.\n",
e->StartComponent,
e->ComponentCount);
983 if (
e->StartComponent > 3 ||
e->ComponentCount > 4 || !
e->ComponentCount
984 ||
e->StartComponent +
e->ComponentCount > 4)
986 WARN(
"Invalid component range %u-%u.\n",
e->StartComponent,
e->ComponentCount);
992 for (
i = 0;
i < entry_count; ++
i)
994 const D3D11_SO_DECLARATION_ENTRY *e1 = &entries[
i];
995 if (!e1->SemanticName)
998 for (
j =
i + 1;
j < entry_count; ++
j)
1000 const D3D11_SO_DECLARATION_ENTRY *e2 = &entries[
j];
1001 if (!e2->SemanticName)
1004 if (e1->Stream == e2->Stream
1005 && !
stricmp(e1->SemanticName, e2->SemanticName)
1006 && e1->SemanticIndex == e2->SemanticIndex
1007 && e1->StartComponent < e2->StartComponent + e2->ComponentCount
1008 && e1->StartComponent + e1->ComponentCount > e2->StartComponent)
1010 WARN(
"Stream output elements %u and %u overlap.\n",
i,
j);
1022 for (
j = 0;
j < entry_count; ++
j)
1024 const D3D11_SO_DECLARATION_ENTRY *
e = &entries[
j];
1028 current_stride[
e->OutputSlot] += 4 *
e->ComponentCount;
1030 if (!
e->SemanticName)
1031 ++gap_count[
e->OutputSlot];
1040 WARN(
"Stream %u, output slot %u contains only gaps.\n",
i,
j);
1043 if (buffer_stride_count)
1045 if (buffer_stride_count <=
j)
1047 WARN(
"Buffer strides are required for all buffer slots.\n");
1050 if (buffer_strides[
j] < current_stride[
j] || buffer_strides[
j] % 4)
1052 WARN(
"Invalid stride %u for buffer slot %u.\n", buffer_strides[
j],
j);
1064 WARN(
"Only one element per output slot is allowed.\n");
1076 const D3D11_SO_DECLARATION_ENTRY *so_entries,
unsigned int so_entry_count,
1077 const unsigned int *buffer_strides,
unsigned int buffer_stride_count,
1078 unsigned int rasterizer_stream)
1087 WARN(
"Entry count %u is greater than %u.\n",
1091 if (so_entries && !so_entry_count)
1093 WARN(
"Invalid SO entry count %u.\n", so_entry_count);
1098 WARN(
"Invalid rasterizer stream %u.\n", rasterizer_stream);
1103 if (rasterizer_stream)
1105 WARN(
"Invalid rasterizer stream %u for feature level %#x.\n",
1106 rasterizer_stream,
device->state->feature_level);
1109 if (buffer_stride_count && buffer_stride_count != 1)
1111 WARN(
"Invalid buffer stride count %u for feature level %#x.\n",
1112 buffer_stride_count,
device->state->feature_level);
1118 buffer_strides, buffer_stride_count,
device->state->feature_level)))
1122 desc.byte_code_size = byte_code_length;
1124 memset(&so_desc, 0,
sizeof(so_desc));
1144 WARN(
"Failed to create wined3d geometry shader, hr %#lx.\n",
hr);
1151 ID3D11Device2_AddRef(
shader->device = &
device->ID3D11Device2_iface);
1157 const D3D11_SO_DECLARATION_ENTRY *so_entries,
unsigned int so_entry_count,
1158 const unsigned int *buffer_strides,
unsigned int buffer_stride_count,
unsigned int rasterizer_stream,
1164 if (!(
object =
calloc(1,
sizeof(*
object))))
1168 so_entries, so_entry_count, buffer_strides, buffer_stride_count, rasterizer_stream)))
1170 WARN(
"Failed to initialise geometry shader, hr %#lx.\n",
hr);
1175 TRACE(
"Created geometry shader %p.\n",
object);
1217 ID3D11PixelShader_AddRef(iface);
1225 IUnknown_AddRef(&
shader->ID3D10PixelShader_iface);
1226 *
object = &
shader->ID3D10PixelShader_iface;
1245 ID3D11Device2_AddRef(
shader->device);
1265 ID3D11Device2_Release(
device);
1279 ID3D11Device_AddRef(*
device);
1348 TRACE(
"iface %p.\n", iface);
1357 TRACE(
"iface %p.\n", iface);
1370 ID3D11Device2_QueryInterface(
shader->device, &IID_ID3D10Device, (
void **)
device);
1378 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
1389 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
1432 const void *byte_code,
SIZE_T byte_code_length)
1444 desc.byte_code_size = byte_code_length;
1448 WARN(
"Failed to create wined3d pixel shader, hr %#lx.\n",
hr);
1455 ID3D11Device2_AddRef(
shader->device = &
device->ID3D11Device2_iface);
1466 if (!(
object =
calloc(1,
sizeof(*
object))))
1471 WARN(
"Failed to initialise pixel shader, hr %#lx.\n",
hr);
1476 TRACE(
"Created pixel shader %p.\n",
object);
1516 ID3D11ComputeShader_AddRef(*
object = iface);
1535 ID3D11Device2_AddRef(
shader->device);
1555 ID3D11Device2_Release(
device);
1568 ID3D11Device_AddRef(*
device = (ID3D11Device *)
shader->device);
1628 const void *byte_code,
SIZE_T byte_code_length)
1639 desc.byte_code_size = byte_code_length;
1643 WARN(
"Failed to create wined3d compute shader, hr %#lx.\n",
hr);
1650 ID3D11Device2_AddRef(
shader->device = &
device->ID3D11Device2_iface);
1661 if (!(
object =
calloc(1,
sizeof(*
object))))
1670 TRACE(
"Created compute shader %p.\n",
object);
1701 ID3D11ClassLinkage_AddRef(*
object = iface);
1716 TRACE(
"%p increasing refcount to %lu.\n", class_linkage,
refcount);
1726 TRACE(
"%p decreasing refcount to %lu.\n", class_linkage,
refcount);
1733 free(class_linkage);
1735 ID3D11Device2_Release(
device);
1748 ID3D11Device_AddRef(*
device = (ID3D11Device *)class_linkage->
device);
1782 const char *instance_name,
UINT instance_index, ID3D11ClassInstance **class_instance)
1784 FIXME(
"iface %p, instance_name %s, instance_index %u, class_instance %p stub!\n",
1785 iface,
debugstr_a(instance_name), instance_index, class_instance);
1791 const char *type_name,
UINT cb_offset,
UINT cb_vector_offset,
UINT texture_offset,
1792 UINT sampler_offset, ID3D11ClassInstance **class_instance)
1794 FIXME(
"iface %p, type_name %s, cb_offset %u, cb_vector_offset %u, texture_offset %u, "
1795 "sampler_offset %u, class_instance %p stub!\n",
1796 iface,
debugstr_a(type_name), cb_offset, cb_vector_offset, texture_offset,
1797 sampler_offset, class_instance);
1822 if (!(
object =
calloc(1,
sizeof(*
object))))
1826 object->refcount = 1;
1829 ID3D11Device2_AddRef(
object->device = &
device->ID3D11Device2_iface);
1831 TRACE(
"Created class linkage %p.\n",
object);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
const UINT D3D11_SO_NO_RASTERIZED_STREAM
const UINT D3D11_SO_BUFFER_SLOT_COUNT
const UINT D3D11_SO_STREAM_COUNT
const UINT D3D11_SO_OUTPUT_COMPONENT_COUNT
HRESULT d3d_get_private_data(struct wined3d_private_store *store, REFGUID guid, UINT *data_size, void *data)
HRESULT d3d_set_private_data_interface(struct wined3d_private_store *store, REFGUID guid, const IUnknown *object)
HRESULT d3d_set_private_data(struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data)
static HRESULT STDMETHODCALLTYPE d3d11_domain_shader_SetPrivateDataInterface(ID3D11DomainShader *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d10_geometry_shader_GetPrivateData(ID3D10GeometryShader *iface, REFGUID guid, UINT *data_size, void *data)
static void STDMETHODCALLTYPE d3d10_vertex_shader_GetDevice(ID3D10VertexShader *iface, ID3D10Device **device)
static void STDMETHODCALLTYPE d3d11_domain_shader_wined3d_object_destroyed(void *parent)
static HRESULT STDMETHODCALLTYPE d3d11_class_linkage_SetPrivateDataInterface(ID3D11ClassLinkage *iface, REFGUID guid, const IUnknown *data)
HRESULT d3d11_domain_shader_create(struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, struct d3d11_domain_shader **shader)
static void STDMETHODCALLTYPE d3d_vertex_shader_wined3d_object_destroyed(void *parent)
static HRESULT STDMETHODCALLTYPE d3d10_pixel_shader_GetPrivateData(ID3D10PixelShader *iface, REFGUID guid, UINT *data_size, void *data)
struct d3d_vertex_shader * unsafe_impl_from_ID3D10VertexShader(ID3D10VertexShader *iface)
HRESULT d3d_geometry_shader_create(struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, const D3D11_SO_DECLARATION_ENTRY *so_entries, unsigned int so_entry_count, const unsigned int *buffer_strides, unsigned int buffer_stride_count, unsigned int rasterizer_stream, struct d3d_geometry_shader **shader)
static struct d3d_geometry_shader * impl_from_ID3D11GeometryShader(ID3D11GeometryShader *iface)
static ULONG STDMETHODCALLTYPE d3d11_vertex_shader_AddRef(ID3D11VertexShader *iface)
static void STDMETHODCALLTYPE d3d_geometry_shader_wined3d_object_destroyed(void *parent)
struct d3d11_compute_shader * unsafe_impl_from_ID3D11ComputeShader(ID3D11ComputeShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_class_linkage_GetClassInstance(ID3D11ClassLinkage *iface, const char *instance_name, UINT instance_index, ID3D11ClassInstance **class_instance)
static void STDMETHODCALLTYPE d3d11_class_linkage_GetDevice(ID3D11ClassLinkage *iface, ID3D11Device **device)
static HRESULT STDMETHODCALLTYPE d3d11_geometry_shader_QueryInterface(ID3D11GeometryShader *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d10_pixel_shader_SetPrivateData(ID3D10PixelShader *iface, REFGUID guid, UINT data_size, const void *data)
static const struct ID3D10GeometryShaderVtbl d3d10_geometry_shader_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_vertex_shader_GetPrivateData(ID3D10VertexShader *iface, REFGUID guid, UINT *data_size, void *data)
static ULONG STDMETHODCALLTYPE d3d11_compute_shader_AddRef(ID3D11ComputeShader *iface)
static void STDMETHODCALLTYPE d3d10_geometry_shader_GetDevice(ID3D10GeometryShader *iface, ID3D10Device **device)
static ULONG STDMETHODCALLTYPE d3d11_hull_shader_Release(ID3D11HullShader *iface)
static struct d3d_vertex_shader * impl_from_ID3D11VertexShader(ID3D11VertexShader *iface)
static HRESULT d3d11_compute_shader_init(struct d3d11_compute_shader *shader, struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length)
static HRESULT STDMETHODCALLTYPE d3d11_class_linkage_GetPrivateData(ID3D11ClassLinkage *iface, REFGUID guid, UINT *data_size, void *data)
static ULONG STDMETHODCALLTYPE d3d10_pixel_shader_AddRef(ID3D10PixelShader *iface)
static struct d3d_vertex_shader * impl_from_ID3D10VertexShader(ID3D10VertexShader *iface)
static const struct wined3d_parent_ops d3d11_compute_shader_wined3d_parent_ops
struct d3d11_domain_shader * unsafe_impl_from_ID3D11DomainShader(ID3D11DomainShader *iface)
struct d3d11_hull_shader * unsafe_impl_from_ID3D11HullShader(ID3D11HullShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_geometry_shader_SetPrivateData(ID3D11GeometryShader *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT d3d11_hull_shader_init(struct d3d11_hull_shader *shader, struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length)
struct d3d_vertex_shader * unsafe_impl_from_ID3D11VertexShader(ID3D11VertexShader *iface)
static const struct ID3D10VertexShaderVtbl d3d10_vertex_shader_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_vertex_shader_QueryInterface(ID3D10VertexShader *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d11_pixel_shader_SetPrivateData(ID3D11PixelShader *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT d3d_pixel_shader_init(struct d3d_pixel_shader *shader, struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length)
static HRESULT STDMETHODCALLTYPE d3d11_vertex_shader_SetPrivateData(ID3D11VertexShader *iface, REFGUID guid, UINT data_size, const void *data)
static const struct ID3D11ComputeShaderVtbl d3d11_compute_shader_vtbl
static ULONG STDMETHODCALLTYPE d3d11_class_linkage_AddRef(ID3D11ClassLinkage *iface)
static HRESULT validate_stream_output_entries(const D3D11_SO_DECLARATION_ENTRY *entries, unsigned int entry_count, const unsigned int *buffer_strides, unsigned int buffer_stride_count, D3D_FEATURE_LEVEL feature_level)
static HRESULT STDMETHODCALLTYPE d3d10_pixel_shader_QueryInterface(ID3D10PixelShader *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d11_hull_shader_SetPrivateData(ID3D11HullShader *iface, REFGUID guid, UINT data_size, const void *data)
static void STDMETHODCALLTYPE d3d11_pixel_shader_GetDevice(ID3D11PixelShader *iface, ID3D11Device **device)
static HRESULT STDMETHODCALLTYPE d3d10_vertex_shader_SetPrivateDataInterface(ID3D10VertexShader *iface, REFGUID guid, const IUnknown *data)
static HRESULT d3d_vertex_shader_init(struct d3d_vertex_shader *shader, struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length)
static void STDMETHODCALLTYPE d3d11_hull_shader_wined3d_object_destroyed(void *parent)
static ULONG STDMETHODCALLTYPE d3d11_hull_shader_AddRef(ID3D11HullShader *iface)
static const struct wined3d_parent_ops d3d_vertex_shader_wined3d_parent_ops
static HRESULT STDMETHODCALLTYPE d3d11_hull_shader_GetPrivateData(ID3D11HullShader *iface, REFGUID guid, UINT *data_size, void *data)
struct d3d_pixel_shader * unsafe_impl_from_ID3D11PixelShader(ID3D11PixelShader *iface)
static ULONG STDMETHODCALLTYPE d3d10_pixel_shader_Release(ID3D10PixelShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_class_linkage_CreateClassInstance(ID3D11ClassLinkage *iface, const char *type_name, UINT cb_offset, UINT cb_vector_offset, UINT texture_offset, UINT sampler_offset, ID3D11ClassInstance **class_instance)
struct d3d_geometry_shader * unsafe_impl_from_ID3D10GeometryShader(ID3D10GeometryShader *iface)
static ULONG STDMETHODCALLTYPE d3d11_geometry_shader_Release(ID3D11GeometryShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_domain_shader_GetPrivateData(ID3D11DomainShader *iface, REFGUID guid, UINT *data_size, void *data)
static HRESULT STDMETHODCALLTYPE d3d11_pixel_shader_SetPrivateDataInterface(ID3D11PixelShader *iface, REFGUID guid, const IUnknown *data)
static ULONG STDMETHODCALLTYPE d3d10_vertex_shader_AddRef(ID3D10VertexShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_geometry_shader_GetPrivateData(ID3D11GeometryShader *iface, REFGUID guid, UINT *data_size, void *data)
static struct d3d_pixel_shader * impl_from_ID3D10PixelShader(ID3D10PixelShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_domain_shader_QueryInterface(ID3D11DomainShader *iface, REFIID riid, void **object)
static ULONG STDMETHODCALLTYPE d3d11_domain_shader_AddRef(ID3D11DomainShader *iface)
static void STDMETHODCALLTYPE d3d11_compute_shader_wined3d_object_destroyed(void *parent)
static HRESULT STDMETHODCALLTYPE d3d11_compute_shader_QueryInterface(ID3D11ComputeShader *iface, REFIID riid, void **object)
static const struct ID3D11GeometryShaderVtbl d3d11_geometry_shader_vtbl
static const struct wined3d_parent_ops d3d_geometry_shader_wined3d_parent_ops
static ULONG STDMETHODCALLTYPE d3d10_geometry_shader_AddRef(ID3D10GeometryShader *iface)
static const struct wined3d_parent_ops d3d11_domain_shader_wined3d_parent_ops
static void STDMETHODCALLTYPE d3d11_hull_shader_GetDevice(ID3D11HullShader *iface, ID3D11Device **device)
static HRESULT STDMETHODCALLTYPE d3d11_pixel_shader_QueryInterface(ID3D11PixelShader *iface, REFIID riid, void **object)
static const struct ID3D11HullShaderVtbl d3d11_hull_shader_vtbl
static const struct ID3D11VertexShaderVtbl d3d11_vertex_shader_vtbl
static HRESULT STDMETHODCALLTYPE d3d10_pixel_shader_SetPrivateDataInterface(ID3D10PixelShader *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d11_hull_shader_SetPrivateDataInterface(ID3D11HullShader *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d11_hull_shader_QueryInterface(ID3D11HullShader *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d11_class_linkage_QueryInterface(ID3D11ClassLinkage *iface, REFIID riid, void **object)
static void STDMETHODCALLTYPE d3d10_pixel_shader_GetDevice(ID3D10PixelShader *iface, ID3D10Device **device)
static HRESULT STDMETHODCALLTYPE d3d10_vertex_shader_SetPrivateData(ID3D10VertexShader *iface, REFGUID guid, UINT data_size, const void *data)
HRESULT d3d11_class_linkage_create(struct d3d_device *device, struct d3d11_class_linkage **class_linkage)
static const struct ID3D11DomainShaderVtbl d3d11_domain_shader_vtbl
static HRESULT STDMETHODCALLTYPE d3d11_compute_shader_SetPrivateData(ID3D11ComputeShader *iface, REFGUID guid, UINT data_size, const void *data)
static ULONG STDMETHODCALLTYPE d3d11_class_linkage_Release(ID3D11ClassLinkage *iface)
static ULONG STDMETHODCALLTYPE d3d11_compute_shader_Release(ID3D11ComputeShader *iface)
HRESULT d3d_vertex_shader_create(struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, struct d3d_vertex_shader **shader)
static ULONG STDMETHODCALLTYPE d3d11_domain_shader_Release(ID3D11DomainShader *iface)
static ULONG STDMETHODCALLTYPE d3d10_vertex_shader_Release(ID3D10VertexShader *iface)
struct d3d_geometry_shader * unsafe_impl_from_ID3D11GeometryShader(ID3D11GeometryShader *iface)
static void STDMETHODCALLTYPE d3d11_vertex_shader_GetDevice(ID3D11VertexShader *iface, ID3D11Device **device)
static HRESULT STDMETHODCALLTYPE d3d10_geometry_shader_SetPrivateData(ID3D10GeometryShader *iface, REFGUID guid, UINT data_size, const void *data)
static HRESULT d3d_geometry_shader_init(struct d3d_geometry_shader *shader, struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, const D3D11_SO_DECLARATION_ENTRY *so_entries, unsigned int so_entry_count, const unsigned int *buffer_strides, unsigned int buffer_stride_count, unsigned int rasterizer_stream)
static struct d3d11_hull_shader * impl_from_ID3D11HullShader(ID3D11HullShader *iface)
static struct d3d11_compute_shader * impl_from_ID3D11ComputeShader(ID3D11ComputeShader *iface)
static ULONG STDMETHODCALLTYPE d3d11_pixel_shader_Release(ID3D11PixelShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_pixel_shader_GetPrivateData(ID3D11PixelShader *iface, REFGUID guid, UINT *data_size, void *data)
static HRESULT STDMETHODCALLTYPE d3d11_domain_shader_SetPrivateData(ID3D11DomainShader *iface, REFGUID guid, UINT data_size, const void *data)
HRESULT d3d_pixel_shader_create(struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, struct d3d_pixel_shader **shader)
static HRESULT STDMETHODCALLTYPE d3d11_compute_shader_SetPrivateDataInterface(ID3D11ComputeShader *iface, REFGUID guid, const IUnknown *data)
static const struct wined3d_parent_ops d3d11_hull_shader_wined3d_parent_ops
static const struct ID3D11ClassLinkageVtbl d3d11_class_linkage_vtbl
HRESULT d3d11_hull_shader_create(struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, struct d3d11_hull_shader **shader)
static void STDMETHODCALLTYPE d3d11_domain_shader_GetDevice(ID3D11DomainShader *iface, ID3D11Device **device)
static HRESULT STDMETHODCALLTYPE d3d11_compute_shader_GetPrivateData(ID3D11ComputeShader *iface, REFGUID guid, UINT *data_size, void *data)
static ULONG STDMETHODCALLTYPE d3d11_vertex_shader_Release(ID3D11VertexShader *iface)
static ULONG STDMETHODCALLTYPE d3d10_geometry_shader_Release(ID3D10GeometryShader *iface)
static struct d3d_geometry_shader * impl_from_ID3D10GeometryShader(ID3D10GeometryShader *iface)
static HRESULT STDMETHODCALLTYPE d3d11_geometry_shader_SetPrivateDataInterface(ID3D11GeometryShader *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d11_vertex_shader_QueryInterface(ID3D11VertexShader *iface, REFIID riid, void **object)
static HRESULT STDMETHODCALLTYPE d3d11_vertex_shader_GetPrivateData(ID3D11VertexShader *iface, REFGUID guid, UINT *data_size, void *data)
struct d3d_pixel_shader * unsafe_impl_from_ID3D10PixelShader(ID3D10PixelShader *iface)
static ULONG STDMETHODCALLTYPE d3d11_geometry_shader_AddRef(ID3D11GeometryShader *iface)
static HRESULT STDMETHODCALLTYPE d3d10_geometry_shader_QueryInterface(ID3D10GeometryShader *iface, REFIID riid, void **object)
HRESULT d3d11_compute_shader_create(struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length, struct d3d11_compute_shader **shader)
static ULONG STDMETHODCALLTYPE d3d11_pixel_shader_AddRef(ID3D11PixelShader *iface)
static HRESULT d3d11_domain_shader_init(struct d3d11_domain_shader *shader, struct d3d_device *device, const void *byte_code, SIZE_T byte_code_length)
static void STDMETHODCALLTYPE d3d11_geometry_shader_GetDevice(ID3D11GeometryShader *iface, ID3D11Device **device)
static const struct ID3D10PixelShaderVtbl d3d10_pixel_shader_vtbl
static struct d3d11_class_linkage * impl_from_ID3D11ClassLinkage(ID3D11ClassLinkage *iface)
static HRESULT STDMETHODCALLTYPE d3d11_vertex_shader_SetPrivateDataInterface(ID3D11VertexShader *iface, REFGUID guid, const IUnknown *data)
static HRESULT STDMETHODCALLTYPE d3d10_geometry_shader_SetPrivateDataInterface(ID3D10GeometryShader *iface, REFGUID guid, const IUnknown *data)
static struct d3d_pixel_shader * impl_from_ID3D11PixelShader(ID3D11PixelShader *iface)
static const struct wined3d_parent_ops d3d_pixel_shader_wined3d_parent_ops
static void STDMETHODCALLTYPE d3d11_compute_shader_GetDevice(ID3D11ComputeShader *iface, ID3D11Device **device)
static const struct ID3D11PixelShaderVtbl d3d11_pixel_shader_vtbl
static void STDMETHODCALLTYPE d3d_pixel_shader_wined3d_object_destroyed(void *parent)
static HRESULT STDMETHODCALLTYPE d3d11_class_linkage_SetPrivateData(ID3D11ClassLinkage *iface, REFGUID guid, UINT data_size, const void *data)
static struct d3d11_domain_shader * impl_from_ID3D11DomainShader(ID3D11DomainShader *iface)
HRESULT CDECL wined3d_shader_create_gs(struct wined3d_device *device, const struct wined3d_shader_desc *desc, const struct wined3d_stream_output_desc *so_desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
HRESULT CDECL wined3d_shader_create_vs(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
ULONG CDECL wined3d_shader_incref(struct wined3d_shader *shader)
HRESULT CDECL wined3d_shader_create_ps(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
ULONG CDECL wined3d_shader_decref(struct wined3d_shader *shader)
HRESULT CDECL wined3d_shader_create_hs(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
HRESULT CDECL wined3d_shader_create_ds(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
HRESULT CDECL wined3d_shader_create_cs(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
#define stricmp(_String1, _String2)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
D3D11_SHADER_VARIABLE_DESC desc
static ULONG ** element_count
#define IsEqualGUID(rguid1, rguid2)
ID3D11ClassLinkage ID3D11ClassLinkage_iface
struct wined3d_private_store private_store
ID3D11ComputeShader ID3D11ComputeShader_iface
ID3D11DomainShader ID3D11DomainShader_iface
ID3D11HullShader ID3D11HullShader_iface
ID3D11GeometryShader ID3D11GeometryShader_iface
ID3D10GeometryShader ID3D10GeometryShader_iface
ID3D10PixelShader ID3D10PixelShader_iface
ID3D11PixelShader ID3D11PixelShader_iface
ID3D11VertexShader ID3D11VertexShader_iface
ID3D10VertexShader ID3D10VertexShader_iface
unsigned int buffer_strides[WINED3D_MAX_STREAM_OUTPUT_BUFFERS]
unsigned int element_count
const struct wined3d_stream_output_element * elements
unsigned int rasterizer_stream_idx
unsigned int buffer_stride_count
#define CONTAINING_RECORD(address, type, field)
static void wined3d_private_store_cleanup(struct wined3d_private_store *store)
static void wined3d_private_store_init(struct wined3d_private_store *store)
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)