HRESULT d3d_set_private_data(struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data) { struct wined3d_private_data *entry; HRESULT hr; wined3d_mutex_lock(); if (!data) { if (!(entry = wined3d_private_store_get_private_data(store, guid))) { wined3d_mutex_unlock(); return S_FALSE; } wined3d_private_store_free_private_data(store, entry); wined3d_mutex_unlock(); return S_OK; } hr = wined3d_private_store_set_private_data(store, guid, data, data_size, 0); wined3d_mutex_unlock(); return hr; }
HRESULT d3d10_set_private_data(struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data) { struct wined3d_private_data *entry; if (!data) { if (!(entry = wined3d_private_store_get_private_data(store, guid))) return S_FALSE; wined3d_private_store_free_private_data(store, entry); return S_OK; } return wined3d_private_store_set_private_data(store, guid, data, data_size, 0); }
HRESULT d3d9_resource_free_private_data(struct d3d9_resource *resource, const GUID *guid) { struct wined3d_private_data *entry; wined3d_mutex_lock(); entry = wined3d_private_store_get_private_data(&resource->private_store, guid); if (!entry) { wined3d_mutex_unlock(); return D3DERR_NOTFOUND; } wined3d_private_store_free_private_data(&resource->private_store, entry); wined3d_mutex_unlock(); return D3D_OK; }