The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

c/client: Correctly check for sRGB format

+19 -17
+19 -17
src/xrt/compositor/client/comp_gl_eglimage_swapchain.c
··· 140 140 141 141 #if defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER) 142 142 static inline bool 143 - vk_format_to_srgb(uint64_t format) 143 + is_gl_format_srgb(uint64_t format) 144 144 { 145 145 switch (format) { 146 - case 37 /*VK_FORMAT_R8G8B8A8_UNORM*/: return false; 147 - case 64 /*VK_FORMAT_A2B10G10R10_UNORM_PACK32*/: return false; 148 - case 50 /*VK_FORMAT_B8G8R8A8_SRGB*/: return true; 149 - case 124 /*VK_FORMAT_D16_UNORM*/: return false; 150 - case 44 /*VK_FORMAT_B8G8R8A8_UNORM*/: return false; 151 - case 129 /*VK_FORMAT_D24_UNORM_S8_UINT*/: return false; 152 - case 130 /*VK_FORMAT_D32_SFLOAT_S8_UINT*/: return false; 153 - case 23 /*VK_FORMAT_R8G8B8_UNORM*/: return false; 154 - case 127 /*VK_FORMAT_S8_UINT*/: return false; 155 - case 4 /*VK_FORMAT_R5G6B5_UNORM_PACK16*/: return false; 156 - case 97 /*VK_FORMAT_R16G16B16A16_SFLOAT*/: return false; 157 - case 126 /*VK_FORMAT_D32_SFLOAT*/: return false; 158 - case 125 /*VK_FORMAT_X8_D24_UNORM_PACK32*/: return false; 159 - case 43 /*VK_FORMAT_R8G8B8A8_SRGB*/: return true; 160 - default: return false; 146 + case GL_RGB8: return false; 147 + case GL_SRGB8: return true; // sRGB 148 + case GL_RGBA8: return false; 149 + case GL_SRGB8_ALPHA8: return true; // sRGB 150 + case GL_RGB10_A2: return false; 151 + case GL_RGB16: return false; 152 + case GL_RGB16F: return false; 153 + case GL_RGBA16: return false; 154 + case GL_RGBA16F: return false; 155 + case GL_DEPTH_COMPONENT16: return false; 156 + case GL_DEPTH_COMPONENT32F: return false; 157 + case GL_DEPTH24_STENCIL8: return false; 158 + case GL_DEPTH32F_STENCIL8: return false; 159 + default: U_LOG_W("Cannot check GL format %" PRIu64 " for sRGB-ness!", format); return false; 161 160 } 162 161 } 163 162 #endif // defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_AHARDWAREBUFFER) ··· 245 244 EGL_NONE, 246 245 EGL_NONE, 247 246 }; 247 + 248 248 EGL_SC_INFO("EGL_PROTECTED_CONTENT_EXT %s", 249 249 (desc.usage & AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT) ? "TRUE" : "FALSE"); 250 - if (vk_format_to_srgb(info->format)) { 250 + 251 + if (is_gl_format_srgb(info->format)) { 251 252 attrs[4] = EGL_GL_COLORSPACE_KHR; 252 253 attrs[5] = EGL_GL_COLORSPACE_SRGB_KHR; 253 254 } 255 + 254 256 EGLenum source = EGL_NATIVE_BUFFER_ANDROID; 255 257 #elif defined(XRT_GRAPHICS_BUFFER_HANDLE_IS_FD) 256 258 EGLint attrs[] = {EGL_IMAGE_PRESERVED_KHR,