Add ktx
This commit is contained in:
+132
@@ -0,0 +1,132 @@
|
||||
/* -*- tab-width: 4; -*- */
|
||||
/* vi: set sw=2 ts=4 expandtab textwidth=70: */
|
||||
|
||||
/*
|
||||
* Copyright 2024 Mark Callow.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* @internal
|
||||
* @file
|
||||
* @~English
|
||||
*
|
||||
* @brief Get GL format information matching a VkFormat
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _VK2GL_H_
|
||||
#define _VK2GL_H_
|
||||
|
||||
#include "vkformat_enum.h"
|
||||
#include "GL/glcorearb.h"
|
||||
|
||||
// These are only in glext.h.
|
||||
#if !defined( GL_COMPRESSED_SRGB_S3TC_DXT1_EXT )
|
||||
#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C
|
||||
#endif
|
||||
#if !defined( GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT )
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
|
||||
#endif
|
||||
#if !defined( GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT )
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
|
||||
#endif
|
||||
#if !defined( GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT )
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
|
||||
#endif
|
||||
|
||||
// These are only in GLES headers not in glcorearb.h or glext.h.
|
||||
|
||||
//
|
||||
// ETC
|
||||
//
|
||||
|
||||
#if !defined( GL_ETC1_RGB8_OES )
|
||||
#define GL_ETC1_RGB8_OES 0x8D64
|
||||
#endif
|
||||
|
||||
//
|
||||
// PVRTC
|
||||
//
|
||||
|
||||
#if !defined( GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG )
|
||||
#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01
|
||||
#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02
|
||||
#endif
|
||||
#if !defined( GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG )
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137
|
||||
#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138
|
||||
#endif
|
||||
#if !defined( GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT )
|
||||
#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54
|
||||
#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57
|
||||
#endif
|
||||
#if !defined( GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG )
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG 0x93F0
|
||||
#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG 0x93F1
|
||||
#endif
|
||||
|
||||
//
|
||||
// ASTC
|
||||
//
|
||||
|
||||
#if !defined( GL_COMPRESSED_RGBA_ASTC_3x3x3_OES )
|
||||
#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0
|
||||
#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1
|
||||
#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2
|
||||
#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3
|
||||
#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4
|
||||
#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5
|
||||
#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6
|
||||
#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7
|
||||
#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8
|
||||
#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9
|
||||
#endif
|
||||
|
||||
#if !defined( GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES )
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8
|
||||
#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9
|
||||
#endif
|
||||
|
||||
static inline GLenum vkFormat2glInternalFormat( VkFormat vkFormat )
|
||||
{
|
||||
switch ( vkFormat )
|
||||
{
|
||||
#include "vkFormat2glInternalFormat.inl"
|
||||
default: return GL_INVALID_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static inline GLenum vkFormat2glFormat( VkFormat vkFormat )
|
||||
{
|
||||
switch ( vkFormat )
|
||||
{
|
||||
#include "vkFormat2glFormat.inl"
|
||||
default: return GL_INVALID_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
static inline GLenum vkFormat2glType( VkFormat vkFormat )
|
||||
{
|
||||
switch ( vkFormat )
|
||||
{
|
||||
#include "vkFormat2glType.inl"
|
||||
default: return GL_INVALID_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* _VK2GL_H_ */
|
||||
|
||||
Reference in New Issue
Block a user