Skip to content

Commit b22fa64

Browse files
walbourn_cpwalbourn_cp
walbourn_cp
authored and
walbourn_cp
committed
WICTextureLoader: Added overloads that do not take a D3D11DeviceContext (i.e. no autogen mips) to be consistent with DDSTextureLoader
1 parent cff826a commit b22fa64

File tree

2 files changed

+104
-0
lines changed

2 files changed

+104
-0
lines changed

WICTextureLoader/WICTextureLoader.cpp

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,19 @@ static HRESULT CreateTextureFromWIC( _In_ ID3D11Device* d3dDevice,
668668
}
669669

670670
//--------------------------------------------------------------------------------------
671+
_Use_decl_annotations_
672+
HRESULT DirectX::CreateWICTextureFromMemory( ID3D11Device* d3dDevice,
673+
const uint8_t* wicData,
674+
size_t wicDataSize,
675+
ID3D11Resource** texture,
676+
ID3D11ShaderResourceView** textureView,
677+
size_t maxsize )
678+
{
679+
return CreateWICTextureFromMemoryEx( d3dDevice, nullptr, wicData, wicDataSize, maxsize,
680+
D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, false,
681+
texture, textureView );
682+
}
683+
671684
_Use_decl_annotations_
672685
HRESULT DirectX::CreateWICTextureFromMemory( ID3D11Device* d3dDevice,
673686
ID3D11DeviceContext* d3dContext,
@@ -682,6 +695,24 @@ HRESULT DirectX::CreateWICTextureFromMemory( ID3D11Device* d3dDevice,
682695
texture, textureView );
683696
}
684697

698+
_Use_decl_annotations_
699+
HRESULT DirectX::CreateWICTextureFromMemoryEx( ID3D11Device* d3dDevice,
700+
const uint8_t* wicData,
701+
size_t wicDataSize,
702+
size_t maxsize,
703+
D3D11_USAGE usage,
704+
unsigned int bindFlags,
705+
unsigned int cpuAccessFlags,
706+
unsigned int miscFlags,
707+
bool forceSRGB,
708+
ID3D11Resource** texture,
709+
ID3D11ShaderResourceView** textureView )
710+
{
711+
return CreateWICTextureFromMemoryEx( d3dDevice, nullptr, wicData, wicDataSize, maxsize,
712+
usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB,
713+
texture, textureView );
714+
}
715+
685716
_Use_decl_annotations_
686717
HRESULT DirectX::CreateWICTextureFromMemoryEx( ID3D11Device* d3dDevice,
687718
ID3D11DeviceContext* d3dContext,
@@ -761,6 +792,18 @@ HRESULT DirectX::CreateWICTextureFromMemoryEx( ID3D11Device* d3dDevice,
761792
}
762793

763794
//--------------------------------------------------------------------------------------
795+
_Use_decl_annotations_
796+
HRESULT DirectX::CreateWICTextureFromFile( ID3D11Device* d3dDevice,
797+
const wchar_t* fileName,
798+
ID3D11Resource** texture,
799+
ID3D11ShaderResourceView** textureView,
800+
size_t maxsize )
801+
{
802+
return CreateWICTextureFromFileEx( d3dDevice, nullptr, fileName, maxsize,
803+
D3D11_USAGE_DEFAULT, D3D11_BIND_SHADER_RESOURCE, 0, 0, false,
804+
texture, textureView );
805+
}
806+
764807
_Use_decl_annotations_
765808
HRESULT DirectX::CreateWICTextureFromFile( ID3D11Device* d3dDevice,
766809
ID3D11DeviceContext* d3dContext,
@@ -774,6 +817,23 @@ HRESULT DirectX::CreateWICTextureFromFile( ID3D11Device* d3dDevice,
774817
texture, textureView );
775818
}
776819

820+
_Use_decl_annotations_
821+
HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice,
822+
const wchar_t* fileName,
823+
size_t maxsize,
824+
D3D11_USAGE usage,
825+
unsigned int bindFlags,
826+
unsigned int cpuAccessFlags,
827+
unsigned int miscFlags,
828+
bool forceSRGB,
829+
ID3D11Resource** texture,
830+
ID3D11ShaderResourceView** textureView )
831+
{
832+
return CreateWICTextureFromFileEx( d3dDevice, nullptr, fileName, maxsize,
833+
usage, bindFlags, cpuAccessFlags, miscFlags, forceSRGB,
834+
texture, textureView );
835+
}
836+
777837
_Use_decl_annotations_
778838
HRESULT DirectX::CreateWICTextureFromFileEx( ID3D11Device* d3dDevice,
779839
ID3D11DeviceContext* d3dContext,

WICTextureLoader/WICTextureLoader.h

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,23 @@
5252

5353
namespace DirectX
5454
{
55+
// Standard version
56+
HRESULT CreateWICTextureFromMemory( _In_ ID3D11Device* d3dDevice,
57+
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
58+
_In_ size_t wicDataSize,
59+
_Out_opt_ ID3D11Resource** texture,
60+
_Out_opt_ ID3D11ShaderResourceView** textureView,
61+
_In_ size_t maxsize = 0
62+
);
63+
64+
HRESULT CreateWICTextureFromFile( _In_ ID3D11Device* d3dDevice,
65+
_In_z_ const wchar_t* szFileName,
66+
_Out_opt_ ID3D11Resource** texture,
67+
_Out_opt_ ID3D11ShaderResourceView** textureView,
68+
_In_ size_t maxsize = 0
69+
);
70+
71+
// Standard version with optional auto-gen mipmap support
5572
HRESULT CreateWICTextureFromMemory( _In_ ID3D11Device* d3dDevice,
5673
_In_opt_ ID3D11DeviceContext* d3dContext,
5774
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
@@ -69,6 +86,33 @@ namespace DirectX
6986
_In_ size_t maxsize = 0
7087
);
7188

89+
// Extended version
90+
HRESULT CreateWICTextureFromMemoryEx( _In_ ID3D11Device* d3dDevice,
91+
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,
92+
_In_ size_t wicDataSize,
93+
_In_ size_t maxsize,
94+
_In_ D3D11_USAGE usage,
95+
_In_ unsigned int bindFlags,
96+
_In_ unsigned int cpuAccessFlags,
97+
_In_ unsigned int miscFlags,
98+
_In_ bool forceSRGB,
99+
_Out_opt_ ID3D11Resource** texture,
100+
_Out_opt_ ID3D11ShaderResourceView** textureView
101+
);
102+
103+
HRESULT CreateWICTextureFromFileEx( _In_ ID3D11Device* d3dDevice,
104+
_In_z_ const wchar_t* szFileName,
105+
_In_ size_t maxsize,
106+
_In_ D3D11_USAGE usage,
107+
_In_ unsigned int bindFlags,
108+
_In_ unsigned int cpuAccessFlags,
109+
_In_ unsigned int miscFlags,
110+
_In_ bool forceSRGB,
111+
_Out_opt_ ID3D11Resource** texture,
112+
_Out_opt_ ID3D11ShaderResourceView** textureView
113+
);
114+
115+
// Extended version with optional auto-gen mipmap support
72116
HRESULT CreateWICTextureFromMemoryEx( _In_ ID3D11Device* d3dDevice,
73117
_In_opt_ ID3D11DeviceContext* d3dContext,
74118
_In_reads_bytes_(wicDataSize) const uint8_t* wicData,

0 commit comments

Comments
 (0)