mirror of
https://gitlab.freedesktop.org/monado/monado.git
synced 2025-01-01 12:46:12 +00:00
c/client: Tidy
This commit is contained in:
parent
cb7855b8bd
commit
7996457f3e
|
@ -223,6 +223,13 @@ client_egl_compositor_destroy(struct xrt_compositor *xc)
|
|||
free(ceglc);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* 'Exported' functions.
|
||||
*
|
||||
*/
|
||||
|
||||
xrt_result_t
|
||||
xrt_gfx_provider_create_gl_egl(struct xrt_compositor_native *xcn,
|
||||
EGLDisplay display,
|
||||
|
|
|
@ -32,6 +32,13 @@
|
|||
|
||||
#include <inttypes.h>
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Helpers.
|
||||
*
|
||||
*/
|
||||
|
||||
/*!
|
||||
* Down-cast helper.
|
||||
* @private @memberof client_gl_swapchain
|
||||
|
@ -42,6 +49,55 @@ client_gl_swapchain(struct xrt_swapchain *xsc)
|
|||
return (struct client_gl_swapchain *)xsc;
|
||||
}
|
||||
|
||||
static int64_t
|
||||
gl_format_to_vk(int64_t format)
|
||||
{
|
||||
switch (format) {
|
||||
case GL_RGB8: return 23 /*VK_FORMAT_R8G8B8_UNORM*/; // Should not be used, colour precision.
|
||||
case GL_SRGB8: return 29 /*VK_FORMAT_R8G8B8_SRGB*/;
|
||||
case GL_RGBA8: return 37 /*VK_FORMAT_R8G8B8A8_UNORM*/; // Should not be used, colour precision.
|
||||
case GL_SRGB8_ALPHA8: return 43 /*VK_FORMAT_R8G8B8A8_SRGB*/;
|
||||
case GL_RGB10_A2: return 64 /*VK_FORMAT_A2B10G10R10_UNORM_PACK32*/;
|
||||
case GL_RGB16: return 84 /*VK_FORMAT_R16G16B16_UNORM*/;
|
||||
case GL_RGB16F: return 90 /*VK_FORMAT_R16G16B16_SFLOAT*/;
|
||||
case GL_RGBA16: return 91 /*VK_FORMAT_R16G16B16A16_UNORM*/;
|
||||
case GL_RGBA16F: return 97 /*VK_FORMAT_R16G16B16A16_SFLOAT*/;
|
||||
case GL_DEPTH_COMPONENT16: return 124 /*VK_FORMAT_D16_UNORM*/;
|
||||
case GL_DEPTH_COMPONENT32F: return 126 /*VK_FORMAT_D32_SFLOAT*/;
|
||||
case GL_DEPTH24_STENCIL8: return 129 /*VK_FORMAT_D24_UNORM_S8_UINT*/;
|
||||
case GL_DEPTH32F_STENCIL8: return 130 /*VK_FORMAT_D32_SFLOAT_S8_UINT*/;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int64_t
|
||||
vk_format_to_gl(int64_t format)
|
||||
{
|
||||
switch (format) {
|
||||
case 4 /* VK_FORMAT_R5G6B5_UNORM_PACK16 */: return 0; // GL_RGB565?
|
||||
case 23 /* VK_FORMAT_R8G8B8_UNORM */: return GL_RGB8; // Should not be used, colour precision.
|
||||
case 29 /* VK_FORMAT_R8G8B8_SRGB */: return GL_SRGB8;
|
||||
case 30 /* VK_FORMAT_B8G8R8_UNORM */: return 0;
|
||||
case 37 /* VK_FORMAT_R8G8B8A8_UNORM */: return GL_RGBA8; // Should not be used, colour precision.
|
||||
case 43 /* VK_FORMAT_R8G8B8A8_SRGB */: return GL_SRGB8_ALPHA8;
|
||||
case 44 /* VK_FORMAT_B8G8R8A8_UNORM */: return 0;
|
||||
case 50 /* VK_FORMAT_B8G8R8A8_SRGB */: return 0;
|
||||
case 64 /* VK_FORMAT_A2B10G10R10_UNORM_PACK32 */: return GL_RGB10_A2;
|
||||
case 84 /* VK_FORMAT_R16G16B16_UNORM */: return GL_RGB16;
|
||||
case 90 /* VK_FORMAT_R16G16B16_SFLOAT */: return GL_RGB16F;
|
||||
case 91 /* VK_FORMAT_R16G16B16A16_UNORM */: return GL_RGBA16;
|
||||
case 97 /* VK_FORMAT_R16G16B16A16_SFLOAT */: return GL_RGBA16F;
|
||||
case 124 /* VK_FORMAT_D16_UNORM */: return GL_DEPTH_COMPONENT16;
|
||||
case 125 /* VK_FORMAT_X8_D24_UNORM_PACK32 */: return 0; // GL_DEPTH_COMPONENT24?
|
||||
case 126 /* VK_FORMAT_D32_SFLOAT */: return GL_DEPTH_COMPONENT32F;
|
||||
case 127 /* VK_FORMAT_S8_UINT */: return 0; // GL_STENCIL_INDEX8?
|
||||
case 129 /* VK_FORMAT_D24_UNORM_S8_UINT */: return GL_DEPTH24_STENCIL8;
|
||||
case 130 /* VK_FORMAT_D32_SFLOAT_S8_UINT */: return GL_DEPTH32F_STENCIL8;
|
||||
default: U_LOG_W("Cannot convert VK format %" PRIu64 " to GL format!", format); return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Swapchain functions.
|
||||
|
@ -317,54 +373,6 @@ client_gl_compositor_layer_commit(struct xrt_compositor *xc, int64_t frame_id, x
|
|||
return xrt_comp_layer_commit(&c->xcn->base, frame_id, sync_handle);
|
||||
}
|
||||
|
||||
static int64_t
|
||||
gl_format_to_vk(int64_t format)
|
||||
{
|
||||
switch (format) {
|
||||
case GL_RGB8: return 23 /*VK_FORMAT_R8G8B8_UNORM*/; // Should not be used, colour precision.
|
||||
case GL_SRGB8: return 29 /*VK_FORMAT_R8G8B8_SRGB*/;
|
||||
case GL_RGBA8: return 37 /*VK_FORMAT_R8G8B8A8_UNORM*/; // Should not be used, colour precision.
|
||||
case GL_SRGB8_ALPHA8: return 43 /*VK_FORMAT_R8G8B8A8_SRGB*/;
|
||||
case GL_RGB10_A2: return 64 /*VK_FORMAT_A2B10G10R10_UNORM_PACK32*/;
|
||||
case GL_RGB16: return 84 /*VK_FORMAT_R16G16B16_UNORM*/;
|
||||
case GL_RGB16F: return 90 /*VK_FORMAT_R16G16B16_SFLOAT*/;
|
||||
case GL_RGBA16: return 91 /*VK_FORMAT_R16G16B16A16_UNORM*/;
|
||||
case GL_RGBA16F: return 97 /*VK_FORMAT_R16G16B16A16_SFLOAT*/;
|
||||
case GL_DEPTH_COMPONENT16: return 124 /*VK_FORMAT_D16_UNORM*/;
|
||||
case GL_DEPTH_COMPONENT32F: return 126 /*VK_FORMAT_D32_SFLOAT*/;
|
||||
case GL_DEPTH24_STENCIL8: return 129 /*VK_FORMAT_D24_UNORM_S8_UINT*/;
|
||||
case GL_DEPTH32F_STENCIL8: return 130 /*VK_FORMAT_D32_SFLOAT_S8_UINT*/;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static int64_t
|
||||
vk_format_to_gl(int64_t format)
|
||||
{
|
||||
switch (format) {
|
||||
case 4 /* VK_FORMAT_R5G6B5_UNORM_PACK16 */: return 0; // GL_RGB565?
|
||||
case 23 /* VK_FORMAT_R8G8B8_UNORM */: return GL_RGB8; // Should not be used, colour precision.
|
||||
case 29 /* VK_FORMAT_R8G8B8_SRGB */: return GL_SRGB8;
|
||||
case 30 /* VK_FORMAT_B8G8R8_UNORM */: return 0;
|
||||
case 37 /* VK_FORMAT_R8G8B8A8_UNORM */: return GL_RGBA8; // Should not be used, colour precision.
|
||||
case 43 /* VK_FORMAT_R8G8B8A8_SRGB */: return GL_SRGB8_ALPHA8;
|
||||
case 44 /* VK_FORMAT_B8G8R8A8_UNORM */: return 0;
|
||||
case 50 /* VK_FORMAT_B8G8R8A8_SRGB */: return 0;
|
||||
case 64 /* VK_FORMAT_A2B10G10R10_UNORM_PACK32 */: return GL_RGB10_A2;
|
||||
case 84 /* VK_FORMAT_R16G16B16_UNORM */: return GL_RGB16;
|
||||
case 90 /* VK_FORMAT_R16G16B16_SFLOAT */: return GL_RGB16F;
|
||||
case 91 /* VK_FORMAT_R16G16B16A16_UNORM */: return GL_RGBA16;
|
||||
case 97 /* VK_FORMAT_R16G16B16A16_SFLOAT */: return GL_RGBA16F;
|
||||
case 124 /* VK_FORMAT_D16_UNORM */: return GL_DEPTH_COMPONENT16;
|
||||
case 125 /* VK_FORMAT_X8_D24_UNORM_PACK32 */: return 0; // GL_DEPTH_COMPONENT24?
|
||||
case 126 /* VK_FORMAT_D32_SFLOAT */: return GL_DEPTH_COMPONENT32F;
|
||||
case 127 /* VK_FORMAT_S8_UINT */: return 0; // GL_STENCIL_INDEX8?
|
||||
case 129 /* VK_FORMAT_D24_UNORM_S8_UINT */: return GL_DEPTH24_STENCIL8;
|
||||
case 130 /* VK_FORMAT_D32_SFLOAT_S8_UINT */: return GL_DEPTH32F_STENCIL8;
|
||||
default: U_LOG_W("Cannot convert VK format %" PRIu64 " to GL format!", format); return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static xrt_result_t
|
||||
client_gl_swapchain_create(struct xrt_compositor *xc,
|
||||
const struct xrt_swapchain_create_info *info,
|
||||
|
@ -478,6 +486,13 @@ client_gl_context_end_nop(struct xrt_compositor *xc)
|
|||
// No return
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* 'Exported' functions.
|
||||
*
|
||||
*/
|
||||
|
||||
void
|
||||
client_gl_compositor_close(struct client_gl_compositor *c)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue