Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros | Functions
tex_dds.cpp File Reference
#include "precompiled.h"
#include "lib/byte_order.h"
#include "lib/bits.h"
#include "lib/timer.h"
#include "lib/allocators/shared_ptr.h"
#include "tex_codec.h"

Go to the source code of this file.

Classes

class  S3tcBlock
 
struct  S3tcDecompressInfo
 
struct  DDS_PIXELFORMAT
 
struct  DDS_HEADER
 

Macros

#define DDPF_ALPHAPIXELS   0x00000001
 
#define DDPF_FOURCC   0x00000004
 
#define DDPF_RGB   0x00000040
 
#define DDSD_CAPS   0x00000001
 
#define DDSD_HEIGHT   0x00000002
 
#define DDSD_WIDTH   0x00000004
 
#define DDSD_PITCH   0x00000008
 
#define DDSD_PIXELFORMAT   0x00001000
 
#define DDSD_MIPMAPCOUNT   0x00020000
 
#define DDSD_LINEARSIZE   0x00080000
 
#define DDSD_DEPTH   0x00800000
 
#define DDSCAPS_MIPMAP   0x00400000
 
#define DDSCAPS_TEXTURE   0x00001000
 

Functions

static void s3tc_decompress_level (size_t level, size_t level_w, size_t level_h, const u8 *RESTRICT level_data, size_t level_data_size, void *RESTRICT cbData)
 
static Status s3tc_decompress (Tex *t)
 
static bool is_valid_dxt (size_t dxt)
 
static Status decode_pf (const DDS_PIXELFORMAT *pf, size_t &bpp, size_t &flags)
 
static Status decode_sd (const DDS_HEADER *sd, size_t &w, size_t &h, size_t &bpp, size_t &flags)
 
static bool dds_is_hdr (const u8 *file)
 
static bool dds_is_ext (const OsPath &extension)
 
static size_t dds_hdr_size (const u8 *file)
 
static Status dds_decode (rpU8 data, size_t size, Tex *RESTRICT t)
 
static Status dds_encode (Tex *RESTRICT t, DynArray *RESTRICT da)
 
 TIMER_ADD_CLIENT (tc_dds_transform)
 
static Status dds_transform (Tex *t, size_t transforms)
 
 TEX_CODEC_REGISTER (dds)
 

Macro Definition Documentation

#define DDPF_ALPHAPIXELS   0x00000001

Definition at line 316 of file tex_dds.cpp.

#define DDPF_FOURCC   0x00000004

Definition at line 317 of file tex_dds.cpp.

#define DDPF_RGB   0x00000040

Definition at line 318 of file tex_dds.cpp.

#define DDSCAPS_MIPMAP   0x00400000

Definition at line 344 of file tex_dds.cpp.

#define DDSCAPS_TEXTURE   0x00001000

Definition at line 345 of file tex_dds.cpp.

#define DDSD_CAPS   0x00000001

Definition at line 334 of file tex_dds.cpp.

#define DDSD_DEPTH   0x00800000

Definition at line 341 of file tex_dds.cpp.

#define DDSD_HEIGHT   0x00000002

Definition at line 335 of file tex_dds.cpp.

#define DDSD_LINEARSIZE   0x00080000

Definition at line 340 of file tex_dds.cpp.

#define DDSD_MIPMAPCOUNT   0x00020000

Definition at line 339 of file tex_dds.cpp.

#define DDSD_PITCH   0x00000008

Definition at line 337 of file tex_dds.cpp.

#define DDSD_PIXELFORMAT   0x00001000

Definition at line 338 of file tex_dds.cpp.

#define DDSD_WIDTH   0x00000004

Definition at line 336 of file tex_dds.cpp.

Function Documentation

static Status dds_decode ( rpU8  data,
size_t  size,
Tex *RESTRICT  t 
)
static

Definition at line 591 of file tex_dds.cpp.

static Status dds_encode ( Tex *RESTRICT  t,
DynArray *RESTRICT  da 
)
static

Definition at line 599 of file tex_dds.cpp.

static size_t dds_hdr_size ( const u8 file)
static

Definition at line 585 of file tex_dds.cpp.

static bool dds_is_ext ( const OsPath extension)
static

Definition at line 579 of file tex_dds.cpp.

static bool dds_is_hdr ( const u8 file)
static

Definition at line 573 of file tex_dds.cpp.

static Status dds_transform ( Tex t,
size_t  transforms 
)
static

Definition at line 609 of file tex_dds.cpp.

static Status decode_pf ( const DDS_PIXELFORMAT pf,
size_t &  bpp,
size_t &  flags 
)
static

Definition at line 390 of file tex_dds.cpp.

static Status decode_sd ( const DDS_HEADER sd,
size_t &  w,
size_t &  h,
size_t &  bpp,
size_t &  flags 
)
static

Definition at line 479 of file tex_dds.cpp.

static bool is_valid_dxt ( size_t  dxt)
static

Definition at line 370 of file tex_dds.cpp.

static Status s3tc_decompress ( Tex t)
static

Definition at line 274 of file tex_dds.cpp.

static void s3tc_decompress_level ( size_t  level,
size_t  level_w,
size_t  level_h,
const u8 *RESTRICT  level_data,
size_t  level_data_size,
void *RESTRICT  cbData 
)
static

Definition at line 229 of file tex_dds.cpp.

TEX_CODEC_REGISTER ( dds  )
TIMER_ADD_CLIENT ( tc_dds_transform  )