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,
211STATIC_ASSERT_MAPPING(Cogs::OpenGL20::TextureFormats, (
int)Cogs::TextureFormat::TextureFormat_Size);
213const GLenum Cogs::OpenGL20::PixelTypes[] = {
417STATIC_ASSERT_MAPPING(Cogs::OpenGL20::PixelTypes, (
int)Cogs::TextureFormat::TextureFormat_Size);
419const GLenum Cogs::OpenGL20::PixelFormats[] = {
623STATIC_ASSERT_MAPPING(Cogs::OpenGL20::PixelFormats, (
int)Cogs::TextureFormat::TextureFormat_Size);
625const GLenum Cogs::OpenGL20::ElementFormats[] = {
715 GL_UNSIGNED_INT_24_8,
716 GL_UNSIGNED_INT_24_8,
817 GL_UNSIGNED_INT_2_10_10_10_REV,
818 GL_UNSIGNED_INT_2_10_10_10_REV,
819 GL_UNSIGNED_INT_2_10_10_10_REV,
831STATIC_ASSERT_MAPPING(Cogs::OpenGL20::ElementFormats, Cogs::Format::Format_Size);
833const GLboolean Cogs::OpenGL20::CompressedFormats[] = {
1029static_assert(
sizeof(Cogs::OpenGL20::CompressedFormats) ==
sizeof(Cogs::OpenGL20::CompressedFormats[0]) * size_t(Cogs::DataFormat::Format_Size));
1032const GLenum Cogs::OpenGL20::PrimitiveFormats[] = {
1038 GL_TRIANGLES_ADJACENCY,
1039 GL_TRIANGLE_STRIP_ADJACENCY,
1041 GL_LINE_STRIP_ADJACENCY,
1049STATIC_ASSERT_MAPPING(Cogs::OpenGL20::PrimitiveFormats, (
int)Cogs::PrimitiveType::PrimitiveType_Size);
1051extern const GLenum Cogs::OpenGL20::MipMinFilterModes[] = {
1052 GL_NEAREST_MIPMAP_LINEAR,
1053 GL_LINEAR_MIPMAP_LINEAR,
1054 GL_NEAREST_MIPMAP_LINEAR,
1055 GL_LINEAR_MIPMAP_LINEAR,
1058STATIC_ASSERT_MAPPING(Cogs::OpenGL20::MipMinFilterModes, Cogs::SamplerState::FilterMode_Size);
1060extern const GLenum Cogs::OpenGL20::MagFilterModes[] = {
1067STATIC_ASSERT_MAPPING(Cogs::OpenGL20::MagFilterModes, Cogs::SamplerState::FilterMode_Size);
1069extern const GLenum Cogs::OpenGL20::AddressModes[] = {
1076STATIC_ASSERT_MAPPING(Cogs::OpenGL20::AddressModes, Cogs::SamplerState::AddressMode_Size);
1078extern const GLenum Cogs::OpenGL20::ComparisonFunctions[] = {
1089STATIC_ASSERT_MAPPING(Cogs::OpenGL20::ComparisonFunctions, Cogs::SamplerState::ComparisonFunction_Size);
1091extern const GLenum Cogs::OpenGL20::TextureTarget[] = {
1095 GL_TEXTURE_1D_ARRAY,
1097 GL_TEXTURE_2D_ARRAY,
1098 GL_TEXTURE_2D_MULTISAMPLE,
1099 GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
1102 GL_TEXTURE_CUBE_MAP,
1103 GL_TEXTURE_CUBE_MAP_ARRAY,
1107STATIC_ASSERT_MAPPING(Cogs::OpenGL20::TextureTarget, (
int)Cogs::ResourceDimensions::ResourceDimensions_Size);