/// Returns the swizzle value for the specified component/coord TextureSwizzle Swizzle(TextureSwizzleCoord coord) const { switch(GLenum(coord)) { case GL_TEXTURE_SWIZZLE_R: return SwizzleR(); case GL_TEXTURE_SWIZZLE_G: return SwizzleG(); case GL_TEXTURE_SWIZZLE_B: return SwizzleB(); case GL_TEXTURE_SWIZZLE_A: return SwizzleA(); } return TextureSwizzle(); }
static TextureSwizzle Convert(VkComponentSwizzle s, int i) { switch(s) { default: RDCWARN("Unexpected component swizzle value %d", (int)s); case VK_COMPONENT_SWIZZLE_IDENTITY: break; case VK_COMPONENT_SWIZZLE_ZERO: return TextureSwizzle::Zero; case VK_COMPONENT_SWIZZLE_ONE: return TextureSwizzle::One; case VK_COMPONENT_SWIZZLE_R: return TextureSwizzle::Red; case VK_COMPONENT_SWIZZLE_G: return TextureSwizzle::Green; case VK_COMPONENT_SWIZZLE_B: return TextureSwizzle::Blue; case VK_COMPONENT_SWIZZLE_A: return TextureSwizzle::Alpha; } return TextureSwizzle(uint32_t(TextureSwizzle::Red) + i); }
/// Returns the swizzle value for green component TextureSwizzle SwizzleG(void) const { return TextureSwizzle(_values[1]); }
/// Returns the swizzle value for red component TextureSwizzle SwizzleR(void) const { return TextureSwizzle(_values[0]); }
/// Returns the swizzle value for alpha component TextureSwizzle SwizzleA(void) const { return TextureSwizzle(_values[3]); }
/// Returns the swizzle value for blue component TextureSwizzle SwizzleB(void) const { return TextureSwizzle(_values[2]); }