[retro-gtk/wip/aplazas/gl-display-2] Test define texture row length



commit 1d0c7b4ce1cd5adc989523dd2ad637a8db0b8006
Author: Adrien Plazas <kekun plazas laposte net>
Date:   Sat Nov 18 13:53:16 2017 +0100

    Test define texture row length

 retro-gtk/retro-pixdata.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/retro-gtk/retro-pixdata.c b/retro-gtk/retro-pixdata.c
index e7e277d..8d60c85 100644
--- a/retro-gtk/retro-pixdata.c
+++ b/retro-gtk/retro-pixdata.c
@@ -367,6 +367,7 @@ retro_pixdata_load_gl_texture (RetroPixdata *self)
 {
   GLenum format;
   GLenum type;
+  gint pixel_size;
 
   g_return_val_if_fail (self != NULL, FALSE);
 
@@ -375,25 +376,28 @@ retro_pixdata_load_gl_texture (RetroPixdata *self)
     g_message ("XRGB1555 stride %llux%llu stride %llu", self->width, self->height, self->rowstride);
     format = GL_BGRA;
     type =  GL_UNSIGNED_SHORT_5_5_5_1;
+    pixel_size = 2;
 
     break;
   case RETRO_PIXEL_FORMAT_XRGB8888:
     g_message ("XRGB8888 %llux%llu stride %llu", self->width, self->height, self->rowstride);
     format = GL_BGRA;
     type = GL_UNSIGNED_BYTE;
+    pixel_size = 4;
 
     break;
   case RETRO_PIXEL_FORMAT_RGB565:
     g_message ("RGB565 stride %llux%llu stride %llu", self->width, self->height, self->rowstride);
     format = GL_RGB;
     type =  GL_UNSIGNED_SHORT_5_6_5;
+    pixel_size = 2;
 
     break;
   default:
     return FALSE;
   }
 
-  glPixelStorei (GL_PACK_ROW_LENGTH, self->rowstride);
+  glPixelStorei (GL_UNPACK_ROW_LENGTH, self->rowstride / pixel_size);
   glTexImage2D (GL_TEXTURE_2D,
                 0,
                 GL_RGB,


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]