From 8f44270e4afe47e5127981762f3a527c8bd3e709 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Tue, 16 Jan 2024 19:42:21 +0100 Subject: [PATCH] Rip out compressed color formats --- include/EDriverFeatures.h | 15 --- include/IImage.h | 103 +---------------- include/ITexture.h | 5 - include/SColor.h | 58 ---------- source/Irrlicht/CColorConverter.cpp | 15 --- source/Irrlicht/CImage.cpp | 8 -- source/Irrlicht/CNullDriver.cpp | 62 ----------- source/Irrlicht/COGLES2Driver.cpp | 86 --------------- source/Irrlicht/COGLES2ExtensionHandler.h | 10 -- source/Irrlicht/COGLESDriver.cpp | 98 ----------------- source/Irrlicht/COGLESExtensionHandler.h | 8 -- source/Irrlicht/COpenGLDriver.cpp | 25 +---- source/Irrlicht/COpenGLExtensionHandler.cpp | 2 - source/Irrlicht/CWebGL1Driver.cpp | 116 -------------------- 14 files changed, 5 insertions(+), 606 deletions(-) diff --git a/include/EDriverFeatures.h b/include/EDriverFeatures.h index 2157cd78..d9e70df0 100644 --- a/include/EDriverFeatures.h +++ b/include/EDriverFeatures.h @@ -121,21 +121,6 @@ namespace video //! Support for texture coord transformation via texture matrix EVDF_TEXTURE_MATRIX, - //! Support for DXTn compressed textures. - EVDF_TEXTURE_COMPRESSED_DXT, - - //! Support for PVRTC compressed textures. - EVDF_TEXTURE_COMPRESSED_PVRTC, - - //! Support for PVRTC2 compressed textures. - EVDF_TEXTURE_COMPRESSED_PVRTC2, - - //! Support for ETC1 compressed textures. - EVDF_TEXTURE_COMPRESSED_ETC1, - - //! Support for ETC2 compressed textures. - EVDF_TEXTURE_COMPRESSED_ETC2, - //! Support for cube map textures. EVDF_TEXTURE_CUBEMAP, diff --git a/include/IImage.h b/include/IImage.h index b32fcfb2..738d1e02 100644 --- a/include/IImage.h +++ b/include/IImage.h @@ -362,28 +362,6 @@ public: return 24; case ECF_A8R8G8B8: return 32; - case ECF_DXT1: - return 16; - case ECF_DXT2: - case ECF_DXT3: - case ECF_DXT4: - case ECF_DXT5: - return 32; - case ECF_PVRTC_RGB2: - return 12; - case ECF_PVRTC_ARGB2: - case ECF_PVRTC2_ARGB2: - return 16; - case ECF_PVRTC_RGB4: - return 24; - case ECF_PVRTC_ARGB4: - case ECF_PVRTC2_ARGB4: - return 32; - case ECF_ETC1: - case ECF_ETC2_RGB: - return 24; - case ECF_ETC2_ARGB: - return 32; case ECF_D16: return 16; case ECF_D32: @@ -418,74 +396,17 @@ public: //! calculate image data size in bytes for selected format, width and height. static u32 getDataSizeFromFormat(ECOLOR_FORMAT format, u32 width, u32 height) { - u32 imageSize = 0; - - switch (format) - { - case ECF_DXT1: - imageSize = ((width + 3) / 4) * ((height + 3) / 4) * 8; - break; - case ECF_DXT2: - case ECF_DXT3: - case ECF_DXT4: - case ECF_DXT5: - imageSize = ((width + 3) / 4) * ((height + 3) / 4) * 16; - break; - case ECF_PVRTC_RGB2: - case ECF_PVRTC_ARGB2: - imageSize = (core::max_(width, 16) * core::max_(height, 8) * 2 + 7) / 8; - break; - case ECF_PVRTC_RGB4: - case ECF_PVRTC_ARGB4: - imageSize = (core::max_(width, 8) * core::max_(height, 8) * 4 + 7) / 8; - break; - case ECF_PVRTC2_ARGB2: - imageSize = core::ceil32(width / 8.0f) * core::ceil32(height / 4.0f) * 8; - break; - case ECF_PVRTC2_ARGB4: - case ECF_ETC1: - case ECF_ETC2_RGB: - imageSize = core::ceil32(width / 4.0f) * core::ceil32(height / 4.0f) * 8; - break; - case ECF_ETC2_ARGB: - imageSize = core::ceil32(width / 4.0f) * core::ceil32(height / 4.0f) * 16; - break; - default: // uncompressed formats - imageSize = getBitsPerPixelFromFormat(format) / 8 * width; - imageSize *= height; - break; - } + // non-compressed formats + u32 imageSize = getBitsPerPixelFromFormat(format) / 8 * width; + imageSize *= height; return imageSize; } -// Define to check for all compressed image formats cases in a switch -#define IRR_CASE_IIMAGE_COMPRESSED_FORMAT\ - case ECF_DXT1:\ - case ECF_DXT2:\ - case ECF_DXT3:\ - case ECF_DXT4:\ - case ECF_DXT5:\ - case ECF_PVRTC_RGB2:\ - case ECF_PVRTC_ARGB2:\ - case ECF_PVRTC2_ARGB2:\ - case ECF_PVRTC_RGB4:\ - case ECF_PVRTC_ARGB4:\ - case ECF_PVRTC2_ARGB4:\ - case ECF_ETC1:\ - case ECF_ETC2_RGB:\ - case ECF_ETC2_ARGB: - //! check if this is compressed color format static bool isCompressedFormat(const ECOLOR_FORMAT format) { - switch(format) - { - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - return true; - default: - return false; - } + return false; } //! check if the color format is only viable for depth/stencil textures @@ -523,22 +444,6 @@ public: return false; } -#if defined(PATCH_SUPERTUX_8_0_1_with_1_9_0) - static bool isRenderTargetOnlyFormat(const ECOLOR_FORMAT format) - { - switch (format) - { - case ECF_A1R5G5B5: - case ECF_R5G6B5: - case ECF_R8G8B8: - case ECF_A8R8G8B8: - return false; - default: - return true; - } - } -#endif - protected: ECOLOR_FORMAT Format; core::dimension2d Size; diff --git a/include/ITexture.h b/include/ITexture.h index 458ed0f0..baae29b6 100644 --- a/include/ITexture.h +++ b/include/ITexture.h @@ -292,11 +292,6 @@ public: { case ECF_A8R8G8B8: case ECF_A1R5G5B5: - case ECF_DXT1: - case ECF_DXT2: - case ECF_DXT3: - case ECF_DXT4: - case ECF_DXT5: case ECF_A16B16G16R16F: case ECF_A32B32G32R32F: status = true; diff --git a/include/SColor.h b/include/SColor.h index e7cc28fe..710421c9 100644 --- a/include/SColor.h +++ b/include/SColor.h @@ -37,50 +37,6 @@ namespace video //! Warning: This tends to be BGRA in memory (it's ARGB on file, but with usual big-endian memory it's flipped) ECF_A8R8G8B8, - /** Compressed image formats. **/ - - //! DXT1 color format. - ECF_DXT1, - - //! DXT2 color format. - ECF_DXT2, - - //! DXT3 color format. - ECF_DXT3, - - //! DXT4 color format. - ECF_DXT4, - - //! DXT5 color format. - ECF_DXT5, - - //! PVRTC RGB 2bpp. - ECF_PVRTC_RGB2, - - //! PVRTC ARGB 2bpp. - ECF_PVRTC_ARGB2, - - //! PVRTC RGB 4bpp. - ECF_PVRTC_RGB4, - - //! PVRTC ARGB 4bpp. - ECF_PVRTC_ARGB4, - - //! PVRTC2 ARGB 2bpp. - ECF_PVRTC2_ARGB2, - - //! PVRTC2 ARGB 4bpp. - ECF_PVRTC2_ARGB4, - - //! ETC1 RGB. - ECF_ETC1, - - //! ETC2 RGB. - ECF_ETC2_RGB, - - //! ETC2 ARGB. - ECF_ETC2_ARGB, - /** The following formats may only be used for render target textures. */ /** Floating point formats. */ @@ -139,20 +95,6 @@ namespace video "R5G6B5", "R8G8B8", "A8R8G8B8", - "DXT1", - "DXT2", - "DXT3", - "DXT4", - "DXT5", - "PVRTC_RGB2", - "PVRTC_ARGB2", - "PVRTC_RGB4", - "PVRTC_ARGB4", - "PVRTC2_ARGB2", - "PVRTC2_ARGB4", - "ETC1", - "ETC2_RGB", - "ETC2_ARGB", "R16F", "G16R16F", "A16B16G16R16F", diff --git a/source/Irrlicht/CColorConverter.cpp b/source/Irrlicht/CColorConverter.cpp index 6e463249..0e87d6c3 100644 --- a/source/Irrlicht/CColorConverter.cpp +++ b/source/Irrlicht/CColorConverter.cpp @@ -757,9 +757,6 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN case ECF_R8G8B8: convert_A1R5G5B5toR8G8B8(sP, sN, dP); break; - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING); - break; default: break; @@ -780,9 +777,6 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN case ECF_R8G8B8: convert_R5G6B5toR8G8B8(sP, sN, dP); break; - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING); - break; default: break; @@ -803,9 +797,6 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN case ECF_R8G8B8: convert_A8R8G8B8toR8G8B8(sP, sN, dP); break; - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING); - break; default: break; @@ -826,17 +817,11 @@ void CColorConverter::convert_viaFormat(const void* sP, ECOLOR_FORMAT sF, s32 sN case ECF_R8G8B8: convert_R8G8B8toR8G8B8(sP, sN, dP); break; - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING); - break; default: break; } break; - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("CColorConverter::convert_viaFormat method doesn't support compressed images.", ELL_WARNING); - break; default: break; diff --git a/source/Irrlicht/CImage.cpp b/source/Irrlicht/CImage.cpp index 8b50c63c..c4fd3a2e 100644 --- a/source/Irrlicht/CImage.cpp +++ b/source/Irrlicht/CImage.cpp @@ -75,10 +75,6 @@ void CImage::setPixel(u32 x, u32 y, const SColor &color, bool blend) *dest = blend ? PixelBlend32 ( *dest, color.color ) : color.color; } break; - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("IImage::setPixel method doesn't work with compressed images.", ELL_WARNING); - return; - case ECF_UNKNOWN: os::Printer::log("IImage::setPixel unknown format.", ELL_WARNING); return; @@ -109,10 +105,6 @@ SColor CImage::getPixel(u32 x, u32 y) const return SColor(255,p[0],p[1],p[2]); } - IRR_CASE_IIMAGE_COMPRESSED_FORMAT - os::Printer::log("IImage::getPixel method doesn't work with compressed images.", ELL_WARNING); - break; - case ECF_UNKNOWN: os::Printer::log("IImage::getPixel unknown format.", ELL_WARNING); break; diff --git a/source/Irrlicht/CNullDriver.cpp b/source/Irrlicht/CNullDriver.cpp index 90b88e04..bd6d17a2 100644 --- a/source/Irrlicht/CNullDriver.cpp +++ b/source/Irrlicht/CNullDriver.cpp @@ -1001,68 +1001,6 @@ bool CNullDriver::checkPrimitiveCount(u32 prmCount) const bool CNullDriver::checkImage(IImage *image) const { - ECOLOR_FORMAT format = image->getColorFormat(); - core::dimension2d size = image->getDimension(); - - switch (format) - { - case ECF_DXT1: - case ECF_DXT2: - case ECF_DXT3: - case ECF_DXT4: - case ECF_DXT5: - if (!queryFeature(EVDF_TEXTURE_COMPRESSED_DXT)) - { - os::Printer::log("DXT texture compression not available.", ELL_ERROR); - return false; - } - else if (size.getOptimalSize(true, false) != size) - { - os::Printer::log("Invalid size of image for DXT texture, size of image must be power of two.", ELL_ERROR); - return false; - } - break; - case ECF_PVRTC_RGB2: - case ECF_PVRTC_ARGB2: - case ECF_PVRTC_RGB4: - case ECF_PVRTC_ARGB4: - if (!queryFeature(EVDF_TEXTURE_COMPRESSED_PVRTC)) - { - os::Printer::log("PVRTC texture compression not available.", ELL_ERROR); - return false; - } - else if (size.getOptimalSize(true, false) != size) - { - os::Printer::log("Invalid size of image for PVRTC compressed texture, size of image must be power of two and squared.", ELL_ERROR); - return false; - } - break; - case ECF_PVRTC2_ARGB2: - case ECF_PVRTC2_ARGB4: - if (!queryFeature(EVDF_TEXTURE_COMPRESSED_PVRTC2)) - { - os::Printer::log("PVRTC2 texture compression not available.", ELL_ERROR); - return false; - } - break; - case ECF_ETC1: - if (!queryFeature(EVDF_TEXTURE_COMPRESSED_ETC1)) - { - os::Printer::log("ETC1 texture compression not available.", ELL_ERROR); - return false; - } - break; - case ECF_ETC2_RGB: - case ECF_ETC2_ARGB: - if (!queryFeature(EVDF_TEXTURE_COMPRESSED_ETC2)) - { - os::Printer::log("ETC2 texture compression not available.", ELL_ERROR); - return false; - } - break; - default: - break; - } return true; } diff --git a/source/Irrlicht/COGLES2Driver.cpp b/source/Irrlicht/COGLES2Driver.cpp index c8d5d075..58d08601 100644 --- a/source/Irrlicht/COGLES2Driver.cpp +++ b/source/Irrlicht/COGLES2Driver.cpp @@ -2533,92 +2533,6 @@ COGLES2Driver::~COGLES2Driver() } pixelType = GL_UNSIGNED_BYTE; break; -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT1: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; - break; -#endif -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT2: - case ECF_DXT3: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; - break; -#endif -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT4: - case ECF_DXT5: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_RGB2: - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_ARGB2: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_RGB4: - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_ARGB4: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc2 - case ECF_PVRTC2_ARGB2: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc2 - case ECF_PVRTC2_ARGB4: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG; - break; -#endif -#ifdef GL_OES_compressed_ETC1_RGB8_texture - case ECF_ETC1: - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_ETC1_RGB8_OES; - break; -#endif -#ifdef GL_ES_VERSION_3_0 // TO-DO - fix when extension name will be available - case ECF_ETC2_RGB: - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB8_ETC2; - break; -#endif -#ifdef GL_ES_VERSION_3_0 // TO-DO - fix when extension name will be available - case ECF_ETC2_ARGB: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA8_ETC2_EAC; - break; -#endif case ECF_D16: supported = true; pixelFormat = GL_DEPTH_COMPONENT; diff --git a/source/Irrlicht/COGLES2ExtensionHandler.h b/source/Irrlicht/COGLES2ExtensionHandler.h index d5752dca..5e108c40 100644 --- a/source/Irrlicht/COGLES2ExtensionHandler.h +++ b/source/Irrlicht/COGLES2ExtensionHandler.h @@ -64,16 +64,6 @@ namespace video case EVDF_MRT_BLEND_FUNC: case EVDF_OCCLUSION_QUERY: return false; - case EVDF_TEXTURE_COMPRESSED_DXT: - return false; // NV Tegra need improvements here - case EVDF_TEXTURE_COMPRESSED_PVRTC: - return FeatureAvailable[IRR_GL_IMG_texture_compression_pvrtc]; - case EVDF_TEXTURE_COMPRESSED_PVRTC2: - return FeatureAvailable[IRR_GL_IMG_texture_compression_pvrtc2]; - case EVDF_TEXTURE_COMPRESSED_ETC1: - return FeatureAvailable[IRR_GL_OES_compressed_ETC1_RGB8_texture]; - case EVDF_TEXTURE_COMPRESSED_ETC2: - return false; case EVDF_STENCIL_BUFFER: return StencilBuffer; default: diff --git a/source/Irrlicht/COGLESDriver.cpp b/source/Irrlicht/COGLESDriver.cpp index f6a2ced0..677cc818 100644 --- a/source/Irrlicht/COGLESDriver.cpp +++ b/source/Irrlicht/COGLESDriver.cpp @@ -2888,104 +2888,6 @@ bool COGLES1Driver::getColorFormatParameters(ECOLOR_FORMAT format, GLint& intern } pixelType = GL_UNSIGNED_BYTE; break; -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT1: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; - break; -#endif -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT2: - case ECF_DXT3: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; - break; -#endif -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT4: - case ECF_DXT5: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_RGB2: - supported = true; - internalFormat = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_ARGB2: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_RGB4: - supported = true; - internalFormat = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_ARGB4: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc2 - case ECF_PVRTC2_ARGB2: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG; - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc2 - case ECF_PVRTC2_ARGB4: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG; - break; -#endif -#ifdef GL_OES_compressed_ETC1_RGB8_texture - case ECF_ETC1: - supported = true; - internalFormat = GL_ETC1_RGB8_OES; - pixelFormat = GL_RGB; - pixelType = GL_ETC1_RGB8_OES; - break; -#endif -#ifdef GL_ES_VERSION_3_0 // TO-DO - fix when extension name will be available - case ECF_ETC2_RGB: - supported = true; - internalFormat = GL_COMPRESSED_RGB8_ETC2; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB8_ETC2; - break; -#endif -#ifdef GL_ES_VERSION_3_0 // TO-DO - fix when extension name will be available - case ECF_ETC2_ARGB: - supported = true; - internalFormat = GL_COMPRESSED_RGBA8_ETC2_EAC; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA8_ETC2_EAC; - break; -#endif case ECF_D16: supported = true; internalFormat = GL_DEPTH_COMPONENT16; diff --git a/source/Irrlicht/COGLESExtensionHandler.h b/source/Irrlicht/COGLESExtensionHandler.h index 6ce2e8ec..62e89dea 100644 --- a/source/Irrlicht/COGLESExtensionHandler.h +++ b/source/Irrlicht/COGLESExtensionHandler.h @@ -55,14 +55,6 @@ namespace video return FeatureAvailable[IRR_GL_OES_framebuffer_object]; case EVDF_VERTEX_BUFFER_OBJECT: return Version>100; - case EVDF_TEXTURE_COMPRESSED_DXT: - return false; // NV Tegra need improvements here - case EVDF_TEXTURE_COMPRESSED_PVRTC: - return FeatureAvailable[IRR_GL_IMG_texture_compression_pvrtc]; - case EVDF_TEXTURE_COMPRESSED_ETC1: - return FeatureAvailable[IRR_GL_OES_compressed_ETC1_RGB8_texture]; - case EVDF_TEXTURE_CUBEMAP: - return FeatureAvailable[IRR_GL_OES_texture_cube_map]; default: return true; }; diff --git a/source/Irrlicht/COpenGLDriver.cpp b/source/Irrlicht/COpenGLDriver.cpp index 20ffaf05..435c2fbd 100644 --- a/source/Irrlicht/COpenGLDriver.cpp +++ b/source/Irrlicht/COpenGLDriver.cpp @@ -48,7 +48,7 @@ bool COpenGLDriver::initDriver() genericDriverInit(); -#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) +#if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) extGlSwapInterval(Params.Vsync ? 1 : 0); #endif @@ -3962,29 +3962,6 @@ bool COpenGLDriver::getColorFormatParameters(ECOLOR_FORMAT format, GLint& intern if (Version > 101) pixelType = GL_UNSIGNED_INT_8_8_8_8_REV; break; - case ECF_DXT1: - if (queryOpenGLFeature(COpenGLExtensionHandler::IRR_EXT_texture_compression_s3tc)) - { - supported = true; - internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; - pixelFormat = GL_BGRA_EXT; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; - } - break; - case ECF_DXT2: - case ECF_DXT3: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; - pixelFormat = GL_BGRA_EXT; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; - break; - case ECF_DXT4: - case ECF_DXT5: - supported = true; - internalFormat = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; - pixelFormat = GL_BGRA_EXT; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; - break; case ECF_D16: supported = true; internalFormat = GL_DEPTH_COMPONENT16; diff --git a/source/Irrlicht/COpenGLExtensionHandler.cpp b/source/Irrlicht/COpenGLExtensionHandler.cpp index 8a374d02..d1c4a46b 100644 --- a/source/Irrlicht/COpenGLExtensionHandler.cpp +++ b/source/Irrlicht/COpenGLExtensionHandler.cpp @@ -882,8 +882,6 @@ bool COpenGLExtensionHandler::queryFeature(E_VIDEO_DRIVER_FEATURE feature) const return (Version>=104) || FeatureAvailable[IRR_EXT_blend_func_separate]; case EVDF_TEXTURE_MATRIX: return true; - case EVDF_TEXTURE_COMPRESSED_DXT: - return FeatureAvailable[IRR_EXT_texture_compression_s3tc]; case EVDF_TEXTURE_CUBEMAP: return (Version >= 103) || FeatureAvailable[IRR_ARB_texture_cube_map] || FeatureAvailable[IRR_EXT_texture_cube_map]; case EVDF_TEXTURE_CUBEMAP_SEAMLESS: diff --git a/source/Irrlicht/CWebGL1Driver.cpp b/source/Irrlicht/CWebGL1Driver.cpp index 519496ce..045cd9f7 100644 --- a/source/Irrlicht/CWebGL1Driver.cpp +++ b/source/Irrlicht/CWebGL1Driver.cpp @@ -782,122 +782,6 @@ bool CWebGL1Driver::getColorFormatParameters(ECOLOR_FORMAT format, GLint& intern *converter = CColorConverter::convert_A8R8G8B8toA8B8G8R8; pixelType = GL_UNSIGNED_BYTE; break; -#ifdef GL_EXT_texture_compression_dxt1 - case ECF_DXT1: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_s3tc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT1_EXT; - } - break; -#endif -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT2: - case ECF_DXT3: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_s3tc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT3_EXT; - } - break; -#endif -#ifdef GL_EXT_texture_compression_s3tc - case ECF_DXT4: - case ECF_DXT5: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_s3tc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_S3TC_DXT5_EXT; - } - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_RGB2: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_pvrtc) ) - { - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG; - } - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_ARGB2: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_pvrtc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG; - } - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_RGB4: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_pvrtc) ) - { - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG; - } - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc - case ECF_PVRTC_ARGB4: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_pvrtc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; - } - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc2 - case ECF_PVRTC2_ARGB2: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_pvrtc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG; - } - break; -#endif -#ifdef GL_IMG_texture_compression_pvrtc2 - case ECF_PVRTC2_ARGB4: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_pvrtc) ) - { - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG; - } - break; -#endif -#ifdef GL_OES_compressed_ETC1_RGB8_texture - case ECF_ETC1: - if ( WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_compressed_texture_etc1) ) - { - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_ETC1_RGB8_OES; - } - break; -#endif -#ifdef GL_ES_VERSION_3_0 // TO-DO - fix when extension name will be available - case ECF_ETC2_RGB: - supported = true; - pixelFormat = GL_RGB; - pixelType = GL_COMPRESSED_RGB8_ETC2; - break; -#endif -#ifdef GL_ES_VERSION_3_0 // TO-DO - fix when extension name will be available - case ECF_ETC2_ARGB: - supported = true; - pixelFormat = GL_RGBA; - pixelType = GL_COMPRESSED_RGBA8_ETC2_EAC; - break; -#endif case ECF_D16: if (WebGLExtensions.queryWebGLFeature(CWebGLExtensionHandler::IRR_WEBGL_depth_texture)) {