HRESULT CDECL wined3d_sampler_create(struct wined3d_device *device, const struct wined3d_sampler_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_sampler **sampler) { struct wined3d_sampler *object; TRACE("device %p, desc %p, parent %p, sampler %p.\n", device, desc, parent, sampler); if (desc->address_u < WINED3D_TADDRESS_WRAP || desc->address_u > WINED3D_TADDRESS_MIRROR_ONCE || desc->address_v < WINED3D_TADDRESS_WRAP || desc->address_v > WINED3D_TADDRESS_MIRROR_ONCE || desc->address_w < WINED3D_TADDRESS_WRAP || desc->address_w > WINED3D_TADDRESS_MIRROR_ONCE) return WINED3DERR_INVALIDCALL; if (desc->mag_filter < WINED3D_TEXF_POINT || desc->mag_filter > WINED3D_TEXF_LINEAR || desc->min_filter < WINED3D_TEXF_POINT || desc->min_filter > WINED3D_TEXF_LINEAR || desc->mip_filter > WINED3D_TEXF_LINEAR) return WINED3DERR_INVALIDCALL; if (!(object = heap_alloc_zero(sizeof(*object)))) return E_OUTOFMEMORY; wined3d_sampler_init(object, device, desc, parent, parent_ops); TRACE("Created sampler %p.\n", object); *sampler = object; return WINED3D_OK; }
HRESULT CDECL wined3d_sampler_create(struct wined3d_device *device, const struct wined3d_sampler_desc *desc, void *parent, struct wined3d_sampler **sampler) { struct wined3d_sampler *object; TRACE("device %p, desc %p, parent %p, sampler %p.\n", device, desc, parent, sampler); if (!device->adapter->gl_info.supported[ARB_SAMPLER_OBJECTS]) return WINED3DERR_INVALIDCALL; if (desc->address_u < WINED3D_TADDRESS_WRAP || desc->address_u > WINED3D_TADDRESS_MIRROR_ONCE || desc->address_v < WINED3D_TADDRESS_WRAP || desc->address_v > WINED3D_TADDRESS_MIRROR_ONCE || desc->address_w < WINED3D_TADDRESS_WRAP || desc->address_w > WINED3D_TADDRESS_MIRROR_ONCE) return WINED3DERR_INVALIDCALL; if (desc->mag_filter < WINED3D_TEXF_POINT || desc->mag_filter > WINED3D_TEXF_LINEAR || desc->min_filter < WINED3D_TEXF_POINT || desc->min_filter > WINED3D_TEXF_LINEAR || desc->mip_filter > WINED3D_TEXF_LINEAR) return WINED3DERR_INVALIDCALL; if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)))) return E_OUTOFMEMORY; wined3d_sampler_init(object, device, desc, parent); TRACE("Created sampler %p.\n", object); *sampler = object; return WINED3D_OK; }
HRESULT CDECL wined3d_sampler_create(void *parent, struct wined3d_sampler **sampler) { struct wined3d_sampler *object; TRACE("parent %p, sampler %p.\n", parent, sampler); if (!(object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object)))) return E_OUTOFMEMORY; wined3d_sampler_init(object, parent); TRACE("Created sampler %p.\n", object); *sampler = object; return WINED3D_OK; }