Paradox Game Engine  v1.0.0 beta06
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros Pages
DirectXTexConvert.cpp File Reference
#include "directxtexp.h"

Go to the source code of this file.

Classes

struct  DirectX::ConvertData
 

Namespaces

 DirectX
 

Macros

#define LOAD_SCANLINE(type, func)
 
#define LOAD_SCANLINE3(type, func, defvec)
 
#define LOAD_SCANLINE2(type, func, defvec)
 
#define STORE_SCANLINE(type, func)
 
#define STORE_SCANLINE(type, scalev, clampzero, norm, itype, mask, row, bgr)
 
#define STORE_SCANLINE2(type, scalev, clampzero, norm, itype, mask, row)
 
#define STORE_SCANLINE1(type, scalev, clampzero, norm, mask, row, selectw)
 
#define CONVERT_420_TO_422(srcType, destType)
 

Functions

void DirectX::_CopyScanline (_When_(pDestination==pSource, _Inout_updates_bytes_(outSize)) _When_(pDestination!=pSource, _Out_writes_bytes_(outSize)) LPVOID pDestination, _In_ size_t outSize, _In_reads_bytes_(inSize) LPCVOID pSource, _In_ size_t inSize, _In_ DXGI_FORMAT format, _In_ DWORD flags)
 
_Use_decl_annotations_ void DirectX::_SwizzleScanline (LPVOID pDestination, size_t outSize, LPCVOID pSource, size_t inSize, DXGI_FORMAT format, DWORD flags)
 
_Use_decl_annotations_ bool DirectX::_ExpandScanline (LPVOID pDestination, size_t outSize, DXGI_FORMAT outFormat, LPCVOID pSource, size_t inSize, DXGI_FORMAT inFormat, DWORD flags)
 
_Use_decl_annotations_ bool DirectX::_LoadScanline (XMVECTOR *pDestination, size_t count, LPCVOID pSource, size_t size, DXGI_FORMAT format)
 
_Use_decl_annotations_ bool DirectX::_StoreScanline (LPVOID pDestination, size_t size, DXGI_FORMAT format, const XMVECTOR *pSource, size_t count, float threshold)
 
_Use_decl_annotations_ HRESULT DirectX::_ConvertToR32G32B32A32 (const Image &srcImage, ScratchImage &image)
 
_Use_decl_annotations_ HRESULT DirectX::_ConvertFromR32G32B32A32 (const Image &srcImage, const Image &destImage)
 
_Use_decl_annotations_ HRESULT DirectX::_ConvertFromR32G32B32A32 (const Image &srcImage, DXGI_FORMAT format, ScratchImage &image)
 
_Use_decl_annotations_ HRESULT DirectX::_ConvertFromR32G32B32A32 (const Image *srcImages, size_t nimages, const TexMetadata &metadata, DXGI_FORMAT format, ScratchImage &result)
 
static XMVECTOR DirectX::XMColorRGBToSRGB (FXMVECTOR rgb)
 
_Use_decl_annotations_ bool DirectX::_StoreScanlineLinear (LPVOID pDestination, size_t size, DXGI_FORMAT format, XMVECTOR *pSource, size_t count, DWORD flags)
 
static XMVECTOR DirectX::XMColorSRGBToRGB (FXMVECTOR srgb)
 
_Use_decl_annotations_ bool DirectX::_LoadScanlineLinear (XMVECTOR *pDestination, size_t count, LPCVOID pSource, size_t size, DXGI_FORMAT format, DWORD flags)
 
static int __cdecl DirectX::_ConvertCompare (void *context, const void *ptr1, const void *ptr2)
 
_Use_decl_annotations_ DWORD DirectX::_GetConvertFlags (DXGI_FORMAT format)
 
_Use_decl_annotations_ void DirectX::_ConvertScanline (XMVECTOR *pBuffer, size_t count, DXGI_FORMAT outFormat, DXGI_FORMAT inFormat, DWORD flags)
 
_Use_decl_annotations_ bool DirectX::_StoreScanlineDither (LPVOID pDestination, size_t size, DXGI_FORMAT format, XMVECTOR *pSource, size_t count, float threshold, size_t y, size_t z, XMVECTOR *pDiffusionErrors)
 
static bool DirectX::_UseWICConversion (_In_ DWORD filter, _In_ DXGI_FORMAT sformat, _In_ DXGI_FORMAT tformat, _Out_ WICPixelFormatGUID &pfGUID, _Out_ WICPixelFormatGUID &targetGUID)
 
static HRESULT DirectX::_ConvertUsingWIC (_In_ const Image &srcImage, _In_ const WICPixelFormatGUID &pfGUID, _In_ const WICPixelFormatGUID &targetGUID, _In_ DWORD filter, _In_ float threshold, _In_ const Image &destImage)
 
static HRESULT DirectX::_Convert (_In_ const Image &srcImage, _In_ DWORD filter, _In_ const Image &destImage, _In_ float threshold, _In_ size_t z)
 
static DXGI_FORMAT DirectX::_PlanarToSingle (_In_ DXGI_FORMAT format)
 
static HRESULT DirectX::_ConvertToSinglePlane (_In_ const Image &srcImage, _In_ const Image &destImage)
 
_Use_decl_annotations_ HRESULT DirectX::Convert (const Image &srcImage, DXGI_FORMAT format, DWORD filter, float threshold, ScratchImage &image)
 
_Use_decl_annotations_ HRESULT DirectX::Convert (const Image *srcImages, size_t nimages, const TexMetadata &metadata, DXGI_FORMAT format, DWORD filter, float threshold, ScratchImage &result)
 
_Use_decl_annotations_ HRESULT DirectX::ConvertToSinglePlane (const Image &srcImage, ScratchImage &image)
 
_Use_decl_annotations_ HRESULT DirectX::ConvertToSinglePlane (const Image *srcImages, size_t nimages, const TexMetadata &metadata, ScratchImage &result)
 

Variables

static const XMVECTORF32 DirectX::g_Grayscale = { 0.2125f, 0.7154f, 0.0721f, 0.0f }
 
static const ConvertData DirectX::g_ConvertTable []
 
static const float DirectX::g_Dither []
 
static const XMVECTORF32 DirectX::g_Scale16pc = { 65535.f, 65535.f, 65535.f, 65535.f }
 
static const XMVECTORF32 DirectX::g_Scale15pc = { 32767.f, 32767.f, 32767.f, 32767.f }
 
static const XMVECTORF32 DirectX::g_Scale10pc = { 1023.f, 1023.f, 1023.f, 3.f }
 
static const XMVECTORF32 DirectX::g_Scale8pc = { 255.f, 255.f, 255.f, 255.f }
 
static const XMVECTORF32 DirectX::g_Scale7pc = { 127.f, 127.f, 127.f, 127.f }
 
static const XMVECTORF32 DirectX::g_Scale565pc = { 31.f, 63.f, 31.f, 1.f }
 
static const XMVECTORF32 DirectX::g_Scale5551pc = { 31.f, 31.f, 31.f, 1.f }
 
static const XMVECTORF32 DirectX::g_Scale4pc = { 15.f, 15.f, 15.f, 15.f }
 
static const XMVECTORF32 DirectX::g_ErrorWeight3 = { 3.f/16.f, 3.f/16.f, 3.f/16.f, 3.f/16.f }
 
static const XMVECTORF32 DirectX::g_ErrorWeight5 = { 5.f/16.f, 5.f/16.f, 5.f/16.f, 5.f/16.f }
 
static const XMVECTORF32 DirectX::g_ErrorWeight1 = { 1.f/16.f, 1.f/16.f, 1.f/16.f, 1.f/16.f }
 
static const XMVECTORF32 DirectX::g_ErrorWeight7 = { 7.f/16.f, 7.f/16.f, 7.f/16.f, 7.f/16.f }
 

Macro Definition Documentation

#define CONVERT_420_TO_422 (   srcType,
  destType 
)

Definition at line 4065 of file DirectXTexConvert.cpp.

Referenced by DirectX::_ConvertToSinglePlane().

#define LOAD_SCANLINE (   type,
  func 
)
Value:
if ( size >= sizeof(type) )\
{\
const type * __restrict sPtr = reinterpret_cast<const type*>(pSource);\
for( size_t icount = 0; icount < ( size - sizeof(type) + 1 ); icount += sizeof(type) )\
{\
if ( dPtr >= ePtr ) break;\
*(dPtr++) = func( sPtr++ );\
}\
return true;\
}\
return false;
document false
_In_ size_t _In_ size_t size
Definition: DirectXTexP.h:175

Definition at line 683 of file DirectXTexConvert.cpp.

Referenced by DirectX::_LoadScanline().

#define LOAD_SCANLINE2 (   type,
  func,
  defvec 
)
Value:
if ( size >= sizeof(type) )\
{\
const type * __restrict sPtr = reinterpret_cast<const type*>(pSource);\
for( size_t icount = 0; icount < ( size - sizeof(type) + 1 ); icount += sizeof(type) )\
{\
XMVECTOR v = func( sPtr++ );\
if ( dPtr >= ePtr ) break;\
*(dPtr++) = XMVectorSelect( defvec, v, g_XMSelect1100 );\
}\
return true;\
}\
return false;
document false
_In_ size_t _In_ size_t size
Definition: DirectXTexP.h:175

Definition at line 710 of file DirectXTexConvert.cpp.

Referenced by DirectX::_LoadScanline().

#define LOAD_SCANLINE3 (   type,
  func,
  defvec 
)
Value:
if ( size >= sizeof(type) )\
{\
const type * __restrict sPtr = reinterpret_cast<const type*>(pSource);\
for( size_t icount = 0; icount < ( size - sizeof(type) + 1 ); icount += sizeof(type) )\
{\
XMVECTOR v = func( sPtr++ );\
if ( dPtr >= ePtr ) break;\
*(dPtr++) = XMVectorSelect( defvec, v, g_XMSelect1110 );\
}\
return true;\
}\
return false;
document false
_In_ size_t _In_ size_t size
Definition: DirectXTexP.h:175

Definition at line 696 of file DirectXTexConvert.cpp.

Referenced by DirectX::_LoadScanline().

#define STORE_SCANLINE (   type,
  func 
)
Value:
if ( size >= sizeof(type) )\
{\
type * __restrict dPtr = reinterpret_cast<type*>(pDestination);\
for( size_t icount = 0; icount < ( size - sizeof(type) + 1 ); icount += sizeof(type) )\
{\
if ( sPtr >= ePtr ) break;\
func( dPtr++, *sPtr++ );\
}\
return true; \
}\
return false;
document false
_In_ size_t _In_ size_t size
Definition: DirectXTexP.h:175

Definition at line 3247 of file DirectXTexConvert.cpp.

Referenced by DirectX::_StoreScanline(), and DirectX::_StoreScanlineDither().

#define STORE_SCANLINE (   type,
  scalev,
  clampzero,
  norm,
  itype,
  mask,
  row,
  bgr 
)

Definition at line 3247 of file DirectXTexConvert.cpp.

#define STORE_SCANLINE1 (   type,
  scalev,
  clampzero,
  norm,
  mask,
  row,
  selectw 
)

Definition at line 3353 of file DirectXTexConvert.cpp.

Referenced by DirectX::_StoreScanlineDither().

#define STORE_SCANLINE2 (   type,
  scalev,
  clampzero,
  norm,
  itype,
  mask,
  row 
)

Definition at line 3301 of file DirectXTexConvert.cpp.

Referenced by DirectX::_StoreScanlineDither().