MCPcopy Create free account
hub / github.com/baldurk/renderdoc / GetCompressedBlockSize

Function GetCompressedBlockSize

renderdoc/driver/gl/gl_resources.cpp:293–488  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

291}
292
293rdcfixedarray<uint32_t, 3> GetCompressedBlockSize(GLenum internalformat)
294{
295 if(!IsCompressedFormat(internalformat))
296 {
297 RDCERR("Not compressed format %s", ToStr(internalformat).c_str());
298 return {1u, 1u, 1u};
299 }
300
301 uint32_t astc[3] = {0, 0, 1u};
302
303 switch(internalformat)
304 {
305 // BC1
306 case eGL_COMPRESSED_RGB_S3TC_DXT1_EXT:
307 case eGL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
308 case eGL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
309 case eGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
310 // BC2
311 case eGL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
312 case eGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
313 // BC3
314 case eGL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
315 case eGL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
316 // BC4
317 case eGL_COMPRESSED_RED_RGTC1:
318 case eGL_COMPRESSED_SIGNED_RED_RGTC1:
319 // BC5
320 case eGL_COMPRESSED_RG_RGTC2:
321 case eGL_COMPRESSED_SIGNED_RG_RGTC2:
322 // BC6
323 case eGL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB:
324 case eGL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB:
325 // BC7
326 case eGL_COMPRESSED_RGBA_BPTC_UNORM_ARB:
327 case eGL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB:
328 // ETC1
329 case eGL_ETC1_RGB8_OES:
330 // ETC2
331 case eGL_COMPRESSED_RGB8_ETC2:
332 case eGL_COMPRESSED_SRGB8_ETC2:
333 case eGL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:
334 case eGL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
335 // EAC
336 case eGL_COMPRESSED_RGBA8_ETC2_EAC:
337 case eGL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:
338 case eGL_COMPRESSED_R11_EAC:
339 case eGL_COMPRESSED_SIGNED_R11_EAC:
340 case eGL_COMPRESSED_RG11_EAC:
341 case eGL_COMPRESSED_SIGNED_RG11_EAC: return {4u, 4u, 1u};
342 // ASTC
343 case eGL_COMPRESSED_RGBA_ASTC_4x4_KHR:
344 case eGL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:
345 astc[0] = 4;
346 astc[1] = 4;
347 break;
348 case eGL_COMPRESSED_RGBA_ASTC_5x4_KHR:
349 case eGL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:
350 astc[0] = 5;

Callers 2

glCopyImageSubDataMethod · 0.85

Calls 3

IsCompressedFormatFunction · 0.85
ToStrFunction · 0.85
c_strMethod · 0.45

Tested by

no test coverage detected