ReactOS 0.4.17-dev-934-g091855f
texture.c File Reference
#include "d3d11_private.h"
Include dependency graph for texture.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (d3d11)
 
static struct d3d_texture1d * impl_from_ID3D11Texture1D (ID3D11Texture1D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_QueryInterface (ID3D11Texture1D *iface, REFIID iid, void **out)
 
static ULONG STDMETHODCALLTYPE d3d11_texture1d_AddRef (ID3D11Texture1D *iface)
 
static ULONG STDMETHODCALLTYPE d3d11_texture1d_Release (ID3D11Texture1D *iface)
 
static void STDMETHODCALLTYPE d3d11_texture1d_GetDevice (ID3D11Texture1D *iface, ID3D11Device **device)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_GetPrivateData (ID3D11Texture1D *iface, REFGUID guid, UINT *data_size, void *data)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_SetPrivateData (ID3D11Texture1D *iface, REFGUID guid, UINT data_size, const void *data)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_SetPrivateDataInterface (ID3D11Texture1D *iface, REFGUID guid, const IUnknown *data)
 
static void STDMETHODCALLTYPE d3d11_texture1d_GetType (ID3D11Texture1D *iface, D3D11_RESOURCE_DIMENSION *resource_dimension)
 
static void STDMETHODCALLTYPE d3d11_texture1d_SetEvictionPriority (ID3D11Texture1D *iface, UINT eviction_priority)
 
static UINT STDMETHODCALLTYPE d3d11_texture1d_GetEvictionPriority (ID3D11Texture1D *iface)
 
static void STDMETHODCALLTYPE d3d11_texture1d_GetDesc (ID3D11Texture1D *iface, D3D11_TEXTURE1D_DESC *desc)
 
struct d3d_texture1d * unsafe_impl_from_ID3D11Texture1D (ID3D11Texture1D *iface)
 
static struct d3d_texture1d * impl_from_ID3D10Texture1D (ID3D10Texture1D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_QueryInterface (ID3D10Texture1D *iface, REFIID iid, void **out)
 
static ULONG STDMETHODCALLTYPE d3d10_texture1d_AddRef (ID3D10Texture1D *iface)
 
static void STDMETHODCALLTYPE d3d_texture1d_wined3d_object_released (void *parent)
 
static ULONG STDMETHODCALLTYPE d3d10_texture1d_Release (ID3D10Texture1D *iface)
 
static void STDMETHODCALLTYPE d3d10_texture1d_GetDevice (ID3D10Texture1D *iface, ID3D10Device **device)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_GetPrivateData (ID3D10Texture1D *iface, REFGUID guid, UINT *data_size, void *data)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_SetPrivateData (ID3D10Texture1D *iface, REFGUID guid, UINT data_size, const void *data)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_SetPrivateDataInterface (ID3D10Texture1D *iface, REFGUID guid, const IUnknown *data)
 
static void STDMETHODCALLTYPE d3d10_texture1d_GetType (ID3D10Texture1D *iface, D3D10_RESOURCE_DIMENSION *resource_dimension)
 
static void STDMETHODCALLTYPE d3d10_texture1d_SetEvictionPriority (ID3D10Texture1D *iface, UINT eviction_priority)
 
static UINT STDMETHODCALLTYPE d3d10_texture1d_GetEvictionPriority (ID3D10Texture1D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_Map (ID3D10Texture1D *iface, UINT sub_resource_idx, D3D10_MAP map_type, UINT map_flags, void **data)
 
static void STDMETHODCALLTYPE d3d10_texture1d_Unmap (ID3D10Texture1D *iface, UINT sub_resource_idx)
 
static void STDMETHODCALLTYPE d3d10_texture1d_GetDesc (ID3D10Texture1D *iface, D3D10_TEXTURE1D_DESC *desc)
 
struct d3d_texture1d * unsafe_impl_from_ID3D10Texture1D (ID3D10Texture1D *iface)
 
HRESULT d3d_device_create_dxgi_resource (IUnknown *device, struct wined3d_resource *wined3d_resource, IUnknown *outer, BOOL needs_surface, IUnknown **dxgi_resource)
 
HRESULT d3d_texture1d_create (struct d3d_device *device, const D3D11_TEXTURE1D_DESC *desc, const D3D11_SUBRESOURCE_DATA *data, struct d3d_texture1d **out)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_QueryInterface (ID3D11Texture2D *iface, REFIID riid, void **object)
 
static ULONG STDMETHODCALLTYPE d3d11_texture2d_AddRef (ID3D11Texture2D *iface)
 
static ULONG STDMETHODCALLTYPE d3d11_texture2d_Release (ID3D11Texture2D *iface)
 
static void STDMETHODCALLTYPE d3d11_texture2d_GetDevice (ID3D11Texture2D *iface, ID3D11Device **device)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_GetPrivateData (ID3D11Texture2D *iface, REFGUID guid, UINT *data_size, void *data)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_SetPrivateData (ID3D11Texture2D *iface, REFGUID guid, UINT data_size, const void *data)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_SetPrivateDataInterface (ID3D11Texture2D *iface, REFGUID guid, const IUnknown *data)
 
static void STDMETHODCALLTYPE d3d11_texture2d_GetType (ID3D11Texture2D *iface, D3D11_RESOURCE_DIMENSION *resource_dimension)
 
static void STDMETHODCALLTYPE d3d11_texture2d_SetEvictionPriority (ID3D11Texture2D *iface, UINT eviction_priority)
 
static UINT STDMETHODCALLTYPE d3d11_texture2d_GetEvictionPriority (ID3D11Texture2D *iface)
 
static void STDMETHODCALLTYPE d3d11_texture2d_GetDesc (ID3D11Texture2D *iface, D3D11_TEXTURE2D_DESC *desc)
 
struct d3d_texture2d * unsafe_impl_from_ID3D11Texture2D (ID3D11Texture2D *iface)
 
static struct d3d_texture2d * impl_from_ID3D10Texture2D (ID3D10Texture2D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_QueryInterface (ID3D10Texture2D *iface, REFIID riid, void **object)
 
static ULONG STDMETHODCALLTYPE d3d10_texture2d_AddRef (ID3D10Texture2D *iface)
 
static void STDMETHODCALLTYPE d3d_texture2d_wined3d_object_released (void *parent)
 
static ULONG STDMETHODCALLTYPE d3d10_texture2d_Release (ID3D10Texture2D *iface)
 
static void STDMETHODCALLTYPE d3d10_texture2d_GetDevice (ID3D10Texture2D *iface, ID3D10Device **device)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_GetPrivateData (ID3D10Texture2D *iface, REFGUID guid, UINT *data_size, void *data)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_SetPrivateData (ID3D10Texture2D *iface, REFGUID guid, UINT data_size, const void *data)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_SetPrivateDataInterface (ID3D10Texture2D *iface, REFGUID guid, const IUnknown *data)
 
static void STDMETHODCALLTYPE d3d10_texture2d_GetType (ID3D10Texture2D *iface, D3D10_RESOURCE_DIMENSION *resource_dimension)
 
static void STDMETHODCALLTYPE d3d10_texture2d_SetEvictionPriority (ID3D10Texture2D *iface, UINT eviction_priority)
 
static UINT STDMETHODCALLTYPE d3d10_texture2d_GetEvictionPriority (ID3D10Texture2D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_Map (ID3D10Texture2D *iface, UINT sub_resource_idx, D3D10_MAP map_type, UINT map_flags, D3D10_MAPPED_TEXTURE2D *mapped_texture)
 
static void STDMETHODCALLTYPE d3d10_texture2d_Unmap (ID3D10Texture2D *iface, UINT sub_resource_idx)
 
static void STDMETHODCALLTYPE d3d10_texture2d_GetDesc (ID3D10Texture2D *iface, D3D10_TEXTURE2D_DESC *desc)
 
struct d3d_texture2d * unsafe_impl_from_ID3D10Texture2D (ID3D10Texture2D *iface)
 
static BOOL is_gdi_compatible_texture (const D3D11_TEXTURE2D_DESC *desc)
 
static BOOL validate_texture2d_desc (const D3D11_TEXTURE2D_DESC *desc, D3D_FEATURE_LEVEL feature_level)
 
HRESULT d3d_texture2d_create (struct d3d_device *device, const D3D11_TEXTURE2D_DESC *desc, struct wined3d_texture *wined3d_texture, const D3D11_SUBRESOURCE_DATA *data, struct d3d_texture2d **out)
 
static struct d3d_texture3d * impl_from_ID3D11Texture3D (ID3D11Texture3D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_QueryInterface (ID3D11Texture3D *iface, REFIID riid, void **object)
 
static ULONG STDMETHODCALLTYPE d3d11_texture3d_AddRef (ID3D11Texture3D *iface)
 
static void STDMETHODCALLTYPE d3d_texture3d_wined3d_object_released (void *parent)
 
static ULONG STDMETHODCALLTYPE d3d11_texture3d_Release (ID3D11Texture3D *iface)
 
static void STDMETHODCALLTYPE d3d11_texture3d_GetDevice (ID3D11Texture3D *iface, ID3D11Device **device)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_GetPrivateData (ID3D11Texture3D *iface, REFGUID guid, UINT *data_size, void *data)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_SetPrivateData (ID3D11Texture3D *iface, REFGUID guid, UINT data_size, const void *data)
 
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_SetPrivateDataInterface (ID3D11Texture3D *iface, REFGUID guid, const IUnknown *data)
 
static void STDMETHODCALLTYPE d3d11_texture3d_GetType (ID3D11Texture3D *iface, D3D11_RESOURCE_DIMENSION *resource_dimension)
 
static void STDMETHODCALLTYPE d3d11_texture3d_SetEvictionPriority (ID3D11Texture3D *iface, UINT eviction_priority)
 
static UINT STDMETHODCALLTYPE d3d11_texture3d_GetEvictionPriority (ID3D11Texture3D *iface)
 
static void STDMETHODCALLTYPE d3d11_texture3d_GetDesc (ID3D11Texture3D *iface, D3D11_TEXTURE3D_DESC *desc)
 
static struct d3d_texture3d * impl_from_ID3D10Texture3D (ID3D10Texture3D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_QueryInterface (ID3D10Texture3D *iface, REFIID riid, void **object)
 
static ULONG STDMETHODCALLTYPE d3d10_texture3d_AddRef (ID3D10Texture3D *iface)
 
static ULONG STDMETHODCALLTYPE d3d10_texture3d_Release (ID3D10Texture3D *iface)
 
static void STDMETHODCALLTYPE d3d10_texture3d_GetDevice (ID3D10Texture3D *iface, ID3D10Device **device)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_GetPrivateData (ID3D10Texture3D *iface, REFGUID guid, UINT *data_size, void *data)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_SetPrivateData (ID3D10Texture3D *iface, REFGUID guid, UINT data_size, const void *data)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_SetPrivateDataInterface (ID3D10Texture3D *iface, REFGUID guid, const IUnknown *data)
 
static void STDMETHODCALLTYPE d3d10_texture3d_GetType (ID3D10Texture3D *iface, D3D10_RESOURCE_DIMENSION *resource_dimension)
 
static void STDMETHODCALLTYPE d3d10_texture3d_SetEvictionPriority (ID3D10Texture3D *iface, UINT eviction_priority)
 
static UINT STDMETHODCALLTYPE d3d10_texture3d_GetEvictionPriority (ID3D10Texture3D *iface)
 
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_Map (ID3D10Texture3D *iface, UINT sub_resource_idx, D3D10_MAP map_type, UINT map_flags, D3D10_MAPPED_TEXTURE3D *mapped_texture)
 
static void STDMETHODCALLTYPE d3d10_texture3d_Unmap (ID3D10Texture3D *iface, UINT sub_resource_idx)
 
static void STDMETHODCALLTYPE d3d10_texture3d_GetDesc (ID3D10Texture3D *iface, D3D10_TEXTURE3D_DESC *desc)
 
struct d3d_texture3d * unsafe_impl_from_ID3D10Texture3D (ID3D10Texture3D *iface)
 
struct d3d_texture3d * unsafe_impl_from_ID3D11Texture3D (ID3D11Texture3D *iface)
 
static HRESULT d3d_texture3d_init (struct d3d_texture3d *texture, struct d3d_device *device, const D3D11_TEXTURE3D_DESC *desc, const D3D11_SUBRESOURCE_DATA *data)
 
HRESULT d3d_texture3d_create (struct d3d_device *device, const D3D11_TEXTURE3D_DESC *desc, const D3D11_SUBRESOURCE_DATA *data, struct d3d_texture3d **texture)
 

Variables

static const struct ID3D11Texture1DVtbl d3d11_texture1d_vtbl
 
static const struct ID3D10Texture1DVtbl d3d10_texture1d_vtbl
 
static const struct wined3d_parent_ops d3d_texture1d_wined3d_parent_ops
 
static const struct ID3D11Texture2DVtbl d3d11_texture2d_vtbl
 
static const struct ID3D10Texture2DVtbl d3d10_texture2d_vtbl
 
static const struct wined3d_parent_ops d3d_texture2d_wined3d_parent_ops
 
static const struct ID3D11Texture3DVtbl d3d11_texture3d_vtbl
 
static const struct ID3D10Texture3DVtbl d3d10_texture3d_vtbl
 
static const struct wined3d_parent_ops d3d_texture3d_wined3d_parent_ops
 

Function Documentation

◆ d3d10_texture1d_AddRef()

static ULONG STDMETHODCALLTYPE d3d10_texture1d_AddRef ( ID3D10Texture1D *  iface)
static

Definition at line 240 of file texture.c.

241{
243
244 TRACE("iface %p.\n", iface);
245
246 return d3d11_texture1d_AddRef(&texture->ID3D11Texture1D_iface);
247}
static ULONG STDMETHODCALLTYPE d3d11_texture1d_AddRef(ID3D11Texture1D *iface)
Definition: texture.c:69
static struct d3d_texture1d * impl_from_ID3D10Texture1D(ID3D10Texture1D *iface)
Definition: texture.c:224
GLenum GLuint texture
Definition: glext.h:6295
#define TRACE(s)
Definition: solgame.cpp:4

◆ d3d10_texture1d_GetDesc()

static void STDMETHODCALLTYPE d3d10_texture1d_GetDesc ( ID3D10Texture1D *  iface,
D3D10_TEXTURE1D_DESC *  desc 
)
static

Definition at line 363 of file texture.c.

364{
366 D3D11_TEXTURE1D_DESC d3d11_desc;
367
368 TRACE("iface %p, desc %p.\n", iface, desc);
369
370 d3d11_texture1d_GetDesc(&texture->ID3D11Texture1D_iface, &d3d11_desc);
371
372 desc->Width = d3d11_desc.Width;
373 desc->MipLevels = d3d11_desc.MipLevels;
374 desc->ArraySize = d3d11_desc.ArraySize;
375 desc->Format = d3d11_desc.Format;
376 desc->Usage = d3d10_usage_from_d3d11_usage(d3d11_desc.Usage);
377 desc->BindFlags = d3d10_bind_flags_from_d3d11_bind_flags(d3d11_desc.BindFlags);
378 desc->CPUAccessFlags = d3d10_cpu_access_flags_from_d3d11_cpu_access_flags(d3d11_desc.CPUAccessFlags);
379 desc->MiscFlags = d3d10_resource_misc_flags_from_d3d11_resource_misc_flags(d3d11_desc.MiscFlags);
380}
UINT d3d10_bind_flags_from_d3d11_bind_flags(UINT bind_flags)
Definition: utils.c:502
enum D3D10_USAGE d3d10_usage_from_d3d11_usage(enum D3D11_USAGE usage)
Definition: utils.c:471
UINT d3d10_cpu_access_flags_from_d3d11_cpu_access_flags(UINT cpu_access_flags)
Definition: utils.c:534
UINT d3d10_resource_misc_flags_from_d3d11_resource_misc_flags(UINT resource_misc_flags)
Definition: utils.c:567
static void STDMETHODCALLTYPE d3d11_texture1d_GetDesc(ID3D11Texture1D *iface, D3D11_TEXTURE1D_DESC *desc)
Definition: texture.c:188
D3D11_SHADER_VARIABLE_DESC desc
Definition: reflection.c:1683

◆ d3d10_texture1d_GetDevice()

static void STDMETHODCALLTYPE d3d10_texture1d_GetDevice ( ID3D10Texture1D *  iface,
ID3D10Device **  device 
)
static

Definition at line 269 of file texture.c.

270{
272
273 TRACE("iface %p, device %p.\n", iface, device);
274
275 ID3D11Device2_QueryInterface(texture->device, &IID_ID3D10Device, (void **)device);
276}
Definition: devices.h:37

◆ d3d10_texture1d_GetEvictionPriority()

static UINT STDMETHODCALLTYPE d3d10_texture1d_GetEvictionPriority ( ID3D10Texture1D *  iface)
static

Definition at line 323 of file texture.c.

324{
325 FIXME("iface %p stub!\n", iface);
326
327 return 0;
328}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ d3d10_texture1d_GetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d10_texture1d_GetPrivateData ( ID3D10Texture1D *  iface,
REFGUID  guid,
UINT *  data_size,
void *  data 
)
static

Definition at line 278 of file texture.c.

280{
282
283 TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
284
285 return d3d11_texture1d_GetPrivateData(&texture->ID3D11Texture1D_iface, guid, data_size, data);
286}
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_GetPrivateData(ID3D11Texture1D *iface, REFGUID guid, UINT *data_size, void *data)
Definition: texture.c:114
GUID guid
Definition: version.c:147
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
#define debugstr_guid
Definition: kernel32.h:35

◆ d3d10_texture1d_GetType()

static void STDMETHODCALLTYPE d3d10_texture1d_GetType ( ID3D10Texture1D *  iface,
D3D10_RESOURCE_DIMENSION *  resource_dimension 
)
static

Definition at line 310 of file texture.c.

312{
313 TRACE("iface %p, resource_dimension %p\n", iface, resource_dimension);
314
315 *resource_dimension = D3D10_RESOURCE_DIMENSION_TEXTURE1D;
316}
@ D3D10_RESOURCE_DIMENSION_TEXTURE1D
Definition: d3d10.idl:455

◆ d3d10_texture1d_Map()

static HRESULT STDMETHODCALLTYPE d3d10_texture1d_Map ( ID3D10Texture1D *  iface,
UINT  sub_resource_idx,
D3D10_MAP  map_type,
UINT  map_flags,
void **  data 
)
static

Definition at line 332 of file texture.c.

334{
337 HRESULT hr;
338
339 TRACE("iface %p, sub_resource_idx %u, map_type %u, map_flags %#x, data %p.\n",
340 iface, sub_resource_idx, map_type, map_flags, data);
341
342 if (map_flags)
343 FIXME("Ignoring map_flags %#x.\n", map_flags);
344
345 if (SUCCEEDED(hr = wined3d_resource_map(wined3d_texture_get_resource(texture->wined3d_texture), sub_resource_idx,
347 {
349 }
350
351 return hr;
352}
DWORD wined3d_map_flags_from_d3d10_map_type(D3D10_MAP map_type)
Definition: utils.c:765
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, uint32_t flags)
Definition: resource.c:295
struct wined3d_resource *CDECL wined3d_texture_get_resource(struct wined3d_texture *texture)
Definition: texture.c:1649
#define SUCCEEDED(hr)
Definition: intsafe.h:50
static VARTYPE map_type(struct string_t *str)

◆ d3d10_texture1d_QueryInterface()

static HRESULT STDMETHODCALLTYPE d3d10_texture1d_QueryInterface ( ID3D10Texture1D *  iface,
REFIID  iid,
void **  out 
)
static

Definition at line 231 of file texture.c.

232{
234
235 TRACE("iface %p, iid %s, out %p.\n", iface, debugstr_guid(iid), out);
236
237 return d3d11_texture1d_QueryInterface(&texture->ID3D11Texture1D_iface, iid, out);
238}
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_QueryInterface(ID3D11Texture1D *iface, REFIID iid, void **out)
Definition: texture.c:32
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383

◆ d3d10_texture1d_Release()

static ULONG STDMETHODCALLTYPE d3d10_texture1d_Release ( ID3D10Texture1D *  iface)
static

Definition at line 258 of file texture.c.

259{
261
262 TRACE("iface %p.\n", iface);
263
264 return d3d11_texture1d_Release(&texture->ID3D11Texture1D_iface);
265}
static ULONG STDMETHODCALLTYPE d3d11_texture1d_Release(ID3D11Texture1D *iface)
Definition: texture.c:85

◆ d3d10_texture1d_SetEvictionPriority()

static void STDMETHODCALLTYPE d3d10_texture1d_SetEvictionPriority ( ID3D10Texture1D *  iface,
UINT  eviction_priority 
)
static

Definition at line 318 of file texture.c.

319{
320 FIXME("iface %p, eviction_priority %u stub!\n", iface, eviction_priority);
321}

◆ d3d10_texture1d_SetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d10_texture1d_SetPrivateData ( ID3D10Texture1D *  iface,
REFGUID  guid,
UINT  data_size,
const void *  data 
)
static

Definition at line 288 of file texture.c.

290{
292
293 TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
294
295 return d3d11_texture1d_SetPrivateData(&texture->ID3D11Texture1D_iface, guid, data_size, data);
296}
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_SetPrivateData(ID3D11Texture1D *iface, REFGUID guid, UINT data_size, const void *data)
Definition: texture.c:132

◆ d3d10_texture1d_SetPrivateDataInterface()

static HRESULT STDMETHODCALLTYPE d3d10_texture1d_SetPrivateDataInterface ( ID3D10Texture1D *  iface,
REFGUID  guid,
const IUnknown *  data 
)
static

Definition at line 298 of file texture.c.

300{
302
303 TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
304
305 return d3d11_texture1d_SetPrivateDataInterface(&texture->ID3D11Texture1D_iface, guid, data);
306}
static HRESULT STDMETHODCALLTYPE d3d11_texture1d_SetPrivateDataInterface(ID3D11Texture1D *iface, REFGUID guid, const IUnknown *data)
Definition: texture.c:150

◆ d3d10_texture1d_Unmap()

static void STDMETHODCALLTYPE d3d10_texture1d_Unmap ( ID3D10Texture1D *  iface,
UINT  sub_resource_idx 
)
static

Definition at line 354 of file texture.c.

355{
357
358 TRACE("iface %p, sub_resource_idx %u.\n", iface, sub_resource_idx);
359
360 wined3d_resource_unmap(wined3d_texture_get_resource(texture->wined3d_texture), sub_resource_idx);
361}
HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
Definition: resource.c:304

◆ d3d10_texture2d_AddRef()

static ULONG STDMETHODCALLTYPE d3d10_texture2d_AddRef ( ID3D10Texture2D *  iface)
static

Definition at line 742 of file texture.c.

743{
745
746 TRACE("iface %p.\n", iface);
747
748 return d3d11_texture2d_AddRef(&texture->ID3D11Texture2D_iface);
749}
static struct d3d_texture2d * impl_from_ID3D10Texture2D(ID3D10Texture2D *iface)
Definition: texture.c:728
static ULONG STDMETHODCALLTYPE d3d11_texture2d_AddRef(ID3D11Texture2D *iface)
Definition: texture.c:550

◆ d3d10_texture2d_GetDesc()

static void STDMETHODCALLTYPE d3d10_texture2d_GetDesc ( ID3D10Texture2D *  iface,
D3D10_TEXTURE2D_DESC *  desc 
)
static

Definition at line 865 of file texture.c.

866{
868 D3D11_TEXTURE2D_DESC d3d11_desc;
869
870 TRACE("iface %p, desc %p\n", iface, desc);
871
872 d3d11_texture2d_GetDesc(&texture->ID3D11Texture2D_iface, &d3d11_desc);
873
874 desc->Width = d3d11_desc.Width;
875 desc->Height = d3d11_desc.Height;
876 desc->MipLevels = d3d11_desc.MipLevels;
877 desc->ArraySize = d3d11_desc.ArraySize;
878 desc->Format = d3d11_desc.Format;
879 desc->SampleDesc = d3d11_desc.SampleDesc;
880 desc->Usage = d3d10_usage_from_d3d11_usage(d3d11_desc.Usage);
881 desc->BindFlags = d3d10_bind_flags_from_d3d11_bind_flags(d3d11_desc.BindFlags);
882 desc->CPUAccessFlags = d3d10_cpu_access_flags_from_d3d11_cpu_access_flags(d3d11_desc.CPUAccessFlags);
883 desc->MiscFlags = d3d10_resource_misc_flags_from_d3d11_resource_misc_flags(d3d11_desc.MiscFlags);
884}
static void STDMETHODCALLTYPE d3d11_texture2d_GetDesc(ID3D11Texture2D *iface, D3D11_TEXTURE2D_DESC *desc)
Definition: texture.c:675

◆ d3d10_texture2d_GetDevice()

static void STDMETHODCALLTYPE d3d10_texture2d_GetDevice ( ID3D10Texture2D *  iface,
ID3D10Device **  device 
)
static

Definition at line 770 of file texture.c.

771{
773
774 TRACE("iface %p, device %p.\n", iface, device);
775
776 ID3D11Device2_QueryInterface(texture->device, &IID_ID3D10Device, (void **)device);
777}

◆ d3d10_texture2d_GetEvictionPriority()

static UINT STDMETHODCALLTYPE d3d10_texture2d_GetEvictionPriority ( ID3D10Texture2D *  iface)
static

Definition at line 824 of file texture.c.

825{
826 FIXME("iface %p stub!\n", iface);
827
828 return 0;
829}

◆ d3d10_texture2d_GetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d10_texture2d_GetPrivateData ( ID3D10Texture2D *  iface,
REFGUID  guid,
UINT *  data_size,
void *  data 
)
static

Definition at line 779 of file texture.c.

781{
783
784 TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
785
786 return d3d11_texture2d_GetPrivateData(&texture->ID3D11Texture2D_iface, guid, data_size, data);
787}
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_GetPrivateData(ID3D11Texture2D *iface, REFGUID guid, UINT *data_size, void *data)
Definition: texture.c:601

◆ d3d10_texture2d_GetType()

static void STDMETHODCALLTYPE d3d10_texture2d_GetType ( ID3D10Texture2D *  iface,
D3D10_RESOURCE_DIMENSION *  resource_dimension 
)
static

Definition at line 811 of file texture.c.

813{
814 TRACE("iface %p, resource_dimension %p\n", iface, resource_dimension);
815
816 *resource_dimension = D3D10_RESOURCE_DIMENSION_TEXTURE2D;
817}
@ D3D10_RESOURCE_DIMENSION_TEXTURE2D
Definition: d3d10.idl:456

◆ d3d10_texture2d_Map()

static HRESULT STDMETHODCALLTYPE d3d10_texture2d_Map ( ID3D10Texture2D *  iface,
UINT  sub_resource_idx,
D3D10_MAP  map_type,
UINT  map_flags,
D3D10_MAPPED_TEXTURE2D *  mapped_texture 
)
static

Definition at line 833 of file texture.c.

835{
838 HRESULT hr;
839
840 TRACE("iface %p, sub_resource_idx %u, map_type %u, map_flags %#x, mapped_texture %p.\n",
841 iface, sub_resource_idx, map_type, map_flags, mapped_texture);
842
843 if (map_flags)
844 FIXME("Ignoring map_flags %#x.\n", map_flags);
845
846 if (SUCCEEDED(hr = wined3d_resource_map(wined3d_texture_get_resource(texture->wined3d_texture), sub_resource_idx,
848 {
849 mapped_texture->pData = wined3d_map_desc.data;
850 mapped_texture->RowPitch = wined3d_map_desc.row_pitch;
851 }
852
853 return hr;
854}

◆ d3d10_texture2d_QueryInterface()

static HRESULT STDMETHODCALLTYPE d3d10_texture2d_QueryInterface ( ID3D10Texture2D *  iface,
REFIID  riid,
void **  object 
)
static

Definition at line 733 of file texture.c.

734{
736
737 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
738
739 return d3d11_texture2d_QueryInterface(&texture->ID3D11Texture2D_iface, riid, object);
740}
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_QueryInterface(ID3D11Texture2D *iface, REFIID riid, void **object)
Definition: texture.c:514
REFIID riid
Definition: atlbase.h:39

◆ d3d10_texture2d_Release()

static ULONG STDMETHODCALLTYPE d3d10_texture2d_Release ( ID3D10Texture2D *  iface)
static

Definition at line 759 of file texture.c.

760{
762
763 TRACE("iface %p.\n", iface);
764
765 return d3d11_texture2d_Release(&texture->ID3D11Texture2D_iface);
766}
static ULONG STDMETHODCALLTYPE d3d11_texture2d_Release(ID3D11Texture2D *iface)
Definition: texture.c:568

◆ d3d10_texture2d_SetEvictionPriority()

static void STDMETHODCALLTYPE d3d10_texture2d_SetEvictionPriority ( ID3D10Texture2D *  iface,
UINT  eviction_priority 
)
static

Definition at line 819 of file texture.c.

820{
821 FIXME("iface %p, eviction_priority %u stub!\n", iface, eviction_priority);
822}

◆ d3d10_texture2d_SetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d10_texture2d_SetPrivateData ( ID3D10Texture2D *  iface,
REFGUID  guid,
UINT  data_size,
const void *  data 
)
static

Definition at line 789 of file texture.c.

791{
793
794 TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
795
796 return d3d11_texture2d_SetPrivateData(&texture->ID3D11Texture2D_iface, guid, data_size, data);
797}
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_SetPrivateData(ID3D11Texture2D *iface, REFGUID guid, UINT data_size, const void *data)
Definition: texture.c:619

◆ d3d10_texture2d_SetPrivateDataInterface()

static HRESULT STDMETHODCALLTYPE d3d10_texture2d_SetPrivateDataInterface ( ID3D10Texture2D *  iface,
REFGUID  guid,
const IUnknown *  data 
)
static

Definition at line 799 of file texture.c.

801{
803
804 TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
805
806 return d3d11_texture2d_SetPrivateDataInterface(&texture->ID3D11Texture2D_iface, guid, data);
807}
static HRESULT STDMETHODCALLTYPE d3d11_texture2d_SetPrivateDataInterface(ID3D11Texture2D *iface, REFGUID guid, const IUnknown *data)
Definition: texture.c:637

◆ d3d10_texture2d_Unmap()

static void STDMETHODCALLTYPE d3d10_texture2d_Unmap ( ID3D10Texture2D *  iface,
UINT  sub_resource_idx 
)
static

Definition at line 856 of file texture.c.

857{
859
860 TRACE("iface %p, sub_resource_idx %u.\n", iface, sub_resource_idx);
861
862 wined3d_resource_unmap(wined3d_texture_get_resource(texture->wined3d_texture), sub_resource_idx);
863}

◆ d3d10_texture3d_AddRef()

static ULONG STDMETHODCALLTYPE d3d10_texture3d_AddRef ( ID3D10Texture3D *  iface)
static

Definition at line 1273 of file texture.c.

1274{
1276
1277 TRACE("iface %p.\n", iface);
1278
1279 return d3d11_texture3d_AddRef(&texture->ID3D11Texture3D_iface);
1280}
static ULONG STDMETHODCALLTYPE d3d11_texture3d_AddRef(ID3D11Texture3D *iface)
Definition: texture.c:1100
static struct d3d_texture3d * impl_from_ID3D10Texture3D(ID3D10Texture3D *iface)
Definition: texture.c:1259

◆ d3d10_texture3d_GetDesc()

static void STDMETHODCALLTYPE d3d10_texture3d_GetDesc ( ID3D10Texture3D *  iface,
D3D10_TEXTURE3D_DESC *  desc 
)
static

Definition at line 1383 of file texture.c.

1384{
1386 D3D11_TEXTURE3D_DESC d3d11_desc;
1387
1388 TRACE("iface %p, desc %p.\n", iface, desc);
1389
1390 d3d11_texture3d_GetDesc(&texture->ID3D11Texture3D_iface, &d3d11_desc);
1391
1392 desc->Width = d3d11_desc.Width;
1393 desc->Height = d3d11_desc.Height;
1394 desc->Depth = d3d11_desc.Depth;
1395 desc->MipLevels = d3d11_desc.MipLevels;
1396 desc->Format = d3d11_desc.Format;
1397 desc->Usage = d3d10_usage_from_d3d11_usage(d3d11_desc.Usage);
1398 desc->BindFlags = d3d10_bind_flags_from_d3d11_bind_flags(d3d11_desc.BindFlags);
1399 desc->CPUAccessFlags = d3d10_cpu_access_flags_from_d3d11_cpu_access_flags(d3d11_desc.CPUAccessFlags);
1400 desc->MiscFlags = d3d10_resource_misc_flags_from_d3d11_resource_misc_flags(d3d11_desc.MiscFlags);
1401}
static void STDMETHODCALLTYPE d3d11_texture3d_GetDesc(ID3D11Texture3D *iface, D3D11_TEXTURE3D_DESC *desc)
Definition: texture.c:1229

◆ d3d10_texture3d_GetDevice()

static void STDMETHODCALLTYPE d3d10_texture3d_GetDevice ( ID3D10Texture3D *  iface,
ID3D10Device **  device 
)
static

Definition at line 1291 of file texture.c.

1292{
1294
1295 TRACE("iface %p, device %p.\n", iface, device);
1296
1297 ID3D11Device2_QueryInterface(texture->device, &IID_ID3D10Device, (void **)device);
1298}

◆ d3d10_texture3d_GetEvictionPriority()

static UINT STDMETHODCALLTYPE d3d10_texture3d_GetEvictionPriority ( ID3D10Texture3D *  iface)
static

Definition at line 1343 of file texture.c.

1344{
1345 FIXME("iface %p stub!\n", iface);
1346
1347 return 0;
1348}

◆ d3d10_texture3d_GetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d10_texture3d_GetPrivateData ( ID3D10Texture3D *  iface,
REFGUID  guid,
UINT *  data_size,
void *  data 
)
static

Definition at line 1300 of file texture.c.

1302{
1304
1305 TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
1306
1307 return d3d11_texture3d_GetPrivateData(&texture->ID3D11Texture3D_iface, guid, data_size, data);
1308}
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_GetPrivateData(ID3D11Texture3D *iface, REFGUID guid, UINT *data_size, void *data)
Definition: texture.c:1155

◆ d3d10_texture3d_GetType()

static void STDMETHODCALLTYPE d3d10_texture3d_GetType ( ID3D10Texture3D *  iface,
D3D10_RESOURCE_DIMENSION *  resource_dimension 
)
static

Definition at line 1330 of file texture.c.

1332{
1333 TRACE("iface %p, resource_dimension %p.\n", iface, resource_dimension);
1334
1335 *resource_dimension = D3D10_RESOURCE_DIMENSION_TEXTURE3D;
1336}
@ D3D10_RESOURCE_DIMENSION_TEXTURE3D
Definition: d3d10.idl:457

◆ d3d10_texture3d_Map()

static HRESULT STDMETHODCALLTYPE d3d10_texture3d_Map ( ID3D10Texture3D *  iface,
UINT  sub_resource_idx,
D3D10_MAP  map_type,
UINT  map_flags,
D3D10_MAPPED_TEXTURE3D *  mapped_texture 
)
static

Definition at line 1350 of file texture.c.

1352{
1355 HRESULT hr;
1356
1357 TRACE("iface %p, sub_resource_idx %u, map_type %u, map_flags %#x, mapped_texture %p.\n",
1358 iface, sub_resource_idx, map_type, map_flags, mapped_texture);
1359
1360 if (map_flags)
1361 FIXME("Ignoring map_flags %#x.\n", map_flags);
1362
1363 if (SUCCEEDED(hr = wined3d_resource_map(wined3d_texture_get_resource(texture->wined3d_texture), sub_resource_idx,
1365 {
1366 mapped_texture->pData = wined3d_map_desc.data;
1367 mapped_texture->RowPitch = wined3d_map_desc.row_pitch;
1368 mapped_texture->DepthPitch = wined3d_map_desc.slice_pitch;
1369 }
1370
1371 return hr;
1372}

◆ d3d10_texture3d_QueryInterface()

static HRESULT STDMETHODCALLTYPE d3d10_texture3d_QueryInterface ( ID3D10Texture3D *  iface,
REFIID  riid,
void **  object 
)
static

Definition at line 1264 of file texture.c.

1265{
1267
1268 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
1269
1270 return d3d11_texture3d_QueryInterface(&texture->ID3D11Texture3D_iface, riid, object);
1271}
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_QueryInterface(ID3D11Texture3D *iface, REFIID riid, void **object)
Definition: texture.c:1064

◆ d3d10_texture3d_Release()

static ULONG STDMETHODCALLTYPE d3d10_texture3d_Release ( ID3D10Texture3D *  iface)
static

Definition at line 1282 of file texture.c.

1283{
1285
1286 TRACE("iface %p.\n", iface);
1287
1288 return d3d11_texture3d_Release(&texture->ID3D11Texture3D_iface);
1289}
static ULONG STDMETHODCALLTYPE d3d11_texture3d_Release(ID3D11Texture3D *iface)
Definition: texture.c:1125

◆ d3d10_texture3d_SetEvictionPriority()

static void STDMETHODCALLTYPE d3d10_texture3d_SetEvictionPriority ( ID3D10Texture3D *  iface,
UINT  eviction_priority 
)
static

Definition at line 1338 of file texture.c.

1339{
1340 FIXME("iface %p, eviction_priority %u stub!\n", iface, eviction_priority);
1341}

◆ d3d10_texture3d_SetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d10_texture3d_SetPrivateData ( ID3D10Texture3D *  iface,
REFGUID  guid,
UINT  data_size,
const void *  data 
)
static

Definition at line 1310 of file texture.c.

1312{
1314
1315 TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
1316
1317 return d3d11_texture3d_SetPrivateData(&texture->ID3D11Texture3D_iface, guid, data_size, data);
1318}
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_SetPrivateData(ID3D11Texture3D *iface, REFGUID guid, UINT data_size, const void *data)
Definition: texture.c:1173

◆ d3d10_texture3d_SetPrivateDataInterface()

static HRESULT STDMETHODCALLTYPE d3d10_texture3d_SetPrivateDataInterface ( ID3D10Texture3D *  iface,
REFGUID  guid,
const IUnknown *  data 
)
static

Definition at line 1320 of file texture.c.

1322{
1324
1325 TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
1326
1327 return d3d11_texture3d_SetPrivateDataInterface(&texture->ID3D11Texture3D_iface, guid, data);
1328}
static HRESULT STDMETHODCALLTYPE d3d11_texture3d_SetPrivateDataInterface(ID3D11Texture3D *iface, REFGUID guid, const IUnknown *data)
Definition: texture.c:1191

◆ d3d10_texture3d_Unmap()

static void STDMETHODCALLTYPE d3d10_texture3d_Unmap ( ID3D10Texture3D *  iface,
UINT  sub_resource_idx 
)
static

Definition at line 1374 of file texture.c.

1375{
1377
1378 TRACE("iface %p, sub_resource_idx %u.\n", iface, sub_resource_idx);
1379
1380 wined3d_resource_unmap(wined3d_texture_get_resource(texture->wined3d_texture), sub_resource_idx);
1381}

◆ d3d11_texture1d_AddRef()

static ULONG STDMETHODCALLTYPE d3d11_texture1d_AddRef ( ID3D11Texture1D *  iface)
static

Definition at line 69 of file texture.c.

70{
73
74 TRACE("%p increasing refcount to %lu.\n", texture, refcount);
75
76 if (refcount == 1)
77 {
78 ID3D11Device2_AddRef(texture->device);
79 wined3d_texture_incref(texture->wined3d_texture);
80 }
81
82 return refcount;
83}
#define InterlockedIncrement
Definition: armddk.h:53
static struct d3d_texture1d * impl_from_ID3D11Texture1D(ID3D11Texture1D *iface)
Definition: texture.c:27
ULONG CDECL wined3d_texture_incref(struct wined3d_texture *texture)
Definition: texture.c:1516
uint32_t ULONG
Definition: typedefs.h:59

Referenced by d3d10_texture1d_AddRef().

◆ d3d11_texture1d_GetDesc()

static void STDMETHODCALLTYPE d3d11_texture1d_GetDesc ( ID3D11Texture1D *  iface,
D3D11_TEXTURE1D_DESC *  desc 
)
static

Definition at line 188 of file texture.c.

189{
191
192 TRACE("iface %p, desc %p.\n", iface, desc);
193
194 *desc = texture->desc;
195}

Referenced by d3d10_texture1d_GetDesc().

◆ d3d11_texture1d_GetDevice()

static void STDMETHODCALLTYPE d3d11_texture1d_GetDevice ( ID3D11Texture1D *  iface,
ID3D11Device **  device 
)
static

Definition at line 104 of file texture.c.

105{
107
108 TRACE("iface %p, device %p.\n", iface, device);
109
110 *device = (ID3D11Device *)texture->device;
111 ID3D11Device_AddRef(*device);
112}

◆ d3d11_texture1d_GetEvictionPriority()

static UINT STDMETHODCALLTYPE d3d11_texture1d_GetEvictionPriority ( ID3D11Texture1D *  iface)
static

Definition at line 181 of file texture.c.

182{
183 FIXME("iface %p stub!\n", iface);
184
185 return 0;
186}

◆ d3d11_texture1d_GetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d11_texture1d_GetPrivateData ( ID3D11Texture1D *  iface,
REFGUID  guid,
UINT *  data_size,
void *  data 
)
static

Definition at line 114 of file texture.c.

116{
119 HRESULT hr;
120
121 TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
122
123 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
124 {
125 hr = IDXGIResource_GetPrivateData(dxgi_resource, guid, data_size, data);
126 IDXGIResource_Release(dxgi_resource);
127 }
128
129 return hr;
130}
IUnknown * dxgi_resource

Referenced by d3d10_texture1d_GetPrivateData().

◆ d3d11_texture1d_GetType()

static void STDMETHODCALLTYPE d3d11_texture1d_GetType ( ID3D11Texture1D *  iface,
D3D11_RESOURCE_DIMENSION *  resource_dimension 
)
static

Definition at line 168 of file texture.c.

170{
171 TRACE("iface %p, resource_dimension %p.\n", iface, resource_dimension);
172
173 *resource_dimension = D3D11_RESOURCE_DIMENSION_TEXTURE1D;
174}

◆ d3d11_texture1d_QueryInterface()

static HRESULT STDMETHODCALLTYPE d3d11_texture1d_QueryInterface ( ID3D11Texture1D *  iface,
REFIID  iid,
void **  out 
)
static

Definition at line 32 of file texture.c.

33{
35 HRESULT hr;
36
37 TRACE("iface %p, iid %s, out %p.\n", iface, debugstr_guid(iid), out);
38
39 if (IsEqualGUID(iid, &IID_ID3D11Texture1D)
40 || IsEqualGUID(iid, &IID_ID3D11Resource)
41 || IsEqualGUID(iid, &IID_ID3D11DeviceChild)
42 || IsEqualGUID(iid, &IID_IUnknown))
43 {
44 *out = iface;
45 IUnknown_AddRef(iface);
46 return S_OK;
47 }
48
49 if (IsEqualGUID(iid, &IID_ID3D10Texture1D)
50 || IsEqualGUID(iid, &IID_ID3D10Resource)
51 || IsEqualGUID(iid, &IID_ID3D10DeviceChild))
52 {
53 *out = &texture->ID3D10Texture1D_iface;
54 IUnknown_AddRef((IUnknown *)*out);
55 return S_OK;
56 }
57
58 TRACE("Forwarding to dxgi resource.\n");
59
60 if (FAILED(hr = IUnknown_QueryInterface(texture->dxgi_resource, iid, out)))
61 {
62 WARN("%s not implemented, returning %#lx.\n", debugstr_guid(iid), hr);
63 *out = NULL;
64 }
65
66 return hr;
67}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:52
#define FAILED(hr)
Definition: intsafe.h:51
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147

Referenced by d3d10_texture1d_QueryInterface().

◆ d3d11_texture1d_Release()

static ULONG STDMETHODCALLTYPE d3d11_texture1d_Release ( ID3D11Texture1D *  iface)
static

Definition at line 85 of file texture.c.

86{
89
90 TRACE("%p decreasing refcount to %lu.\n", texture, refcount);
91
92 if (!refcount)
93 {
94 ID3D11Device2 *device = texture->device;
95 wined3d_texture_decref(texture->wined3d_texture);
96 /* Release the device last, it may cause the wined3d device to be
97 * destroyed. */
98 ID3D11Device2_Release(device);
99 }
100
101 return refcount;
102}
#define InterlockedDecrement
Definition: armddk.h:52
ULONG CDECL wined3d_texture_decref(struct wined3d_texture *texture)
Definition: texture.c:1606

Referenced by d3d10_texture1d_Release().

◆ d3d11_texture1d_SetEvictionPriority()

static void STDMETHODCALLTYPE d3d11_texture1d_SetEvictionPriority ( ID3D11Texture1D *  iface,
UINT  eviction_priority 
)
static

Definition at line 176 of file texture.c.

177{
178 FIXME("iface %p, eviction_priority %#x stub!\n", iface, eviction_priority);
179}

◆ d3d11_texture1d_SetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d11_texture1d_SetPrivateData ( ID3D11Texture1D *  iface,
REFGUID  guid,
UINT  data_size,
const void *  data 
)
static

Definition at line 132 of file texture.c.

134{
137 HRESULT hr;
138
139 TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
140
141 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
142 {
143 hr = IDXGIResource_SetPrivateData(dxgi_resource, guid, data_size, data);
144 IDXGIResource_Release(dxgi_resource);
145 }
146
147 return hr;
148}

Referenced by d3d10_texture1d_SetPrivateData().

◆ d3d11_texture1d_SetPrivateDataInterface()

static HRESULT STDMETHODCALLTYPE d3d11_texture1d_SetPrivateDataInterface ( ID3D11Texture1D *  iface,
REFGUID  guid,
const IUnknown *  data 
)
static

Definition at line 150 of file texture.c.

152{
155 HRESULT hr;
156
157 TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
158
159 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
160 {
161 hr = IDXGIResource_SetPrivateDataInterface(dxgi_resource, guid, data);
162 IDXGIResource_Release(dxgi_resource);
163 }
164
165 return hr;
166}

Referenced by d3d10_texture1d_SetPrivateDataInterface().

◆ d3d11_texture2d_AddRef()

static ULONG STDMETHODCALLTYPE d3d11_texture2d_AddRef ( ID3D11Texture2D *  iface)
static

Definition at line 550 of file texture.c.

551{
554
555 TRACE("%p increasing refcount to %lu.\n", texture, refcount);
556
557 if (refcount == 1)
558 {
559 ID3D11Device2_AddRef(texture->device);
560 wined3d_texture_incref(texture->wined3d_texture);
561 if (texture->swapchain)
563 }
564
565 return refcount;
566}
static struct d3d_texture2d * impl_from_ID3D11Texture2D(ID3D11Texture2D *iface)
ULONG CDECL wined3d_swapchain_incref(struct wined3d_swapchain *swapchain)
Definition: swapchain.c:135

Referenced by d3d10_texture2d_AddRef().

◆ d3d11_texture2d_GetDesc()

static void STDMETHODCALLTYPE d3d11_texture2d_GetDesc ( ID3D11Texture2D *  iface,
D3D11_TEXTURE2D_DESC *  desc 
)
static

Definition at line 675 of file texture.c.

676{
678 struct wined3d_resource_desc wined3d_desc;
679
680 TRACE("iface %p, desc %p.\n", iface, desc);
681
682 *desc = texture->desc;
683
685 wined3d_resource_get_desc(wined3d_texture_get_resource(texture->wined3d_texture), &wined3d_desc);
687
688 /* FIXME: Resizing swapchain buffers can cause these to change. We'd like
689 * to get everything from wined3d, but e.g. bind flags don't exist as such
690 * there (yet). */
691 desc->Width = wined3d_desc.width;
692 desc->Height = wined3d_desc.height;
693 desc->Format = dxgi_format_from_wined3dformat(wined3d_desc.format);
694 desc->SampleDesc.Count = wined3d_desc.multisample_type == WINED3D_MULTISAMPLE_NONE
695 ? 1 : wined3d_desc.multisample_type;
696 desc->SampleDesc.Quality = wined3d_desc.multisample_quality;
697}
DXGI_FORMAT dxgi_format_from_wined3dformat(enum wined3d_format_id format)
Definition: utils.c:210
void CDECL wined3d_resource_get_desc(const struct wined3d_resource *resource, struct wined3d_resource_desc *desc)
Definition: resource.c:280
@ WINED3D_MULTISAMPLE_NONE
Definition: wined3d.h:573
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:544
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:539

Referenced by d3d10_texture2d_GetDesc().

◆ d3d11_texture2d_GetDevice()

static void STDMETHODCALLTYPE d3d11_texture2d_GetDevice ( ID3D11Texture2D *  iface,
ID3D11Device **  device 
)
static

Definition at line 591 of file texture.c.

592{
594
595 TRACE("iface %p, device %p.\n", iface, device);
596
597 *device = (ID3D11Device *)texture->device;
598 ID3D11Device_AddRef(*device);
599}

◆ d3d11_texture2d_GetEvictionPriority()

static UINT STDMETHODCALLTYPE d3d11_texture2d_GetEvictionPriority ( ID3D11Texture2D *  iface)
static

Definition at line 668 of file texture.c.

669{
670 FIXME("iface %p stub!\n", iface);
671
672 return 0;
673}

◆ d3d11_texture2d_GetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d11_texture2d_GetPrivateData ( ID3D11Texture2D *  iface,
REFGUID  guid,
UINT *  data_size,
void *  data 
)
static

Definition at line 601 of file texture.c.

603{
606 HRESULT hr;
607
608 TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
609
610 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
611 {
612 hr = IDXGIResource_GetPrivateData(dxgi_resource, guid, data_size, data);
613 IDXGIResource_Release(dxgi_resource);
614 }
615
616 return hr;
617}
IUnknown * dxgi_resource

Referenced by d3d10_texture2d_GetPrivateData().

◆ d3d11_texture2d_GetType()

static void STDMETHODCALLTYPE d3d11_texture2d_GetType ( ID3D11Texture2D *  iface,
D3D11_RESOURCE_DIMENSION *  resource_dimension 
)
static

Definition at line 655 of file texture.c.

657{
658 TRACE("iface %p, resource_dimension %p.\n", iface, resource_dimension);
659
660 *resource_dimension = D3D11_RESOURCE_DIMENSION_TEXTURE2D;
661}

◆ d3d11_texture2d_QueryInterface()

static HRESULT STDMETHODCALLTYPE d3d11_texture2d_QueryInterface ( ID3D11Texture2D *  iface,
REFIID  riid,
void **  object 
)
static

Definition at line 514 of file texture.c.

515{
517 HRESULT hr;
518
519 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
520
521 if (IsEqualGUID(riid, &IID_ID3D11Texture2D)
522 || IsEqualGUID(riid, &IID_ID3D11Resource)
523 || IsEqualGUID(riid, &IID_ID3D11DeviceChild)
525 {
526 *object = &texture->ID3D11Texture2D_iface;
527 IUnknown_AddRef((IUnknown *)*object);
528 return S_OK;
529 }
530 else if (IsEqualGUID(riid, &IID_ID3D10Texture2D)
531 || IsEqualGUID(riid, &IID_ID3D10Resource)
532 || IsEqualGUID(riid, &IID_ID3D10DeviceChild))
533 {
534 *object = &texture->ID3D10Texture2D_iface;
535 IUnknown_AddRef((IUnknown *)*object);
536 return S_OK;
537 }
538
539 TRACE("Forwarding to dxgi resource.\n");
540
541 if (FAILED(hr = IUnknown_QueryInterface(texture->dxgi_resource, riid, object)))
542 {
543 WARN("%s not implemented, returning %#lx.\n", debugstr_guid(riid), hr);
544 *object = NULL;
545 }
546
547 return hr;
548}

Referenced by d3d10_texture2d_QueryInterface().

◆ d3d11_texture2d_Release()

static ULONG STDMETHODCALLTYPE d3d11_texture2d_Release ( ID3D11Texture2D *  iface)
static

Definition at line 568 of file texture.c.

569{
572
573 TRACE("%p decreasing refcount to %lu.\n", texture, refcount);
574
575 if (!refcount)
576 {
577 ID3D11Device2 *device = texture->device;
578 if (texture->swapchain)
580 /* Releasing the texture may free the d3d11 object, so do not access it
581 * after releasing the texture. */
582 wined3d_texture_decref(texture->wined3d_texture);
583 /* Release the device last, it may cause the wined3d device to be
584 * destroyed. */
585 ID3D11Device2_Release(device);
586 }
587
588 return refcount;
589}
ULONG CDECL wined3d_swapchain_decref(struct wined3d_swapchain *swapchain)
Definition: swapchain.c:144

Referenced by d3d10_texture2d_Release().

◆ d3d11_texture2d_SetEvictionPriority()

static void STDMETHODCALLTYPE d3d11_texture2d_SetEvictionPriority ( ID3D11Texture2D *  iface,
UINT  eviction_priority 
)
static

Definition at line 663 of file texture.c.

664{
665 FIXME("iface %p, eviction_priority %#x stub!\n", iface, eviction_priority);
666}

◆ d3d11_texture2d_SetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d11_texture2d_SetPrivateData ( ID3D11Texture2D *  iface,
REFGUID  guid,
UINT  data_size,
const void *  data 
)
static

Definition at line 619 of file texture.c.

621{
624 HRESULT hr;
625
626 TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
627
628 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
629 {
630 hr = IDXGIResource_SetPrivateData(dxgi_resource, guid, data_size, data);
631 IDXGIResource_Release(dxgi_resource);
632 }
633
634 return hr;
635}

Referenced by d3d10_texture2d_SetPrivateData().

◆ d3d11_texture2d_SetPrivateDataInterface()

static HRESULT STDMETHODCALLTYPE d3d11_texture2d_SetPrivateDataInterface ( ID3D11Texture2D *  iface,
REFGUID  guid,
const IUnknown *  data 
)
static

Definition at line 637 of file texture.c.

639{
642 HRESULT hr;
643
644 TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
645
646 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
647 {
648 hr = IDXGIResource_SetPrivateDataInterface(dxgi_resource, guid, data);
649 IDXGIResource_Release(dxgi_resource);
650 }
651
652 return hr;
653}

Referenced by d3d10_texture2d_SetPrivateDataInterface().

◆ d3d11_texture3d_AddRef()

static ULONG STDMETHODCALLTYPE d3d11_texture3d_AddRef ( ID3D11Texture3D *  iface)
static

Definition at line 1100 of file texture.c.

1101{
1104
1105 TRACE("%p increasing refcount to %lu.\n", texture, refcount);
1106
1107 if (refcount == 1)
1108 {
1109 ID3D11Device2_AddRef(texture->device);
1110 wined3d_texture_incref(texture->wined3d_texture);
1111 }
1112
1113 return refcount;
1114}
static struct d3d_texture3d * impl_from_ID3D11Texture3D(ID3D11Texture3D *iface)
Definition: texture.c:1059

Referenced by d3d10_texture3d_AddRef().

◆ d3d11_texture3d_GetDesc()

static void STDMETHODCALLTYPE d3d11_texture3d_GetDesc ( ID3D11Texture3D *  iface,
D3D11_TEXTURE3D_DESC *  desc 
)
static

Definition at line 1229 of file texture.c.

1230{
1232
1233 TRACE("iface %p, desc %p.\n", iface, desc);
1234
1235 *desc = texture->desc;
1236}

Referenced by d3d10_texture3d_GetDesc().

◆ d3d11_texture3d_GetDevice()

static void STDMETHODCALLTYPE d3d11_texture3d_GetDevice ( ID3D11Texture3D *  iface,
ID3D11Device **  device 
)
static

Definition at line 1145 of file texture.c.

1146{
1148
1149 TRACE("iface %p, device %p.\n", iface, device);
1150
1151 *device = (ID3D11Device *)texture->device;
1152 ID3D11Device_AddRef(*device);
1153}

◆ d3d11_texture3d_GetEvictionPriority()

static UINT STDMETHODCALLTYPE d3d11_texture3d_GetEvictionPriority ( ID3D11Texture3D *  iface)
static

Definition at line 1222 of file texture.c.

1223{
1224 FIXME("iface %p stub!\n", iface);
1225
1226 return 0;
1227}

◆ d3d11_texture3d_GetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d11_texture3d_GetPrivateData ( ID3D11Texture3D *  iface,
REFGUID  guid,
UINT *  data_size,
void *  data 
)
static

Definition at line 1155 of file texture.c.

1157{
1160 HRESULT hr;
1161
1162 TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data);
1163
1164 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
1165 {
1166 hr = IDXGIResource_GetPrivateData(dxgi_resource, guid, data_size, data);
1167 IDXGIResource_Release(dxgi_resource);
1168 }
1169
1170 return hr;
1171}
IUnknown * dxgi_resource

Referenced by d3d10_texture3d_GetPrivateData().

◆ d3d11_texture3d_GetType()

static void STDMETHODCALLTYPE d3d11_texture3d_GetType ( ID3D11Texture3D *  iface,
D3D11_RESOURCE_DIMENSION *  resource_dimension 
)
static

Definition at line 1209 of file texture.c.

1211{
1212 TRACE("iface %p, resource_dimension %p.\n", iface, resource_dimension);
1213
1214 *resource_dimension = D3D11_RESOURCE_DIMENSION_TEXTURE3D;
1215}

◆ d3d11_texture3d_QueryInterface()

static HRESULT STDMETHODCALLTYPE d3d11_texture3d_QueryInterface ( ID3D11Texture3D *  iface,
REFIID  riid,
void **  object 
)
static

Definition at line 1064 of file texture.c.

1065{
1067 HRESULT hr;
1068
1069 TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object);
1070
1071 if (IsEqualGUID(riid, &IID_ID3D11Texture3D)
1072 || IsEqualGUID(riid, &IID_ID3D11Resource)
1073 || IsEqualGUID(riid, &IID_ID3D11DeviceChild)
1075 {
1076 IUnknown_AddRef(iface);
1077 *object = iface;
1078 return S_OK;
1079 }
1080 else if (IsEqualGUID(riid, &IID_ID3D10Texture3D)
1081 || IsEqualGUID(riid, &IID_ID3D10Resource)
1082 || IsEqualGUID(riid, &IID_ID3D10DeviceChild))
1083 {
1084 IUnknown_AddRef(iface);
1085 *object = &texture->ID3D10Texture3D_iface;
1086 return S_OK;
1087 }
1088
1089 TRACE("Forwarding to dxgi resource.\n");
1090
1091 if (FAILED(hr = IUnknown_QueryInterface(texture->dxgi_resource, riid, object)))
1092 {
1093 WARN("%s not implemented, returning %#lx.\n", debugstr_guid(riid), hr);
1094 *object = NULL;
1095 }
1096
1097 return hr;
1098}

Referenced by d3d10_texture3d_QueryInterface().

◆ d3d11_texture3d_Release()

static ULONG STDMETHODCALLTYPE d3d11_texture3d_Release ( ID3D11Texture3D *  iface)
static

Definition at line 1125 of file texture.c.

1126{
1129
1130 TRACE("%p decreasing refcount to %lu.\n", texture, refcount);
1131
1132 if (!refcount)
1133 {
1134 ID3D11Device2 *device = texture->device;
1135
1136 wined3d_texture_decref(texture->wined3d_texture);
1137 /* Release the device last, it may cause the wined3d device to be
1138 * destroyed. */
1139 ID3D11Device2_Release(device);
1140 }
1141
1142 return refcount;
1143}

Referenced by d3d10_texture3d_Release().

◆ d3d11_texture3d_SetEvictionPriority()

static void STDMETHODCALLTYPE d3d11_texture3d_SetEvictionPriority ( ID3D11Texture3D *  iface,
UINT  eviction_priority 
)
static

Definition at line 1217 of file texture.c.

1218{
1219 FIXME("iface %p, eviction_priority %#x stub!\n", iface, eviction_priority);
1220}

◆ d3d11_texture3d_SetPrivateData()

static HRESULT STDMETHODCALLTYPE d3d11_texture3d_SetPrivateData ( ID3D11Texture3D *  iface,
REFGUID  guid,
UINT  data_size,
const void *  data 
)
static

Definition at line 1173 of file texture.c.

1175{
1178 HRESULT hr;
1179
1180 TRACE("iface %p, guid %s, data_size %u, data %p.\n", iface, debugstr_guid(guid), data_size, data);
1181
1182 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
1183 {
1184 hr = IDXGIResource_SetPrivateData(dxgi_resource, guid, data_size, data);
1185 IDXGIResource_Release(dxgi_resource);
1186 }
1187
1188 return hr;
1189}

Referenced by d3d10_texture3d_SetPrivateData().

◆ d3d11_texture3d_SetPrivateDataInterface()

static HRESULT STDMETHODCALLTYPE d3d11_texture3d_SetPrivateDataInterface ( ID3D11Texture3D *  iface,
REFGUID  guid,
const IUnknown *  data 
)
static

Definition at line 1191 of file texture.c.

1193{
1196 HRESULT hr;
1197
1198 TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data);
1199
1200 if (SUCCEEDED(hr = IUnknown_QueryInterface(texture->dxgi_resource, &IID_IDXGIResource, (void **)&dxgi_resource)))
1201 {
1202 hr = IDXGIResource_SetPrivateDataInterface(dxgi_resource, guid, data);
1203 IDXGIResource_Release(dxgi_resource);
1204 }
1205
1206 return hr;
1207}

Referenced by d3d10_texture3d_SetPrivateDataInterface().

◆ d3d_device_create_dxgi_resource()

HRESULT d3d_device_create_dxgi_resource ( IUnknown *  device,
struct wined3d_resource *  wined3d_resource,
IUnknown *  outer,
BOOL  needs_surface,
IUnknown **  dxgi_resource 
)

Definition at line 416 of file texture.c.

418{
419 IWineDXGIDevice *wine_device;
420 HRESULT hr;
421
422 if (FAILED(hr = IUnknown_QueryInterface(device, &IID_IWineDXGIDevice, (void **)&wine_device)))
423 {
424 ERR("Device should implement IWineDXGIDevice.\n");
425 return E_FAIL;
426 }
427
428 hr = IWineDXGIDevice_create_resource(wine_device, wined3d_resource, 0, NULL, outer,
429 needs_surface, (void **)dxgi_resource);
430 IWineDXGIDevice_Release(wine_device);
431 if (FAILED(hr))
432 {
433 ERR("Failed to create DXGI resource, returning %#.lx\n", hr);
435 }
436
437 return hr;
438}
#define ERR(fmt,...)
Definition: precomp.h:57
#define E_FAIL
Definition: ddrawi.h:102
static IUnknown * outer
Definition: compobj.c:82

Referenced by d3d_buffer_init(), d3d_texture1d_create(), d3d_texture2d_create(), and d3d_texture3d_init().

◆ d3d_texture1d_create()

HRESULT d3d_texture1d_create ( struct d3d_device *  device,
const D3D11_TEXTURE1D_DESC *  desc,
const D3D11_SUBRESOURCE_DATA *  data,
struct d3d_texture1d **  out 
)

Definition at line 440 of file texture.c.

442{
443 struct wined3d_resource_desc wined3d_desc;
444 struct d3d_texture1d *texture;
445 unsigned int levels;
446 BOOL needs_surface;
447 DWORD flags = 0;
448 HRESULT hr;
449
450 if (!(texture = calloc(1, sizeof(*texture))))
451 return E_OUTOFMEMORY;
452
453 texture->ID3D11Texture1D_iface.lpVtbl = &d3d11_texture1d_vtbl;
454 texture->ID3D10Texture1D_iface.lpVtbl = &d3d10_texture1d_vtbl;
455 texture->refcount = 1;
456 texture->desc = *desc;
457 levels = desc->MipLevels ? desc->MipLevels : wined3d_log2i(desc->Width) + 1;
458 texture->desc.MipLevels = levels;
459
460 wined3d_desc.resource_type = WINED3D_RTYPE_TEXTURE_1D;
461 wined3d_desc.format = wined3dformat_from_dxgi_format(desc->Format);
462 wined3d_desc.multisample_type = WINED3D_MULTISAMPLE_NONE;
463 wined3d_desc.multisample_quality = 0;
464 wined3d_desc.usage = wined3d_usage_from_d3d11(desc->Usage);
465 wined3d_desc.bind_flags = wined3d_bind_flags_from_d3d11(desc->BindFlags, desc->MiscFlags);
466 wined3d_desc.access = wined3d_access_from_d3d11(desc->Usage,
467 desc->Usage == D3D11_USAGE_DEFAULT ? 0 : desc->CPUAccessFlags);
468 wined3d_desc.width = desc->Width;
469 wined3d_desc.height = 1;
470 wined3d_desc.depth = 1;
471 wined3d_desc.size = 0;
472
477
479 if (FAILED(hr = wined3d_texture_create(device->wined3d_device, &wined3d_desc,
480 desc->ArraySize, levels, flags, (struct wined3d_sub_resource_data *)data,
481 texture, &d3d_texture1d_wined3d_parent_ops, &texture->wined3d_texture)))
482 {
483 WARN("Failed to create wined3d texture, hr %#lx.\n", hr);
484 free(texture);
488 return hr;
489 }
490
491 needs_surface = desc->MipLevels == 1 && desc->ArraySize == 1;
492 hr = d3d_device_create_dxgi_resource((IUnknown *)&device->ID3D10Device1_iface,
493 wined3d_texture_get_resource(texture->wined3d_texture), (IUnknown *)&texture->ID3D10Texture1D_iface,
494 needs_surface, &texture->dxgi_resource);
495 if (FAILED(hr))
496 {
497 ERR("Failed to create DXGI resource, returning %#.lx\n", hr);
498 wined3d_texture_decref(texture->wined3d_texture);
500 return hr;
501 }
503
504 ID3D11Device2_AddRef(texture->device = &device->ID3D11Device2_iface);
505
506 TRACE("Created texture %p.\n", texture);
507 *out = texture;
508
509 return S_OK;
510}
@ D3D11_RESOURCE_MISC_GENERATE_MIPS
Definition: d3d11.idl:1034
@ D3D11_RESOURCE_MISC_GDI_COMPATIBLE
Definition: d3d11.idl:1042
enum wined3d_format_id wined3dformat_from_dxgi_format(DXGI_FORMAT format)
Definition: utils.c:323
static unsigned int wined3d_bind_flags_from_d3d11(UINT bind_flags, UINT misc_flags)
Definition: d3d11_private.h:85
DWORD wined3d_usage_from_d3d11(enum D3D11_USAGE usage)
Definition: utils.c:447
unsigned int wined3d_access_from_d3d11(D3D11_USAGE usage, UINT cpu_access)
Definition: utils.c:788
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define free
Definition: debug_ros.c:5
static const struct ID3D10Texture1DVtbl d3d10_texture1d_vtbl
Definition: texture.c:382
static const struct wined3d_parent_ops d3d_texture1d_wined3d_parent_ops
Definition: texture.c:411
static const struct ID3D11Texture1DVtbl d3d11_texture1d_vtbl
Definition: texture.c:197
HRESULT d3d_device_create_dxgi_resource(IUnknown *device, struct wined3d_resource *wined3d_resource, IUnknown *outer, BOOL needs_surface, IUnknown **dxgi_resource)
Definition: texture.c:416
HRESULT CDECL wined3d_texture_create(struct wined3d_device *device, const struct wined3d_resource_desc *desc, UINT layer_count, UINT level_count, uint32_t flags, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_texture **texture)
Definition: texture.c:4158
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLbitfield flags
Definition: glext.h:7161
GLsizei levels
Definition: glext.h:7884
#define calloc
Definition: rosglue.h:14
static unsigned int wined3d_log2i(unsigned int x)
Definition: wined3d.h:2952
@ WINED3D_RTYPE_TEXTURE_1D
Definition: wined3d.h:719
#define WINED3DERR_NOTAVAILABLE
Definition: wined3d.h:42
#define WINED3DERR_INVALIDCALL
Definition: wined3d.h:44
#define WINED3D_TEXTURE_CREATE_GET_DC
Definition: wined3d.h:1565
#define WINED3D_TEXTURE_CREATE_GENERATE_MIPMAPS
Definition: wined3d.h:1566

Referenced by d3d10_device_CreateTexture1D(), and d3d11_device_CreateTexture1D().

◆ d3d_texture1d_wined3d_object_released()

static void STDMETHODCALLTYPE d3d_texture1d_wined3d_object_released ( void *  parent)
static

Definition at line 249 of file texture.c.

250{
251 struct d3d_texture1d *texture = parent;
252
253 if (texture->dxgi_resource)
254 IUnknown_Release(texture->dxgi_resource);
255 free(texture);
256}
r parent
Definition: btrfs.c:3010

◆ d3d_texture2d_create()

HRESULT d3d_texture2d_create ( struct d3d_device *  device,
const D3D11_TEXTURE2D_DESC *  desc,
struct wined3d_texture *  wined3d_texture,
const D3D11_SUBRESOURCE_DATA *  data,
struct d3d_texture2d **  out 
)

Definition at line 964 of file texture.c.

966{
967 struct d3d_texture2d *texture;
968 BOOL needs_surface;
969 DWORD flags = 0;
970 HRESULT hr;
971
972 if (!validate_texture2d_desc(desc, device->state->feature_level))
973 {
974 WARN("Failed to validate texture desc.\n");
975 return E_INVALIDARG;
976 }
977
978 if (!(texture = calloc(1, sizeof(*texture))))
979 return E_OUTOFMEMORY;
980
981 texture->ID3D11Texture2D_iface.lpVtbl = &d3d11_texture2d_vtbl;
982 texture->ID3D10Texture2D_iface.lpVtbl = &d3d10_texture2d_vtbl;
983 texture->refcount = 1;
985 texture->desc = *desc;
986
987 if (wined3d_texture)
988 {
992 texture->wined3d_texture = wined3d_texture;
993
996 }
997 else
998 {
999 struct wined3d_resource_desc wined3d_desc;
1000 unsigned int levels;
1001
1002 wined3d_desc.resource_type = WINED3D_RTYPE_TEXTURE_2D;
1003 wined3d_desc.format = wined3dformat_from_dxgi_format(desc->Format);
1004 wined3d_desc.multisample_type = desc->SampleDesc.Count > 1 ? desc->SampleDesc.Count : WINED3D_MULTISAMPLE_NONE;
1005 wined3d_desc.multisample_quality = desc->SampleDesc.Quality;
1006 wined3d_desc.usage = wined3d_usage_from_d3d11(desc->Usage);
1007 wined3d_desc.bind_flags = wined3d_bind_flags_from_d3d11(desc->BindFlags, desc->MiscFlags);
1008 wined3d_desc.access = wined3d_access_from_d3d11(desc->Usage,
1009 desc->Usage == D3D11_USAGE_DEFAULT ? 0 : desc->CPUAccessFlags);
1010 wined3d_desc.width = desc->Width;
1011 wined3d_desc.height = desc->Height;
1012 wined3d_desc.depth = 1;
1013 wined3d_desc.size = 0;
1014
1015 levels = desc->MipLevels ? desc->MipLevels : wined3d_log2i(max(desc->Width, desc->Height)) + 1;
1016
1019 if (desc->MiscFlags & D3D11_RESOURCE_MISC_GENERATE_MIPS)
1021
1022 if (FAILED(hr = wined3d_texture_create(device->wined3d_device, &wined3d_desc,
1023 desc->ArraySize, levels, flags, (struct wined3d_sub_resource_data *)data,
1024 texture, &d3d_texture2d_wined3d_parent_ops, &texture->wined3d_texture)))
1025 {
1026 WARN("Failed to create wined3d texture, hr %#lx.\n", hr);
1027 free(texture);
1030 hr = E_INVALIDARG;
1031 return hr;
1032 }
1033 texture->desc.MipLevels = levels;
1034 }
1035
1036 needs_surface = desc->MipLevels == 1 && desc->ArraySize == 1;
1037 hr = d3d_device_create_dxgi_resource((IUnknown *)&device->ID3D10Device1_iface,
1038 wined3d_texture_get_resource(texture->wined3d_texture), (IUnknown *)&texture->ID3D10Texture2D_iface,
1039 needs_surface, &texture->dxgi_resource);
1040 if (FAILED(hr))
1041 {
1042 ERR("Failed to create DXGI resource, returning %#.lx\n", hr);
1043 wined3d_texture_decref(texture->wined3d_texture);
1045 return hr;
1046 }
1048
1049 ID3D11Device2_AddRef(texture->device = &device->ID3D11Device2_iface);
1050
1051 TRACE("Created texture %p.\n", texture);
1052 *out = texture;
1053
1054 return S_OK;
1055}
static const struct wined3d_parent_ops d3d_texture2d_wined3d_parent_ops
Definition: texture.c:915
static BOOL validate_texture2d_desc(const D3D11_TEXTURE2D_DESC *desc, D3D_FEATURE_LEVEL feature_level)
Definition: texture.c:933
static const struct ID3D10Texture2DVtbl d3d10_texture2d_vtbl
Definition: texture.c:886
static const struct ID3D11Texture2DVtbl d3d11_texture2d_vtbl
Definition: texture.c:699
void CDECL wined3d_resource_set_parent(struct wined3d_resource *resource, void *parent, const struct wined3d_parent_ops *parent_ops)
Definition: resource.c:274
struct wined3d_swapchain *CDECL wined3d_texture_get_swapchain(struct wined3d_texture *texture)
Definition: texture.c:4028
struct wined3d_texture * wined3d_texture
#define max(a, b)
Definition: svc.c:63
@ WINED3D_RTYPE_TEXTURE_2D
Definition: wined3d.h:720

Referenced by d3d10_device_CreateTexture2D(), d3d11_device_CreateTexture2D(), and dxgi_device_parent_register_swapchain_texture().

◆ d3d_texture2d_wined3d_object_released()

static void STDMETHODCALLTYPE d3d_texture2d_wined3d_object_released ( void *  parent)
static

Definition at line 751 of file texture.c.

752{
753 struct d3d_texture2d *texture = parent;
754
755 if (texture->dxgi_resource) IUnknown_Release(texture->dxgi_resource);
756 free(texture);
757}

◆ d3d_texture3d_create()

HRESULT d3d_texture3d_create ( struct d3d_device *  device,
const D3D11_TEXTURE3D_DESC *  desc,
const D3D11_SUBRESOURCE_DATA *  data,
struct d3d_texture3d **  texture 
)

Definition at line 1514 of file texture.c.

1516{
1517 struct d3d_texture3d *object;
1518 HRESULT hr;
1519
1520 if (!(object = calloc(1, sizeof(*object))))
1521 return E_OUTOFMEMORY;
1522
1523 if (FAILED(hr = d3d_texture3d_init(object, device, desc, data)))
1524 {
1525 WARN("Failed to initialise texture, hr %#lx.\n", hr);
1526 free(object);
1527 return hr;
1528 }
1529
1530 TRACE("Created texture %p.\n", object);
1531 *texture = object;
1532
1533 return S_OK;
1534}
static HRESULT d3d_texture3d_init(struct d3d_texture3d *texture, struct d3d_device *device, const D3D11_TEXTURE3D_DESC *desc, const D3D11_SUBRESOURCE_DATA *data)
Definition: texture.c:1445

Referenced by d3d10_device_CreateTexture3D(), and d3d11_device_CreateTexture3D().

◆ d3d_texture3d_init()

static HRESULT d3d_texture3d_init ( struct d3d_texture3d *  texture,
struct d3d_device *  device,
const D3D11_TEXTURE3D_DESC *  desc,
const D3D11_SUBRESOURCE_DATA *  data 
)
static

Definition at line 1445 of file texture.c.

1447{
1448 struct wined3d_resource_desc wined3d_desc;
1449 unsigned int levels;
1450 DWORD flags = 0;
1451 HRESULT hr;
1452
1454 && (~desc->BindFlags & (D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE)))
1455 {
1456 WARN("D3D11_RESOURCE_MISC_GENERATE_MIPS used without D3D11_BIND_RENDER_TARGET "
1457 "and D3D11_BIND_SHADER_RESOURCE.\n");
1458 return E_INVALIDARG;
1459 }
1460
1461 texture->ID3D11Texture3D_iface.lpVtbl = &d3d11_texture3d_vtbl;
1462 texture->ID3D10Texture3D_iface.lpVtbl = &d3d10_texture3d_vtbl;
1463 texture->refcount = 1;
1465 texture->desc = *desc;
1466
1467 wined3d_desc.resource_type = WINED3D_RTYPE_TEXTURE_3D;
1468 wined3d_desc.format = wined3dformat_from_dxgi_format(desc->Format);
1469 wined3d_desc.multisample_type = WINED3D_MULTISAMPLE_NONE;
1470 wined3d_desc.multisample_quality = 0;
1471 wined3d_desc.usage = wined3d_usage_from_d3d11(desc->Usage);
1472 wined3d_desc.bind_flags = wined3d_bind_flags_from_d3d11(desc->BindFlags, desc->MiscFlags);
1473 wined3d_desc.access = wined3d_access_from_d3d11(desc->Usage,
1474 desc->Usage == D3D11_USAGE_DEFAULT ? 0 : desc->CPUAccessFlags);
1475 wined3d_desc.width = desc->Width;
1476 wined3d_desc.height = desc->Height;
1477 wined3d_desc.depth = desc->Depth;
1478 wined3d_desc.size = 0;
1479
1480 levels = desc->MipLevels ? desc->MipLevels : wined3d_log2i(max(max(desc->Width, desc->Height), desc->Depth)) + 1;
1481
1482 if (desc->MiscFlags & D3D11_RESOURCE_MISC_GENERATE_MIPS)
1484
1485 if (FAILED(hr = wined3d_texture_create(device->wined3d_device, &wined3d_desc,
1487 &d3d_texture3d_wined3d_parent_ops, &texture->wined3d_texture)))
1488 {
1489 WARN("Failed to create wined3d texture, hr %#lx.\n", hr);
1492 hr = E_INVALIDARG;
1493 return hr;
1494 }
1495
1496 hr = d3d_device_create_dxgi_resource((IUnknown *)&device->ID3D10Device1_iface,
1497 wined3d_texture_get_resource(texture->wined3d_texture), (IUnknown *)&texture->ID3D10Texture3D_iface,
1498 FALSE, &texture->dxgi_resource);
1499 if (FAILED(hr))
1500 {
1501 ERR("Failed to create DXGI resource, returning %#.lx\n", hr);
1502 wined3d_texture_decref(texture->wined3d_texture);
1504 return hr;
1505 }
1507 texture->desc.MipLevels = levels;
1508
1509 ID3D11Device2_AddRef(texture->device = &device->ID3D11Device2_iface);
1510
1511 return S_OK;
1512}
#define FALSE
Definition: types.h:117
static const struct ID3D11Texture3DVtbl d3d11_texture3d_vtbl
Definition: texture.c:1238
static const struct wined3d_parent_ops d3d_texture3d_wined3d_parent_ops
Definition: texture.c:1440
static const struct ID3D10Texture3DVtbl d3d10_texture3d_vtbl
Definition: texture.c:1403
@ WINED3D_RTYPE_TEXTURE_3D
Definition: wined3d.h:721

Referenced by d3d_texture3d_create().

◆ d3d_texture3d_wined3d_object_released()

static void STDMETHODCALLTYPE d3d_texture3d_wined3d_object_released ( void *  parent)
static

Definition at line 1116 of file texture.c.

1117{
1118 struct d3d_texture3d *texture = parent;
1119
1120 if (texture->dxgi_resource)
1121 IUnknown_Release(texture->dxgi_resource);
1122 free(parent);
1123}

◆ impl_from_ID3D10Texture1D()

◆ impl_from_ID3D10Texture2D()

◆ impl_from_ID3D10Texture3D()

◆ impl_from_ID3D11Texture1D()

static struct d3d_texture1d * impl_from_ID3D11Texture1D ( ID3D11Texture1D *  iface)
inlinestatic

◆ impl_from_ID3D11Texture3D()

◆ is_gdi_compatible_texture()

static BOOL is_gdi_compatible_texture ( const D3D11_TEXTURE2D_DESC *  desc)
static

Definition at line 920 of file texture.c.

921{
922 if (!(desc->Format == DXGI_FORMAT_B8G8R8A8_UNORM
925 return FALSE;
926
927 if (desc->Usage != D3D11_USAGE_DEFAULT)
928 return FALSE;
929
930 return TRUE;
931}
#define TRUE
Definition: types.h:120
@ DXGI_FORMAT_B8G8R8A8_UNORM
Definition: dxgiformat.idl:110
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
Definition: dxgiformat.idl:114
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
Definition: dxgiformat.idl:113

Referenced by validate_texture2d_desc().

◆ unsafe_impl_from_ID3D10Texture1D()

struct d3d_texture1d * unsafe_impl_from_ID3D10Texture1D ( ID3D10Texture1D *  iface)

Definition at line 403 of file texture.c.

404{
405 if (!iface)
406 return NULL;
407 assert(iface->lpVtbl == &d3d10_texture1d_vtbl);
408 return CONTAINING_RECORD(iface, struct d3d_texture1d, ID3D10Texture1D_iface);
409}
#define assert(_expr)
Definition: assert.h:32

Referenced by wined3d_resource_from_d3d10_resource().

◆ unsafe_impl_from_ID3D10Texture2D()

struct d3d_texture2d * unsafe_impl_from_ID3D10Texture2D ( ID3D10Texture2D *  iface)

Definition at line 907 of file texture.c.

908{
909 if (!iface)
910 return NULL;
911 assert(iface->lpVtbl == &d3d10_texture2d_vtbl);
912 return CONTAINING_RECORD(iface, struct d3d_texture2d, ID3D10Texture2D_iface);
913}

Referenced by wined3d_resource_from_d3d10_resource().

◆ unsafe_impl_from_ID3D10Texture3D()

struct d3d_texture3d * unsafe_impl_from_ID3D10Texture3D ( ID3D10Texture3D *  iface)

Definition at line 1424 of file texture.c.

1425{
1426 if (!iface)
1427 return NULL;
1428 assert(iface->lpVtbl == &d3d10_texture3d_vtbl);
1429 return CONTAINING_RECORD(iface, struct d3d_texture3d, ID3D10Texture3D_iface);
1430}

Referenced by wined3d_resource_from_d3d10_resource().

◆ unsafe_impl_from_ID3D11Texture1D()

struct d3d_texture1d * unsafe_impl_from_ID3D11Texture1D ( ID3D11Texture1D *  iface)

Definition at line 216 of file texture.c.

217{
218 if (!iface)
219 return NULL;
220 assert(iface->lpVtbl == &d3d11_texture1d_vtbl);
221 return CONTAINING_RECORD(iface, struct d3d_texture1d, ID3D11Texture1D_iface);
222}

Referenced by get_resource_properties(), and wined3d_resource_from_d3d11_resource().

◆ unsafe_impl_from_ID3D11Texture2D()

struct d3d_texture2d * unsafe_impl_from_ID3D11Texture2D ( ID3D11Texture2D *  iface)

Definition at line 718 of file texture.c.

719{
720 if (!iface)
721 return NULL;
722 assert(iface->lpVtbl == &d3d11_texture2d_vtbl);
723 return CONTAINING_RECORD(iface, struct d3d_texture2d, ID3D11Texture2D_iface);
724}

Referenced by get_resource_properties(), and wined3d_resource_from_d3d11_resource().

◆ unsafe_impl_from_ID3D11Texture3D()

struct d3d_texture3d * unsafe_impl_from_ID3D11Texture3D ( ID3D11Texture3D *  iface)

Definition at line 1432 of file texture.c.

1433{
1434 if (!iface)
1435 return NULL;
1436 assert(iface->lpVtbl == &d3d11_texture3d_vtbl);
1437 return impl_from_ID3D11Texture3D(iface);
1438}

Referenced by get_resource_properties(), and wined3d_resource_from_d3d11_resource().

◆ validate_texture2d_desc()

static BOOL validate_texture2d_desc ( const D3D11_TEXTURE2D_DESC *  desc,
D3D_FEATURE_LEVEL  feature_level 
)
static

Definition at line 933 of file texture.c.

934{
935 if (!validate_d3d11_resource_access_flags(D3D11_RESOURCE_DIMENSION_TEXTURE2D,
936 desc->Usage, desc->BindFlags, desc->CPUAccessFlags, feature_level))
937 return FALSE;
938
940 && desc->ArraySize < 6)
941 {
942 WARN("Invalid array size %u for cube texture.\n", desc->ArraySize);
943 return FALSE;
944 }
945
948 {
949 WARN("Incompatible description used to create GDI compatible texture.\n");
950 return FALSE;
951 }
952
954 && (~desc->BindFlags & (D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE)))
955 {
956 WARN("D3D11_RESOURCE_MISC_GENERATE_MIPS used without D3D11_BIND_RENDER_TARGET and "
957 "D3D11_BIND_SHADER_RESOURCE.\n");
958 return FALSE;
959 }
960
961 return TRUE;
962}
@ D3D11_RESOURCE_MISC_TEXTURECUBE
Definition: d3d11.idl:1036
BOOL validate_d3d11_resource_access_flags(D3D11_RESOURCE_DIMENSION resource_dimension, D3D11_USAGE usage, UINT bind_flags, UINT cpu_access_flags, D3D_FEATURE_LEVEL feature_level)
Definition: utils.c:601
static BOOL is_gdi_compatible_texture(const D3D11_TEXTURE2D_DESC *desc)
Definition: texture.c:920

Referenced by d3d_texture2d_create().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( d3d11  )

Variable Documentation

◆ d3d10_texture1d_vtbl

const struct ID3D10Texture1DVtbl d3d10_texture1d_vtbl
static
Initial value:
=
{
}
static ULONG STDMETHODCALLTYPE d3d10_texture1d_Release(ID3D10Texture1D *iface)
Definition: texture.c:258
static void STDMETHODCALLTYPE d3d10_texture1d_GetDesc(ID3D10Texture1D *iface, D3D10_TEXTURE1D_DESC *desc)
Definition: texture.c:363
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_SetPrivateDataInterface(ID3D10Texture1D *iface, REFGUID guid, const IUnknown *data)
Definition: texture.c:298
static void STDMETHODCALLTYPE d3d10_texture1d_GetDevice(ID3D10Texture1D *iface, ID3D10Device **device)
Definition: texture.c:269
static void STDMETHODCALLTYPE d3d10_texture1d_SetEvictionPriority(ID3D10Texture1D *iface, UINT eviction_priority)
Definition: texture.c:318
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_GetPrivateData(ID3D10Texture1D *iface, REFGUID guid, UINT *data_size, void *data)
Definition: texture.c:278
static void STDMETHODCALLTYPE d3d10_texture1d_GetType(ID3D10Texture1D *iface, D3D10_RESOURCE_DIMENSION *resource_dimension)
Definition: texture.c:310
static void STDMETHODCALLTYPE d3d10_texture1d_Unmap(ID3D10Texture1D *iface, UINT sub_resource_idx)
Definition: texture.c:354
static UINT STDMETHODCALLTYPE d3d10_texture1d_GetEvictionPriority(ID3D10Texture1D *iface)
Definition: texture.c:323
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_Map(ID3D10Texture1D *iface, UINT sub_resource_idx, D3D10_MAP map_type, UINT map_flags, void **data)
Definition: texture.c:332
static ULONG STDMETHODCALLTYPE d3d10_texture1d_AddRef(ID3D10Texture1D *iface)
Definition: texture.c:240
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_QueryInterface(ID3D10Texture1D *iface, REFIID iid, void **out)
Definition: texture.c:231
static HRESULT STDMETHODCALLTYPE d3d10_texture1d_SetPrivateData(ID3D10Texture1D *iface, REFGUID guid, UINT data_size, const void *data)
Definition: texture.c:288

Definition at line 382 of file texture.c.

Referenced by d3d_texture1d_create(), and unsafe_impl_from_ID3D10Texture1D().

◆ d3d10_texture2d_vtbl

const struct ID3D10Texture2DVtbl d3d10_texture2d_vtbl
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d10_texture2d_GetType(ID3D10Texture2D *iface, D3D10_RESOURCE_DIMENSION *resource_dimension)
Definition: texture.c:811
static void STDMETHODCALLTYPE d3d10_texture2d_SetEvictionPriority(ID3D10Texture2D *iface, UINT eviction_priority)
Definition: texture.c:819
static ULONG STDMETHODCALLTYPE d3d10_texture2d_AddRef(ID3D10Texture2D *iface)
Definition: texture.c:742
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_QueryInterface(ID3D10Texture2D *iface, REFIID riid, void **object)
Definition: texture.c:733
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_SetPrivateDataInterface(ID3D10Texture2D *iface, REFGUID guid, const IUnknown *data)
Definition: texture.c:799
static void STDMETHODCALLTYPE d3d10_texture2d_GetDevice(ID3D10Texture2D *iface, ID3D10Device **device)
Definition: texture.c:770
static UINT STDMETHODCALLTYPE d3d10_texture2d_GetEvictionPriority(ID3D10Texture2D *iface)
Definition: texture.c:824
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_Map(ID3D10Texture2D *iface, UINT sub_resource_idx, D3D10_MAP map_type, UINT map_flags, D3D10_MAPPED_TEXTURE2D *mapped_texture)
Definition: texture.c:833
static void STDMETHODCALLTYPE d3d10_texture2d_GetDesc(ID3D10Texture2D *iface, D3D10_TEXTURE2D_DESC *desc)
Definition: texture.c:865
static ULONG STDMETHODCALLTYPE d3d10_texture2d_Release(ID3D10Texture2D *iface)
Definition: texture.c:759
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_GetPrivateData(ID3D10Texture2D *iface, REFGUID guid, UINT *data_size, void *data)
Definition: texture.c:779
static void STDMETHODCALLTYPE d3d10_texture2d_Unmap(ID3D10Texture2D *iface, UINT sub_resource_idx)
Definition: texture.c:856
static HRESULT STDMETHODCALLTYPE d3d10_texture2d_SetPrivateData(ID3D10Texture2D *iface, REFGUID guid, UINT data_size, const void *data)
Definition: texture.c:789

Definition at line 886 of file texture.c.

Referenced by d3d_texture2d_create(), and unsafe_impl_from_ID3D10Texture2D().

◆ d3d10_texture3d_vtbl

const struct ID3D10Texture3DVtbl d3d10_texture3d_vtbl
static
Initial value:
=
{
}
static UINT STDMETHODCALLTYPE d3d10_texture3d_GetEvictionPriority(ID3D10Texture3D *iface)
Definition: texture.c:1343
static void STDMETHODCALLTYPE d3d10_texture3d_GetDesc(ID3D10Texture3D *iface, D3D10_TEXTURE3D_DESC *desc)
Definition: texture.c:1383
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_SetPrivateData(ID3D10Texture3D *iface, REFGUID guid, UINT data_size, const void *data)
Definition: texture.c:1310
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_Map(ID3D10Texture3D *iface, UINT sub_resource_idx, D3D10_MAP map_type, UINT map_flags, D3D10_MAPPED_TEXTURE3D *mapped_texture)
Definition: texture.c:1350
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_QueryInterface(ID3D10Texture3D *iface, REFIID riid, void **object)
Definition: texture.c:1264
static void STDMETHODCALLTYPE d3d10_texture3d_GetDevice(ID3D10Texture3D *iface, ID3D10Device **device)
Definition: texture.c:1291
static ULONG STDMETHODCALLTYPE d3d10_texture3d_Release(ID3D10Texture3D *iface)
Definition: texture.c:1282
static void STDMETHODCALLTYPE d3d10_texture3d_SetEvictionPriority(ID3D10Texture3D *iface, UINT eviction_priority)
Definition: texture.c:1338
static void STDMETHODCALLTYPE d3d10_texture3d_Unmap(ID3D10Texture3D *iface, UINT sub_resource_idx)
Definition: texture.c:1374
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_SetPrivateDataInterface(ID3D10Texture3D *iface, REFGUID guid, const IUnknown *data)
Definition: texture.c:1320
static void STDMETHODCALLTYPE d3d10_texture3d_GetType(ID3D10Texture3D *iface, D3D10_RESOURCE_DIMENSION *resource_dimension)
Definition: texture.c:1330
static ULONG STDMETHODCALLTYPE d3d10_texture3d_AddRef(ID3D10Texture3D *iface)
Definition: texture.c:1273
static HRESULT STDMETHODCALLTYPE d3d10_texture3d_GetPrivateData(ID3D10Texture3D *iface, REFGUID guid, UINT *data_size, void *data)
Definition: texture.c:1300

Definition at line 1403 of file texture.c.

Referenced by d3d_texture3d_init(), and unsafe_impl_from_ID3D10Texture3D().

◆ d3d11_texture1d_vtbl

const struct ID3D11Texture1DVtbl d3d11_texture1d_vtbl
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d11_texture1d_SetEvictionPriority(ID3D11Texture1D *iface, UINT eviction_priority)
Definition: texture.c:176
static void STDMETHODCALLTYPE d3d11_texture1d_GetType(ID3D11Texture1D *iface, D3D11_RESOURCE_DIMENSION *resource_dimension)
Definition: texture.c:168
static UINT STDMETHODCALLTYPE d3d11_texture1d_GetEvictionPriority(ID3D11Texture1D *iface)
Definition: texture.c:181
static void STDMETHODCALLTYPE d3d11_texture1d_GetDevice(ID3D11Texture1D *iface, ID3D11Device **device)
Definition: texture.c:104

Definition at line 197 of file texture.c.

Referenced by d3d_texture1d_create(), and unsafe_impl_from_ID3D11Texture1D().

◆ d3d11_texture2d_vtbl

const struct ID3D11Texture2DVtbl d3d11_texture2d_vtbl
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d11_texture2d_SetEvictionPriority(ID3D11Texture2D *iface, UINT eviction_priority)
Definition: texture.c:663
static void STDMETHODCALLTYPE d3d11_texture2d_GetDevice(ID3D11Texture2D *iface, ID3D11Device **device)
Definition: texture.c:591
static UINT STDMETHODCALLTYPE d3d11_texture2d_GetEvictionPriority(ID3D11Texture2D *iface)
Definition: texture.c:668
static void STDMETHODCALLTYPE d3d11_texture2d_GetType(ID3D11Texture2D *iface, D3D11_RESOURCE_DIMENSION *resource_dimension)
Definition: texture.c:655

Definition at line 699 of file texture.c.

Referenced by d3d_texture2d_create(), and unsafe_impl_from_ID3D11Texture2D().

◆ d3d11_texture3d_vtbl

const struct ID3D11Texture3DVtbl d3d11_texture3d_vtbl
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d11_texture3d_GetType(ID3D11Texture3D *iface, D3D11_RESOURCE_DIMENSION *resource_dimension)
Definition: texture.c:1209
static void STDMETHODCALLTYPE d3d11_texture3d_SetEvictionPriority(ID3D11Texture3D *iface, UINT eviction_priority)
Definition: texture.c:1217
static void STDMETHODCALLTYPE d3d11_texture3d_GetDevice(ID3D11Texture3D *iface, ID3D11Device **device)
Definition: texture.c:1145
static UINT STDMETHODCALLTYPE d3d11_texture3d_GetEvictionPriority(ID3D11Texture3D *iface)
Definition: texture.c:1222

Definition at line 1238 of file texture.c.

Referenced by d3d_texture3d_init(), and unsafe_impl_from_ID3D11Texture3D().

◆ d3d_texture1d_wined3d_parent_ops

const struct wined3d_parent_ops d3d_texture1d_wined3d_parent_ops
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d_texture1d_wined3d_object_released(void *parent)
Definition: texture.c:249

Definition at line 411 of file texture.c.

Referenced by d3d_texture1d_create().

◆ d3d_texture2d_wined3d_parent_ops

const struct wined3d_parent_ops d3d_texture2d_wined3d_parent_ops
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d_texture2d_wined3d_object_released(void *parent)
Definition: texture.c:751

Definition at line 915 of file texture.c.

Referenced by d3d_texture2d_create().

◆ d3d_texture3d_wined3d_parent_ops

const struct wined3d_parent_ops d3d_texture3d_wined3d_parent_ops
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d_texture3d_wined3d_object_released(void *parent)
Definition: texture.c:1116

Definition at line 1440 of file texture.c.

Referenced by d3d_texture3d_init().