[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v1 4/7] ui/console-gl: Add an option to override a surface's glfo
|
From: |
Vivek Kasireddy |
|
Subject: |
[PATCH v1 4/7] ui/console-gl: Add an option to override a surface's glformat |
|
Date: |
Fri, 19 Jan 2024 16:30:10 -0800 |
In some cases where a UI component (e.g, Spice) needs to choose
a particular glformat for a surface while creating a texture,
this new GLenum provides an option to do so. One situation
where this needs to be done is when the Host endianness is
causing issues such as interchanged R and B channels.
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Cc: Frediano Ziglio <freddy77@gmail.com>
Cc: Dongwon Kim <dongwon.kim@intel.com>
Signed-off-by: Vivek Kasireddy <vivek.kasireddy@intel.com>
---
include/ui/surface.h | 1 +
ui/console-gl.c | 6 ++++++
2 files changed, 7 insertions(+)
diff --git a/include/ui/surface.h b/include/ui/surface.h
index 4244e0ca4a..a39fee55a2 100644
--- a/include/ui/surface.h
+++ b/include/ui/surface.h
@@ -20,6 +20,7 @@ typedef struct DisplaySurface {
uint8_t flags;
#ifdef CONFIG_OPENGL
GLenum glformat;
+ GLenum target_glformat;
GLenum gltype;
GLuint texture;
#endif
diff --git a/ui/console-gl.c b/ui/console-gl.c
index 103b954017..dee317f42c 100644
--- a/ui/console-gl.c
+++ b/ui/console-gl.c
@@ -72,6 +72,12 @@ void surface_gl_create_texture(QemuGLShader *gls,
g_assert_not_reached();
}
+ /* The caller wants to override the glformat in some specific cases */
+ if (surface->target_glformat &&
+ surface->target_glformat != surface->glformat) {
+ surface->glformat = surface->target_glformat;
+ }
+
glGenTextures(1, &surface->texture);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, surface->texture);
--
2.39.2
- [PATCH v1 0/7] ui/spice: Enable gl=on option for non-local or remote clients, Vivek Kasireddy, 2024/01/19
- [PATCH v1 1/7] ui/spice: Add an option for users to provide a preferred codec, Vivek Kasireddy, 2024/01/19
- [PATCH v1 4/7] ui/console-gl: Add an option to override a surface's glformat,
Vivek Kasireddy <=
- [PATCH v1 5/7] ui/spice: Override the surface's glformat when gl=on is enabled, Vivek Kasireddy, 2024/01/19
- [PATCH v1 6/7] ui/console-gl: Add a helper to create a texture with linear memory layout, Vivek Kasireddy, 2024/01/19
- [PATCH v1 2/7] ui/spice: Enable gl=on option for non-local or remote clients, Vivek Kasireddy, 2024/01/19
- [PATCH v1 3/7] ui/spice: Submit the gl_draw requests at 60 FPS for remote clients, Vivek Kasireddy, 2024/01/19
- [PATCH v1 7/7] ui/spice: Create another texture with linear layout when gl=on is enabled, Vivek Kasireddy, 2024/01/19