1#include "FormatsGL20.h"
3#include "../TextureData.h"
4#include "../SamplerState.h"
6const GLenum Cogs::OpenGL20::TextureFormats[] = {
98 GL_DEPTH_COMPONENT32F,
100 GL_DEPTH_COMPONENT16,
120 GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
121 GL_COMPRESSED_RGB_S3TC_DXT1_EXT,
122 GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
123 GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
124 GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
125 GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
126 GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
127 GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
128 GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
129 GL_COMPRESSED_RED_RGTC1,
130 GL_COMPRESSED_RED_RGTC1,
131 GL_COMPRESSED_SIGNED_RED_RGTC1,
132 GL_COMPRESSED_RG_RGTC2,
133 GL_COMPRESSED_RG_RGTC2,
134 GL_COMPRESSED_SIGNED_RG_RGTC2,
137 GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB,
138 GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB,
139 GL_COMPRESSED_RGBA_BPTC_UNORM_ARB,
140 GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB,
149 GL_COMPRESSED_R11_EAC,
150 GL_COMPRESSED_SIGNED_R11_EAC,
151 GL_COMPRESSED_RG11_EAC,
152 GL_COMPRESSED_SIGNED_RG11_EAC,
154 GL_COMPRESSED_RGB8_ETC2,
155 GL_COMPRESSED_SRGB8_ETC2,
156 GL_COMPRESSED_RGBA8_ETC2_EAC,
157 GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
160 GL_COMPRESSED_RGBA_ASTC_4x4_KHR,
161 GL_COMPRESSED_RGBA_ASTC_5x4_KHR,
162 GL_COMPRESSED_RGBA_ASTC_5x5_KHR,
163 GL_COMPRESSED_RGBA_ASTC_6x5_KHR,
164 GL_COMPRESSED_RGBA_ASTC_6x6_KHR,
165 GL_COMPRESSED_RGBA_ASTC_8x5_KHR,
166 GL_COMPRESSED_RGBA_ASTC_8x6_KHR,
167 GL_COMPRESSED_RGBA_ASTC_8x8_KHR,
168 GL_COMPRESSED_RGBA_ASTC_10x5_KHR,
169 GL_COMPRESSED_RGBA_ASTC_10x6_KHR,
170 GL_COMPRESSED_RGBA_ASTC_10x8_KHR,
171 GL_COMPRESSED_RGBA_ASTC_10x10_KHR,
172 GL_COMPRESSED_RGBA_ASTC_12x10_KHR,
173 GL_COMPRESSED_RGBA_ASTC_12x12_KHR,
175 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
176 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
177 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
178 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
179 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
180 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
181 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
182 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
183 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
184 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
185 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
186 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
187 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
188 GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
215STATIC_ASSERT_MAPPING(Cogs::OpenGL20::TextureFormats, (
int)Cogs::TextureFormat::TextureFormat_Size);
217const GLenum Cogs::OpenGL20::PixelTypes[] = {
425STATIC_ASSERT_MAPPING(Cogs::OpenGL20::PixelTypes, (
int)Cogs::TextureFormat::TextureFormat_Size);
427const GLenum Cogs::OpenGL20::PixelFormats[] = {
635STATIC_ASSERT_MAPPING(Cogs::OpenGL20::PixelFormats, (
int)Cogs::TextureFormat::TextureFormat_Size);
637const GLenum Cogs::OpenGL20::ElementFormats[] = {
727 GL_UNSIGNED_INT_24_8,
728 GL_UNSIGNED_INT_24_8,
833 GL_UNSIGNED_INT_2_10_10_10_REV,
834 GL_UNSIGNED_INT_2_10_10_10_REV,
835 GL_UNSIGNED_INT_2_10_10_10_REV,
847STATIC_ASSERT_MAPPING(Cogs::OpenGL20::ElementFormats, Cogs::Format::Format_Size);
849const GLboolean Cogs::OpenGL20::CompressedFormats[] = {
1049static_assert(
sizeof(Cogs::OpenGL20::CompressedFormats) ==
sizeof(Cogs::OpenGL20::CompressedFormats[0]) * size_t(Cogs::DataFormat::Format_Size));
1052const GLenum Cogs::OpenGL20::PrimitiveFormats[] = {
1058 GL_TRIANGLES_ADJACENCY,
1059 GL_TRIANGLE_STRIP_ADJACENCY,
1061 GL_LINE_STRIP_ADJACENCY,
1069STATIC_ASSERT_MAPPING(Cogs::OpenGL20::PrimitiveFormats, (
int)Cogs::PrimitiveType::PrimitiveType_Size);
1071extern const GLenum Cogs::OpenGL20::MipMinFilterModes[] = {
1072 GL_NEAREST_MIPMAP_LINEAR,
1073 GL_LINEAR_MIPMAP_LINEAR,
1074 GL_NEAREST_MIPMAP_LINEAR,
1075 GL_LINEAR_MIPMAP_LINEAR,
1078STATIC_ASSERT_MAPPING(Cogs::OpenGL20::MipMinFilterModes, Cogs::SamplerState::FilterMode_Size);
1080extern const GLenum Cogs::OpenGL20::MagFilterModes[] = {
1087STATIC_ASSERT_MAPPING(Cogs::OpenGL20::MagFilterModes, Cogs::SamplerState::FilterMode_Size);
1089extern const GLenum Cogs::OpenGL20::AddressModes[] = {
1096STATIC_ASSERT_MAPPING(Cogs::OpenGL20::AddressModes, Cogs::SamplerState::AddressMode_Size);
1098extern const GLenum Cogs::OpenGL20::ComparisonFunctions[] = {
1109STATIC_ASSERT_MAPPING(Cogs::OpenGL20::ComparisonFunctions, Cogs::SamplerState::ComparisonFunction_Size);
1111extern const GLenum Cogs::OpenGL20::TextureTarget[] = {
1115 GL_TEXTURE_1D_ARRAY,
1117 GL_TEXTURE_2D_ARRAY,
1118 GL_TEXTURE_2D_MULTISAMPLE,
1119 GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
1122 GL_TEXTURE_CUBE_MAP,
1123 GL_TEXTURE_CUBE_MAP_ARRAY,
1127STATIC_ASSERT_MAPPING(Cogs::OpenGL20::TextureTarget, (
int)Cogs::ResourceDimensions::ResourceDimensions_Size);