[retro-gtk/wip/aplazas/gl-display: 12/12] Test
- From: Adrien Plazas <aplazas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [retro-gtk/wip/aplazas/gl-display: 12/12] Test
- Date: Sat, 18 Nov 2017 09:41:10 +0000 (UTC)
commit 13763e1af422bc4d6c029f69171cd5df1eb67cec
Author: Adrien Plazas <kekun plazas laposte net>
Date: Sat Nov 18 10:38:42 2017 +0100
Test
retro-gtk/retro-gl-display.c | 3 +--
retro-gtk/retro-pixdata.c | 25 ++++++++++++++++++++++++-
2 files changed, 25 insertions(+), 3 deletions(-)
---
diff --git a/retro-gtk/retro-gl-display.c b/retro-gtk/retro-gl-display.c
index 2606027..fc43dae 100644
--- a/retro-gtk/retro-gl-display.c
+++ b/retro-gtk/retro-gl-display.c
@@ -65,9 +65,8 @@ retro_gl_display_set_pixdata (RetroGLDisplay *self,
self->pixdata = NULL;
}
- if (pixdata != NULL) {
+ if (pixdata != NULL)
self->pixdata = retro_pixdata_copy (pixdata);
- }
gtk_widget_queue_draw (GTK_WIDGET (self));
}
diff --git a/retro-gtk/retro-pixdata.c b/retro-gtk/retro-pixdata.c
index 87c2b06..7ee61cd 100644
--- a/retro-gtk/retro-pixdata.c
+++ b/retro-gtk/retro-pixdata.c
@@ -365,15 +365,38 @@ retro_pixdata_to_pixbuf (RetroPixdata *self)
gboolean
retro_pixdata_load_gl_texture (RetroPixdata *self)
{
+ GLenum format;
+ GLenum type;
+
g_return_val_if_fail (self != NULL, FALSE);
+ switch (self->pixel_format) {
+ case RETRO_PIXEL_FORMAT_XRGB1555:
+ format = GL_BGRA;
+ type = GL_UNSIGNED_SHORT_5_5_5_1;
+
+ break;
+ case RETRO_PIXEL_FORMAT_XRGB8888:
+ format = GL_BGRA;
+ type = GL_UNSIGNED_BYTE;
+
+ break;
+ case RETRO_PIXEL_FORMAT_RGB565:
+ format = GL_BGR;
+ type = GL_UNSIGNED_SHORT_5_6_5;
+
+ break;
+ default:
+ return FALSE;
+ }
+
glTexImage2D (GL_TEXTURE_2D,
0,
GL_RGB,
self->width,
self->height,
0,
- GL_BGRA, GL_UNSIGNED_BYTE,
+ format, type,
self->data);
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]