MCPcopy Create free account
hub / github.com/KhronosGroup/KTX-Software / vkGetFormatFromOpenGLInternalFormat

Function vkGetFormatFromOpenGLInternalFormat

lib/vk_format.h:572–826  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

570#endif
571
572static inline VkFormat vkGetFormatFromOpenGLInternalFormat( const GLenum internalFormat )
573{
574 switch ( internalFormat )
575 {
576 //
577 // 8 bits per component
578 //
579 case GL_R8: return VK_FORMAT_R8_UNORM; // 1-component, 8-bit unsigned normalized
580 case GL_RG8: return VK_FORMAT_R8G8_UNORM; // 2-component, 8-bit unsigned normalized
581 case GL_RGB8: return VK_FORMAT_R8G8B8_UNORM; // 3-component, 8-bit unsigned normalized
582 case GL_RGBA8: return VK_FORMAT_R8G8B8A8_UNORM; // 4-component, 8-bit unsigned normalized
583
584 case GL_R8_SNORM: return VK_FORMAT_R8_SNORM; // 1-component, 8-bit signed normalized
585 case GL_RG8_SNORM: return VK_FORMAT_R8G8_SNORM; // 2-component, 8-bit signed normalized
586 case GL_RGB8_SNORM: return VK_FORMAT_R8G8B8_SNORM; // 3-component, 8-bit signed normalized
587 case GL_RGBA8_SNORM: return VK_FORMAT_R8G8B8A8_SNORM; // 4-component, 8-bit signed normalized
588
589 case GL_R8UI: return VK_FORMAT_R8_UINT; // 1-component, 8-bit unsigned integer
590 case GL_RG8UI: return VK_FORMAT_R8G8_UINT; // 2-component, 8-bit unsigned integer
591 case GL_RGB8UI: return VK_FORMAT_R8G8B8_UINT; // 3-component, 8-bit unsigned integer
592 case GL_RGBA8UI: return VK_FORMAT_R8G8B8A8_UINT; // 4-component, 8-bit unsigned integer
593
594 case GL_R8I: return VK_FORMAT_R8_SINT; // 1-component, 8-bit signed integer
595 case GL_RG8I: return VK_FORMAT_R8G8_SINT; // 2-component, 8-bit signed integer
596 case GL_RGB8I: return VK_FORMAT_R8G8B8_SINT; // 3-component, 8-bit signed integer
597 case GL_RGBA8I: return VK_FORMAT_R8G8B8A8_SINT; // 4-component, 8-bit signed integer
598
599 case GL_SR8: return VK_FORMAT_R8_SRGB; // 1-component, 8-bit sRGB
600 case GL_SRG8: return VK_FORMAT_R8G8_SRGB; // 2-component, 8-bit sRGB
601 case GL_SRGB8: return VK_FORMAT_R8G8B8_SRGB; // 3-component, 8-bit sRGB
602 case GL_SRGB8_ALPHA8: return VK_FORMAT_R8G8B8A8_SRGB; // 4-component, 8-bit sRGB
603
604 //
605 // 16 bits per component
606 //
607 case GL_R16: return VK_FORMAT_R16_UNORM; // 1-component, 16-bit unsigned normalized
608 case GL_RG16: return VK_FORMAT_R16G16_UNORM; // 2-component, 16-bit unsigned normalized
609 case GL_RGB16: return VK_FORMAT_R16G16B16_UNORM; // 3-component, 16-bit unsigned normalized
610 case GL_RGBA16: return VK_FORMAT_R16G16B16A16_UNORM; // 4-component, 16-bit unsigned normalized
611
612 case GL_R16_SNORM: return VK_FORMAT_R16_SNORM; // 1-component, 16-bit signed normalized
613 case GL_RG16_SNORM: return VK_FORMAT_R16G16_SNORM; // 2-component, 16-bit signed normalized
614 case GL_RGB16_SNORM: return VK_FORMAT_R16G16B16_SNORM; // 3-component, 16-bit signed normalized
615 case GL_RGBA16_SNORM: return VK_FORMAT_R16G16B16A16_SNORM; // 4-component, 16-bit signed normalized
616
617 case GL_R16UI: return VK_FORMAT_R16_UINT; // 1-component, 16-bit unsigned integer
618 case GL_RG16UI: return VK_FORMAT_R16G16_UINT; // 2-component, 16-bit unsigned integer
619 case GL_RGB16UI: return VK_FORMAT_R16G16B16_UINT; // 3-component, 16-bit unsigned integer
620 case GL_RGBA16UI: return VK_FORMAT_R16G16B16A16_UINT; // 4-component, 16-bit unsigned integer
621
622 case GL_R16I: return VK_FORMAT_R16_SINT; // 1-component, 16-bit signed integer
623 case GL_RG16I: return VK_FORMAT_R16G16_SINT; // 2-component, 16-bit signed integer
624 case GL_RGB16I: return VK_FORMAT_R16G16B16_SINT; // 3-component, 16-bit signed integer
625 case GL_RGBA16I: return VK_FORMAT_R16G16B16A16_SINT; // 4-component, 16-bit signed integer
626
627 case GL_R16F: return VK_FORMAT_R16_SFLOAT; // 1-component, 16-bit floating-point
628 case GL_RG16F: return VK_FORMAT_R16G16_SFLOAT; // 2-component, 16-bit floating-point
629 case GL_RGB16F: return VK_FORMAT_R16G16B16_SFLOAT; // 3-component, 16-bit floating-point

Callers 6

ktxTexture1_GetVkFormatFunction · 0.85
ktxTextureTestBaseMethod · 0.85
compareTextureMethod · 0.85
runTestMethod · 0.85
compareMethod · 0.85

Calls

no outgoing calls

Tested by 3

ktxTextureTestBaseMethod · 0.68
compareTextureMethod · 0.68
runTestMethod · 0.68