#include <msp/gl/extensions/arb_texture_float.h>
#include <msp/gl/extensions/ext_bgra.h>
#include <msp/gl/extensions/ext_texture_srgb.h>
+#include <msp/gl/extensions/msp_legacy_features.h>
+#include <msp/gl/extensions/msp_sized_internal_formats.h>
namespace Msp {
namespace GL {
enum PixelFormat
{
- COLOR_INDEX = GL_COLOR_INDEX,
STENCIL_INDEX = GL_STENCIL_INDEX,
DEPTH_COMPONENT = GL_DEPTH_COMPONENT,
- RED = GL_RED,
- GREEN = GL_GREEN,
- BLUE = GL_BLUE,
- ALPHA = GL_ALPHA,
RGB = GL_RGB,
RGBA = GL_RGBA,
RGB8 = GL_RGB8,
- RGB16F = GL_RGB16F_ARB,
- RGB32F = GL_RGB32F_ARB,
+ RGB16F = GL_RGB16F,
+ RGB32F = GL_RGB32F,
RGBA8 = GL_RGBA8,
- RGBA16F = GL_RGBA16F_ARB,
- RGBA32F = GL_RGBA32F_ARB,
- SRGB = GL_SRGB_EXT,
- SRGB_ALPHA = GL_SRGB_ALPHA_EXT,
- SRGB8 = GL_SRGB8_EXT,
- SRGB8_ALPHA8 = GL_SRGB8_ALPHA8_EXT,
+ RGBA16F = GL_RGBA16F,
+ RGBA32F = GL_RGBA32F,
+ SRGB = GL_SRGB,
+ SRGB_ALPHA = GL_SRGB_ALPHA,
+ SRGB8 = GL_SRGB8,
+ SRGB8_ALPHA8 = GL_SRGB8_ALPHA8,
BGR = GL_BGR,
BGRA = GL_BGRA,
LUMINANCE = GL_LUMINANCE,
LUMINANCE8 = GL_LUMINANCE8,
+ // TODO Remove LUMINANCE(_ALPHA) float formats once ARB_texture_rg becomes supported
LUMINANCE16F = GL_LUMINANCE16F_ARB,
LUMINANCE32F = GL_LUMINANCE32F_ARB,
LUMINANCE_ALPHA = GL_LUMINANCE_ALPHA,
LUMINANCE_ALPHA8 = GL_LUMINANCE8_ALPHA8,
LUMINANCE_ALPHA16F = GL_LUMINANCE_ALPHA16F_ARB,
LUMINANCE_ALPHA32F = GL_LUMINANCE_ALPHA32F_ARB,
- SLUMINANCE = GL_SLUMINANCE_EXT,
- SLUMINANCE8 = GL_SLUMINANCE8_EXT,
- SLUMINANCE_ALPHA = GL_SLUMINANCE_ALPHA_EXT,
- SLUMINANCE8_ALPHA8 = GL_SLUMINANCE8_ALPHA8_EXT
+ SLUMINANCE = GL_SLUMINANCE,
+ SLUMINANCE8 = GL_SLUMINANCE8,
+ SLUMINANCE_ALPHA = GL_SLUMINANCE_ALPHA,
+ SLUMINANCE8_ALPHA8 = GL_SLUMINANCE8_ALPHA8
};
void operator>>(const LexicalConverter &, PixelFormat &);