Release 2.3.
[wine.git] / include / d3dx11tex.h
blob16b280a75a2656425f3e5160cc5482fa06b1cec0
1 /*
2 * Copyright 2016 Andrey Gusev
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "d3dx11.h"
21 #ifndef __D3DX11TEX_H__
22 #define __D3DX11TEX_H__
24 typedef enum D3DX11_IMAGE_FILE_FORMAT
26 D3DX11_IFF_BMP = 0,
27 D3DX11_IFF_JPG = 1,
28 D3DX11_IFF_PNG = 3,
29 D3DX11_IFF_DDS = 4,
30 D3DX11_IFF_TIFF = 10,
31 D3DX11_IFF_GIF = 11,
32 D3DX11_IFF_WMP = 12,
33 D3DX11_IFF_FORCE_DWORD = 0x7fffffff
34 } D3DX11_IMAGE_FILE_FORMAT;
36 typedef struct D3DX11_IMAGE_INFO
38 UINT Width;
39 UINT Height;
40 UINT Depth;
41 UINT ArraySize;
42 UINT MipLevels;
43 UINT MiscFlags;
44 DXGI_FORMAT Format;
45 D3D11_RESOURCE_DIMENSION ResourceDimension;
46 D3DX11_IMAGE_FILE_FORMAT ImageFileFormat;
47 } D3DX11_IMAGE_INFO;
49 typedef struct D3DX11_IMAGE_LOAD_INFO
51 UINT Width;
52 UINT Height;
53 UINT Depth;
54 UINT FirstMipLevel;
55 UINT MipLevels;
56 D3D11_USAGE Usage;
57 UINT BindFlags;
58 UINT CpuAccessFlags;
59 UINT MiscFlags;
60 DXGI_FORMAT Format;
61 UINT Filter;
62 UINT MipFilter;
63 D3DX11_IMAGE_INFO *pSrcInfo;
65 #ifdef __cplusplus
66 D3DX11_IMAGE_LOAD_INFO()
68 Width = D3DX11_DEFAULT;
69 Height = D3DX11_DEFAULT;
70 Depth = D3DX11_DEFAULT;
71 FirstMipLevel = D3DX11_DEFAULT;
72 MipLevels = D3DX11_DEFAULT;
73 Usage = (D3D11_USAGE)D3DX11_DEFAULT;
74 BindFlags = D3DX11_DEFAULT;
75 CpuAccessFlags = D3DX11_DEFAULT;
76 MiscFlags = D3DX11_DEFAULT;
77 Format = DXGI_FORMAT_FROM_FILE;
78 Filter = D3DX11_DEFAULT;
79 MipFilter = D3DX11_DEFAULT;
80 pSrcInfo = NULL;
82 #endif
83 } D3DX11_IMAGE_LOAD_INFO;
85 #ifdef __cplusplus
86 extern "C" {
87 #endif
89 HRESULT WINAPI D3DX11CreateShaderResourceViewFromMemory(ID3D11Device *device, const void *data,
90 SIZE_T data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
91 ID3D11ShaderResourceView **view, HRESULT *hresult);
93 HRESULT WINAPI D3DX11CreateTextureFromMemory(ID3D11Device *device, const void *src_data, SIZE_T src_data_size,
94 D3DX11_IMAGE_LOAD_INFO *loadinfo, ID3DX11ThreadPump *pump, ID3D11Resource **texture, HRESULT *hresult);
96 HRESULT WINAPI D3DX11GetImageInfoFromMemory(const void *src_data, SIZE_T src_data_size, ID3DX11ThreadPump *pump,
97 D3DX11_IMAGE_INFO *img_info, HRESULT *hresult);
99 HRESULT WINAPI D3DX11SaveTextureToMemory(ID3D11DeviceContext *context, ID3D11Resource *texture,
100 D3DX11_IMAGE_FILE_FORMAT format, ID3D10Blob **buffer, UINT flags);
102 #ifdef __cplusplus
104 #endif
106 #endif