You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-30 18:30:54 +00:00
libktx: Update to 4.4.2
This commit is contained in:
4
thirdparty/README.md
vendored
4
thirdparty/README.md
vendored
@@ -558,7 +558,7 @@ Patches:
|
|||||||
## libktx
|
## libktx
|
||||||
|
|
||||||
- Upstream: https://github.com/KhronosGroup/KTX-Software
|
- Upstream: https://github.com/KhronosGroup/KTX-Software
|
||||||
- Version: 4.4.0 (beef80159525d9fb7abb8645ea85f4c4f6842e8f, 2025)
|
- Version: 4.4.2 (4d6fc70eaf62ad0558e63e8d97eb9766118327a6, 2025)
|
||||||
- License: Apache 2.0
|
- License: Apache 2.0
|
||||||
|
|
||||||
Files extracted from upstream source:
|
Files extracted from upstream source:
|
||||||
@@ -568,7 +568,7 @@ Files extracted from upstream source:
|
|||||||
- `external/dfdutils/LICENSE.adoc` as `LICENSE.dfdutils.adoc` (in root)
|
- `external/dfdutils/LICENSE.adoc` as `LICENSE.dfdutils.adoc` (in root)
|
||||||
- `external/dfdutils/LICENSES/Apache-2.0.txt` as `Apache-2.0.txt` (in root)
|
- `external/dfdutils/LICENSES/Apache-2.0.txt` as `Apache-2.0.txt` (in root)
|
||||||
- `external/dfdutils/{KHR/,dfd.h,colourspaces.c,createdfd.c,interpretdfd.c,printdfd.c,queries.c,dfd2vk.inl,vk2dfd.*}`
|
- `external/dfdutils/{KHR/,dfd.h,colourspaces.c,createdfd.c,interpretdfd.c,printdfd.c,queries.c,dfd2vk.inl,vk2dfd.*}`
|
||||||
- `lib/{basis_sgd.h,formatsize.h,gl_format.h,ktxint.h,uthash.h,vk_format.h,vkformat_enum.h,checkheader.c,swap.c,hashlist.c,vkformat_check.c,vkformat_typesize.c,basis_transcode.cpp,miniz_wrapper.cpp,filestream.*,memstream.*,texture*}`
|
- `lib/{basis_sgd.h,formatsize.h,gl_format.h,ktxint.h,uthash.h,vk_format.h,vkformat_enum.h,checkheader.c,swap.c,hashlist.c,vkformat_check*.c,vkformat_typesize.c,basis_transcode.cpp,miniz_wrapper.cpp,filestream.*,memstream.*,texture*}`
|
||||||
- `other_include/KHR/`
|
- `other_include/KHR/`
|
||||||
- `utils/unused.h`
|
- `utils/unused.h`
|
||||||
|
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ static uint32_t compBytes[] = {
|
|||||||
* @param bwidth Block width in texel coordinates.
|
* @param bwidth Block width in texel coordinates.
|
||||||
* @param bheight Block height in texel coordinates.
|
* @param bheight Block height in texel coordinates.
|
||||||
* @param bdepth Block depth in texel coordinates.
|
* @param bdepth Block depth in texel coordinates.
|
||||||
* @author Mark Callow, Edgewise Consulting.
|
* @author Mark Callow, github.com/MarkCallow.
|
||||||
* @param suffix Indicates the format suffix for the type.
|
* @param suffix Indicates the format suffix for the type.
|
||||||
*
|
*
|
||||||
* @return A data format descriptor in malloc'd data. The caller is responsible
|
* @return A data format descriptor in malloc'd data. The caller is responsible
|
||||||
|
|||||||
15
thirdparty/libktx/include/ktx.h
vendored
15
thirdparty/libktx/include/ktx.h
vendored
@@ -1274,14 +1274,17 @@ typedef enum ktx_pack_astc_block_dimension_e {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @~English
|
* @~English
|
||||||
* @brief Options specifying ASTC encoder profile mode
|
* @brief Options specifying ASTC encoder mode.
|
||||||
* This and function is used later to derive the profile.
|
|
||||||
*/
|
*/
|
||||||
typedef enum ktx_pack_astc_encoder_mode_e {
|
typedef enum ktx_pack_astc_encoder_mode_e {
|
||||||
KTX_PACK_ASTC_ENCODER_MODE_DEFAULT,
|
KTX_PACK_ASTC_ENCODER_MODE_DEFAULT,
|
||||||
|
/*!< Selects LDR mode if component size is <= 8-bit, HDR otherwise. */
|
||||||
KTX_PACK_ASTC_ENCODER_MODE_LDR,
|
KTX_PACK_ASTC_ENCODER_MODE_LDR,
|
||||||
|
/*!< Always encode in low dynamic range mode. */
|
||||||
KTX_PACK_ASTC_ENCODER_MODE_HDR,
|
KTX_PACK_ASTC_ENCODER_MODE_HDR,
|
||||||
|
/*!< Always encode in high dynamic range mode. */
|
||||||
KTX_PACK_ASTC_ENCODER_MODE_MAX = KTX_PACK_ASTC_ENCODER_MODE_HDR
|
KTX_PACK_ASTC_ENCODER_MODE_MAX = KTX_PACK_ASTC_ENCODER_MODE_HDR
|
||||||
|
/*!< Indicates the maximum permissible value. */
|
||||||
} ktx_pack_astc_encoder_mode_e;
|
} ktx_pack_astc_encoder_mode_e;
|
||||||
|
|
||||||
extern KTX_API const ktx_uint32_t KTX_ETC1S_DEFAULT_COMPRESSION_LEVEL;
|
extern KTX_API const ktx_uint32_t KTX_ETC1S_DEFAULT_COMPRESSION_LEVEL;
|
||||||
@@ -1800,7 +1803,13 @@ KTX_API KTX_error_code KTX_APIENTRY ktxPrintInfoForNamedFile(const char* const f
|
|||||||
KTX_API KTX_error_code KTX_APIENTRY ktxPrintInfoForMemory(const ktx_uint8_t* bytes, ktx_size_t size);
|
KTX_API KTX_error_code KTX_APIENTRY ktxPrintInfoForMemory(const ktx_uint8_t* bytes, ktx_size_t size);
|
||||||
|
|
||||||
/*===========================================================*
|
/*===========================================================*
|
||||||
* Utilities for printing info about a KTX2 file. *
|
* Utilities for printing info about a KTX v1 file. *
|
||||||
|
*===========================================================*/
|
||||||
|
|
||||||
|
KTX_API KTX_error_code KTX_APIENTRY ktxPrintKTX1InfoTextForStream(ktxStream* stream);
|
||||||
|
|
||||||
|
/*===========================================================*
|
||||||
|
* Utilities for printing info about a KTX v2 file. *
|
||||||
*===========================================================*/
|
*===========================================================*/
|
||||||
|
|
||||||
KTX_API KTX_error_code KTX_APIENTRY ktxPrintKTX2InfoTextForMemory(const ktx_uint8_t* bytes, ktx_size_t size);
|
KTX_API KTX_error_code KTX_APIENTRY ktxPrintKTX2InfoTextForMemory(const ktx_uint8_t* bytes, ktx_size_t size);
|
||||||
|
|||||||
2
thirdparty/libktx/include/ktxvulkan.h
vendored
2
thirdparty/libktx/include/ktxvulkan.h
vendored
@@ -22,7 +22,7 @@
|
|||||||
* means that vulkan.h must be included @e before including this file. The
|
* means that vulkan.h must be included @e before including this file. The
|
||||||
* alternative is duplicating unattractively large parts of it.
|
* alternative is duplicating unattractively large parts of it.
|
||||||
*
|
*
|
||||||
* @author Mark Callow, Edgewise Consulting
|
* @author Mark Callow, github.com/MarkCallow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ktx.h>
|
#include <ktx.h>
|
||||||
|
|||||||
2
thirdparty/libktx/lib/basis_transcode.cpp
vendored
2
thirdparty/libktx/lib/basis_transcode.cpp
vendored
@@ -15,7 +15,7 @@
|
|||||||
*
|
*
|
||||||
* Two worlds collide here too. More uglyness!
|
* Two worlds collide here too. More uglyness!
|
||||||
*
|
*
|
||||||
* @author Mark Callow, www.edgewise-consulting.com
|
* @author Mark Callow, github.com/MarkCallow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|||||||
2
thirdparty/libktx/lib/formatsize.h
vendored
2
thirdparty/libktx/lib/formatsize.h
vendored
@@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
* @brief Struct for returning size information about an image format.
|
* @brief Struct for returning size information about an image format.
|
||||||
*
|
*
|
||||||
* @author Mark Callow, www.edgewise-consulting.com
|
* @author Mark Callow, github.com/MarkCallow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _FORMATSIZE_H_
|
#ifndef _FORMATSIZE_H_
|
||||||
|
|||||||
2
thirdparty/libktx/lib/gl_format.h
vendored
2
thirdparty/libktx/lib/gl_format.h
vendored
@@ -74,7 +74,7 @@ static inline unsigned int glGetTypeSizeFromType( const GLenum type );
|
|||||||
MODIFICATIONS for use in libktx
|
MODIFICATIONS for use in libktx
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
2018.3.23 Added glGetTypeSizeFromType. Mark Callow, Edgewise Consulting.
|
2018.3.23 Added glGetTypeSizeFromType. Mark Callow, github.com/MarkCallow.
|
||||||
2019.3.09 #if 0 around GL type declarations. 〃
|
2019.3.09 #if 0 around GL type declarations. 〃
|
||||||
2019.5.30 Use common ktxFormatSize to return results. 〃
|
2019.5.30 Use common ktxFormatSize to return results. 〃
|
||||||
2019.5.30 Return blockSizeInBits 0 for default case of glGetFormatSize. 〃
|
2019.5.30 Return blockSizeInBits 0 for default case of glGetFormatSize. 〃
|
||||||
|
|||||||
2
thirdparty/libktx/lib/swap.c
vendored
2
thirdparty/libktx/lib/swap.c
vendored
@@ -1,7 +1,7 @@
|
|||||||
/* -*- tab-width: 4; -*- */
|
/* -*- tab-width: 4; -*- */
|
||||||
/* vi: set sw=2 ts=4 expandtab: */
|
/* vi: set sw=2 ts=4 expandtab: */
|
||||||
|
|
||||||
/* $Id$ */
|
/* $Id: 02ea6de2d8db512ca3af08f48b98ab5f6c35e7e5 $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright 2010-2020 The Khronos Group Inc.
|
* Copyright 2010-2020 The Khronos Group Inc.
|
||||||
|
|||||||
2
thirdparty/libktx/lib/texture.c
vendored
2
thirdparty/libktx/lib/texture.c
vendored
@@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
* @brief ktxTexture implementation.
|
* @brief ktxTexture implementation.
|
||||||
*
|
*
|
||||||
* @author Mark Callow, www.edgewise-consulting.com
|
* @author Mark Callow, github.com/MarkCallow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
|
|||||||
6
thirdparty/libktx/lib/texture1.c
vendored
6
thirdparty/libktx/lib/texture1.c
vendored
@@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
* @brief ktxTexture1 implementation. Support for KTX format.
|
* @brief ktxTexture1 implementation. Support for KTX format.
|
||||||
*
|
*
|
||||||
* @author Mark Callow, www.edgewise-consulting.com
|
* @author Mark Callow, github.com/MarkCallow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
@@ -284,8 +284,10 @@ ktxTexture1_constructFromStreamAndHeader(ktxTexture1* This, ktxStream* pStream,
|
|||||||
}
|
}
|
||||||
|
|
||||||
result = stream->read(stream, pKvd, kvdLen);
|
result = stream->read(stream, pKvd, kvdLen);
|
||||||
if (result != KTX_SUCCESS)
|
if (result != KTX_SUCCESS) {
|
||||||
|
free(pKvd);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
if (private->_needSwap) {
|
if (private->_needSwap) {
|
||||||
/* Swap the counts inside the key & value data. */
|
/* Swap the counts inside the key & value data. */
|
||||||
|
|||||||
35
thirdparty/libktx/lib/texture2.c
vendored
35
thirdparty/libktx/lib/texture2.c
vendored
@@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
* @brief ktxTexture2 implementation. Support for KTX2 format.
|
* @brief ktxTexture2 implementation. Support for KTX2 format.
|
||||||
*
|
*
|
||||||
* @author Mark Callow, www.edgewise-consulting.com
|
* @author Mark Callow, github.com/MarkCallow
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
@@ -55,8 +55,11 @@ struct ktxTexture_vtblInt ktxTexture2_vtblInt;
|
|||||||
struct sampleType {
|
struct sampleType {
|
||||||
uint32_t bitOffset: 16;
|
uint32_t bitOffset: 16;
|
||||||
uint32_t bitLength: 8;
|
uint32_t bitLength: 8;
|
||||||
uint32_t channelType: 8; // Includes qualifiers
|
// MSVC 14.44 introduced a warning when mixing enums of different types.
|
||||||
uint32_t samplePosition0: 8;
|
// To avoid doing that make separate channelId and qualifier fields.
|
||||||
|
uint32_t channelId : 4;
|
||||||
|
uint32_t datatypeQualifiers : 4;
|
||||||
|
uint32_t samplePosition0 : 8;
|
||||||
uint32_t samplePosition1: 8;
|
uint32_t samplePosition1: 8;
|
||||||
uint32_t samplePosition2: 8;
|
uint32_t samplePosition2: 8;
|
||||||
uint32_t samplePosition3: 8;
|
uint32_t samplePosition3: 8;
|
||||||
@@ -115,7 +118,8 @@ struct BDFD e5b9g9r9_ufloat_comparator = {
|
|||||||
.samples[0] = {
|
.samples[0] = {
|
||||||
.bitOffset = 0,
|
.bitOffset = 0,
|
||||||
.bitLength = 8,
|
.bitLength = 8,
|
||||||
.channelType = KHR_DF_CHANNEL_RGBSDA_RED,
|
.channelId = KHR_DF_CHANNEL_RGBSDA_RED,
|
||||||
|
.datatypeQualifiers = 0,
|
||||||
.samplePosition0 = 0,
|
.samplePosition0 = 0,
|
||||||
.samplePosition1 = 0,
|
.samplePosition1 = 0,
|
||||||
.samplePosition2 = 0,
|
.samplePosition2 = 0,
|
||||||
@@ -126,7 +130,10 @@ struct BDFD e5b9g9r9_ufloat_comparator = {
|
|||||||
.samples[1] = {
|
.samples[1] = {
|
||||||
.bitOffset = 27,
|
.bitOffset = 27,
|
||||||
.bitLength = 4,
|
.bitLength = 4,
|
||||||
.channelType = KHR_DF_CHANNEL_RGBSDA_RED | KHR_DF_SAMPLE_DATATYPE_EXPONENT,
|
.channelId = KHR_DF_CHANNEL_RGBSDA_RED,
|
||||||
|
// The constant is defined to be ORed with a channelId into
|
||||||
|
// an 8-bit value. Shift to make it suitable for the 4-bit field.
|
||||||
|
.datatypeQualifiers = (KHR_DF_SAMPLE_DATATYPE_EXPONENT >> 4U),
|
||||||
.samplePosition0 = 0,
|
.samplePosition0 = 0,
|
||||||
.samplePosition1 = 0,
|
.samplePosition1 = 0,
|
||||||
.samplePosition2 = 0,
|
.samplePosition2 = 0,
|
||||||
@@ -137,7 +144,8 @@ struct BDFD e5b9g9r9_ufloat_comparator = {
|
|||||||
.samples[2] = {
|
.samples[2] = {
|
||||||
.bitOffset = 9,
|
.bitOffset = 9,
|
||||||
.bitLength = 8,
|
.bitLength = 8,
|
||||||
.channelType = KHR_DF_CHANNEL_RGBSDA_GREEN,
|
.channelId = KHR_DF_CHANNEL_RGBSDA_GREEN,
|
||||||
|
.datatypeQualifiers = 0,
|
||||||
.samplePosition0 = 0,
|
.samplePosition0 = 0,
|
||||||
.samplePosition1 = 0,
|
.samplePosition1 = 0,
|
||||||
.samplePosition2 = 0,
|
.samplePosition2 = 0,
|
||||||
@@ -148,7 +156,9 @@ struct BDFD e5b9g9r9_ufloat_comparator = {
|
|||||||
.samples[3] = {
|
.samples[3] = {
|
||||||
.bitOffset = 27,
|
.bitOffset = 27,
|
||||||
.bitLength = 4,
|
.bitLength = 4,
|
||||||
.channelType = KHR_DF_CHANNEL_RGBSDA_GREEN | KHR_DF_SAMPLE_DATATYPE_EXPONENT,
|
.channelId = KHR_DF_CHANNEL_RGBSDA_GREEN,
|
||||||
|
// Ditto comment in samples[1].
|
||||||
|
.datatypeQualifiers = (KHR_DF_SAMPLE_DATATYPE_EXPONENT >> 4U),
|
||||||
.samplePosition0 = 0,
|
.samplePosition0 = 0,
|
||||||
.samplePosition1 = 0,
|
.samplePosition1 = 0,
|
||||||
.samplePosition2 = 0,
|
.samplePosition2 = 0,
|
||||||
@@ -159,7 +169,8 @@ struct BDFD e5b9g9r9_ufloat_comparator = {
|
|||||||
.samples[4] = {
|
.samples[4] = {
|
||||||
.bitOffset = 18,
|
.bitOffset = 18,
|
||||||
.bitLength = 8,
|
.bitLength = 8,
|
||||||
.channelType = KHR_DF_CHANNEL_RGBSDA_BLUE,
|
.channelId = KHR_DF_CHANNEL_RGBSDA_BLUE,
|
||||||
|
.datatypeQualifiers = 0,
|
||||||
.samplePosition0 = 0,
|
.samplePosition0 = 0,
|
||||||
.samplePosition1 = 0,
|
.samplePosition1 = 0,
|
||||||
.samplePosition2 = 0,
|
.samplePosition2 = 0,
|
||||||
@@ -170,7 +181,9 @@ struct BDFD e5b9g9r9_ufloat_comparator = {
|
|||||||
.samples[5] = {
|
.samples[5] = {
|
||||||
.bitOffset = 27,
|
.bitOffset = 27,
|
||||||
.bitLength = 4,
|
.bitLength = 4,
|
||||||
.channelType = KHR_DF_CHANNEL_RGBSDA_BLUE | KHR_DF_SAMPLE_DATATYPE_EXPONENT,
|
.channelId = KHR_DF_CHANNEL_RGBSDA_BLUE,
|
||||||
|
// Ditto comment in samples[1].
|
||||||
|
.datatypeQualifiers = (KHR_DF_SAMPLE_DATATYPE_EXPONENT >> 4U),
|
||||||
.samplePosition0 = 0,
|
.samplePosition0 = 0,
|
||||||
.samplePosition1 = 0,
|
.samplePosition1 = 0,
|
||||||
.samplePosition2 = 0,
|
.samplePosition2 = 0,
|
||||||
@@ -887,8 +900,10 @@ ktxTexture2_constructFromStreamAndHeader(ktxTexture2* This, ktxStream* pStream,
|
|||||||
}
|
}
|
||||||
|
|
||||||
result = stream->read(stream, pKvd, kvdLen);
|
result = stream->read(stream, pKvd, kvdLen);
|
||||||
if (result != KTX_SUCCESS)
|
if (result != KTX_SUCCESS) {
|
||||||
|
free(pKvd);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
if (IS_BIG_ENDIAN) {
|
if (IS_BIG_ENDIAN) {
|
||||||
/* Swap the counts inside the key & value data. */
|
/* Swap the counts inside the key & value data. */
|
||||||
|
|||||||
2
thirdparty/libktx/lib/vk_format.h
vendored
2
thirdparty/libktx/lib/vk_format.h
vendored
@@ -71,7 +71,7 @@ static inline void vkGetFormatSize( const VkFormat format, VkFormatSize * pForma
|
|||||||
MODIFICATIONS for use in libktx
|
MODIFICATIONS for use in libktx
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
2019.5.30 Use common ktxFormatSize to return results. Mark Callow, Edgewise Consulting.
|
2019.5.30 Use common ktxFormatSize to return results. Mark Callow, github.com/MarkCallow.
|
||||||
2019.6.12 Add mapping of PVRTC formats. "
|
2019.6.12 Add mapping of PVRTC formats. "
|
||||||
|
|
||||||
================================================================================================
|
================================================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user