static ULONG STDMETHODCALLTYPE d3d10_input_layout_Release(ID3D10InputLayout *iface) { struct d3d_input_layout *layout = impl_from_ID3D10InputLayout(iface); TRACE("iface %p.\n", iface); return d3d11_input_layout_Release(&layout->ID3D11InputLayout_iface); }
struct d3d_input_layout *unsafe_impl_from_ID3D10InputLayout(ID3D10InputLayout *iface) { if (!iface) return NULL; assert(iface->lpVtbl == &d3d10_input_layout_vtbl); return impl_from_ID3D10InputLayout(iface); }
static HRESULT STDMETHODCALLTYPE d3d10_input_layout_SetPrivateDataInterface(ID3D10InputLayout *iface, REFGUID guid, const IUnknown *data) { struct d3d_input_layout *layout = impl_from_ID3D10InputLayout(iface); TRACE("iface %p, guid %s, data %p.\n", iface, debugstr_guid(guid), data); return d3d_set_private_data_interface(&layout->private_store, guid, data); }
static HRESULT STDMETHODCALLTYPE d3d10_input_layout_QueryInterface(ID3D10InputLayout *iface, REFIID riid, void **object) { struct d3d_input_layout *layout = impl_from_ID3D10InputLayout(iface); TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), object); return d3d11_input_layout_QueryInterface(&layout->ID3D11InputLayout_iface, riid, object); }
static HRESULT STDMETHODCALLTYPE d3d10_input_layout_GetPrivateData(ID3D10InputLayout *iface, REFGUID guid, UINT *data_size, void *data) { struct d3d_input_layout *layout = impl_from_ID3D10InputLayout(iface); TRACE("iface %p, guid %s, data_size %p, data %p.\n", iface, debugstr_guid(guid), data_size, data); return d3d_get_private_data(&layout->private_store, guid, data_size, data); }
static ULONG STDMETHODCALLTYPE d3d10_input_layout_Release(ID3D10InputLayout *iface) { struct d3d10_input_layout *This = impl_from_ID3D10InputLayout(iface); ULONG refcount = InterlockedDecrement(&This->refcount); TRACE("%p decreasing refcount to %u\n", This, refcount); if (!refcount) { wined3d_vertex_declaration_decref(This->wined3d_decl); } return refcount; }
static ULONG STDMETHODCALLTYPE d3d10_input_layout_AddRef(ID3D10InputLayout *iface) { struct d3d10_input_layout *This = impl_from_ID3D10InputLayout(iface); ULONG refcount = InterlockedIncrement(&This->refcount); TRACE("%p increasing refcount to %u\n", This, refcount); if (refcount == 1) { wined3d_mutex_lock(); wined3d_vertex_declaration_incref(This->wined3d_decl); wined3d_mutex_unlock(); } return refcount; }