Skip to content

Commit

Permalink
ogles 2 driver: Delete some dead code
Browse files Browse the repository at this point in the history
grepping for IRR_COMPILE_GLES2_COMMON gives no other results

COGLESCoreExtensionHandler is only used through COpenGL3ExtensionHandler
  • Loading branch information
grorp committed Nov 7, 2024
1 parent b970fa7 commit 8067093
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 144 deletions.
92 changes: 1 addition & 91 deletions irr/src/COGLESCoreExtensionHandler.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,39 +24,21 @@ class COGLESCoreExtensionHandler
enum EOGLESFeatures
{
// If you update this enum also update the corresponding OGLESFeatureStrings string-array
IRR_GL_APPLE_texture_2D_limited_npot,
IRR_GL_APPLE_texture_format_BGRA8888,
IRR_GL_EXT_blend_minmax,
IRR_GL_EXT_read_format_bgra,
IRR_GL_EXT_texture_filter_anisotropic,
IRR_GL_EXT_texture_format_BGRA8888,
IRR_GL_EXT_texture_lod_bias,
IRR_GL_EXT_texture_rg,
IRR_GL_IMG_read_format,
IRR_GL_IMG_texture_format_BGRA8888,
IRR_GL_IMG_user_clip_plane,
IRR_GL_OES_blend_func_separate,
IRR_GL_OES_blend_subtract,
IRR_GL_OES_depth_texture,
IRR_GL_OES_depth24,
IRR_GL_OES_depth32,
IRR_GL_OES_element_index_uint,
IRR_GL_OES_framebuffer_object,
IRR_GL_OES_packed_depth_stencil,
IRR_GL_OES_point_size_array,
IRR_GL_OES_point_sprite,
IRR_GL_OES_read_format,
IRR_GL_OES_stencil_wrap,
IRR_GL_OES_texture_float,
IRR_GL_OES_texture_half_float,
IRR_GL_OES_texture_mirrored_repeat,
IRR_GL_OES_texture_npot,

IRR_OGLES_Feature_Count
};

COGLESCoreExtensionHandler() :
Version(0), MaxAnisotropy(1), MaxIndices(0xffff),
MaxAnisotropy(1), MaxIndices(0xffff),
MaxTextureSize(1), MaxTextureLODBias(0.f), StencilBuffer(false)
{
for (u32 i = 0; i < IRR_OGLES_Feature_Count; ++i)
Expand All @@ -81,99 +63,27 @@ class COGLESCoreExtensionHandler
os::Printer::log(getFeatureString(i), FeatureAvailable[i] ? " true" : " false");
}

bool queryGLESFeature(EOGLESFeatures feature) const
{
return FeatureAvailable[feature];
}

protected:
const char *getFeatureString(size_t index) const
{
// One for each EOGLESFeatures
static const char *const OGLESFeatureStrings[IRR_OGLES_Feature_Count] = {
"GL_APPLE_texture_2D_limited_npot",
"GL_APPLE_texture_format_BGRA8888",
"GL_EXT_blend_minmax",
"GL_EXT_read_format_bgra",
"GL_EXT_texture_filter_anisotropic",
"GL_EXT_texture_format_BGRA8888",
"GL_EXT_texture_lod_bias",
"GL_EXT_texture_rg",
"GL_IMG_read_format",
"GL_IMG_texture_format_BGRA8888",
"GL_IMG_user_clip_plane",
"GL_OES_blend_func_separate",
"GL_OES_blend_subtract",
"GL_OES_depth_texture",
"GL_OES_depth24",
"GL_OES_depth32",
"GL_OES_element_index_uint",
"GL_OES_framebuffer_object",
"GL_OES_packed_depth_stencil",
"GL_OES_point_size_array",
"GL_OES_point_sprite",
"GL_OES_read_format",
"GL_OES_stencil_wrap",
"GL_OES_texture_float",
"GL_OES_texture_half_float",
"GL_OES_texture_mirrored_repeat",
"GL_OES_texture_npot",
};

return OGLESFeatureStrings[index];
}

void getGLVersion()
{
Version = 0;
s32 multiplier = 100;

core::stringc version(glGetString(GL_VERSION));

for (u32 i = 0; i < version.size(); ++i) {
if (version[i] >= '0' && version[i] <= '9') {
if (multiplier > 1) {
Version += static_cast<u16>(core::floor32(atof(&(version[i]))) * multiplier);
multiplier /= 10;
} else {
break;
}
}
}
}

void getGLExtensions()
{
core::stringc extensions = glGetString(GL_EXTENSIONS);
os::Printer::log(extensions.c_str());

const u32 size = extensions.size() + 1;
c8 *str = new c8[size];
strncpy(str, extensions.c_str(), extensions.size());
str[extensions.size()] = ' ';
c8 *p = str;

for (u32 i = 0; i < size; ++i) {
if (str[i] == ' ') {
str[i] = 0;
if (*p)
for (size_t j = 0; j < IRR_OGLES_Feature_Count; ++j) {
if (!strcmp(getFeatureString(j), p)) {
FeatureAvailable[j] = true;
break;
}
}

p = p + strlen(p) + 1;
}
}

delete[] str;
}

COpenGLCoreFeature Feature;

u16 Version;
u8 MaxAnisotropy;
u32 MaxIndices;
u32 MaxTextureSize;
Expand Down
53 changes: 0 additions & 53 deletions irr/src/COpenGLCoreTexture.h
Original file line number Diff line number Diff line change
Expand Up @@ -296,59 +296,6 @@ class COpenGLCoreTexture : public ITexture

delete[] tmpBuffer;
}
#elif defined(IRR_COMPILE_GLES2_COMMON)
COpenGLCoreTexture *tmpTexture = new COpenGLCoreTexture("OGL_CORE_LOCK_TEXTURE", Size, ETT_2D, ColorFormat, Driver);

GLuint tmpFBO = 0;
Driver->irrGlGenFramebuffers(1, &tmpFBO);

GLint prevViewportX = 0;
GLint prevViewportY = 0;
GLsizei prevViewportWidth = 0;
GLsizei prevViewportHeight = 0;
Driver->getCacheHandler()->getViewport(prevViewportX, prevViewportY, prevViewportWidth, prevViewportHeight);
Driver->getCacheHandler()->setViewport(0, 0, Size.Width, Size.Height);

GLuint prevFBO = 0;
Driver->getCacheHandler()->getFBO(prevFBO);
Driver->getCacheHandler()->setFBO(tmpFBO);

Driver->irrGlFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, tmpTexture->getOpenGLTextureName(), 0);

GL.Clear(GL_COLOR_BUFFER_BIT);

Driver->draw2DImage(this, layer, true);

IImage *tmpImage = Driver->createImage(ECF_A8R8G8B8, Size);
GL.ReadPixels(0, 0, Size.Width, Size.Height, GL_RGBA, GL_UNSIGNED_BYTE, tmpImage->getData());

Driver->getCacheHandler()->setFBO(prevFBO);
Driver->getCacheHandler()->setViewport(prevViewportX, prevViewportY, prevViewportWidth, prevViewportHeight);

Driver->irrGlDeleteFramebuffers(1, &tmpFBO);
delete tmpTexture;

void *src = tmpImage->getData();
void *dest = LockImage->getData();

switch (ColorFormat) {
case ECF_A1R5G5B5:
CColorConverter::convert_A8R8G8B8toA1B5G5R5(src, tmpImage->getDimension().getArea(), dest);
break;
case ECF_R5G6B5:
CColorConverter::convert_A8R8G8B8toR5G6B5(src, tmpImage->getDimension().getArea(), dest);
break;
case ECF_R8G8B8:
CColorConverter::convert_A8R8G8B8toB8G8R8(src, tmpImage->getDimension().getArea(), dest);
break;
case ECF_A8R8G8B8:
CColorConverter::convert_A8R8G8B8toA8B8G8R8(src, tmpImage->getDimension().getArea(), dest);
break;
default:
passed = false;
break;
}
tmpImage->drop();
#endif

if (!passed) {
Expand Down

0 comments on commit 8067093

Please sign in to comment.