// File: crn_dxt_hc_common.h // See Copyright Notice and license at the end of inc/crnlib.h #pragma once namespace crnlib { struct chunk_tile_desc { // These values are in pixels, and always a multiple of cBlockPixelWidth/cBlockPixelHeight. uint m_x_ofs; uint m_y_ofs; uint m_width; uint m_height; uint m_layout_index; }; struct chunk_encoding_desc { uint m_num_tiles; chunk_tile_desc m_tiles[4]; }; const uint cChunkPixelWidth = 8; const uint cChunkPixelHeight = 8; const uint cChunkBlockWidth = 2; const uint cChunkBlockHeight = 2; const uint cChunkMaxTiles = 4; const uint cBlockPixelWidthShift = 2; const uint cBlockPixelHeightShift = 2; const uint cBlockPixelWidth = 4; const uint cBlockPixelHeight = 4; const uint cNumChunkEncodings = 8; extern chunk_encoding_desc g_chunk_encodings[cNumChunkEncodings]; const uint cNumChunkTileLayouts = 9; const uint cFirst4x4ChunkTileLayout = 5; extern chunk_tile_desc g_chunk_tile_layouts[cNumChunkTileLayouts]; } // namespace crnlib