YaGL: Patches for the 64bit memory addressing
authorjinhyung.jo <jinhyung.jo@samsung.com>
Wed, 4 Nov 2015 09:25:17 +0000 (18:25 +0900)
committerjinhyung.jo <jinhyung.jo@samsung.com>
Wed, 4 Nov 2015 09:25:17 +0000 (18:25 +0900)
Tizen 3.0 supports a 64bit guest.
However current yagl is implemented by assumed to use the 32bit address.
So modify the address related parts.
I will also update the yagl platform sources.

Change-Id: I5f56915fa68f8170d81c96e8f426f60ddc9d98e5
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
hw/yagl/yagl_apis/gles/yagl_gles_calls.c
hw/yagl/yagl_apis/gles/yagl_host_gles_calls.c
hw/yagl/yagl_apis/gles/yagl_host_gles_calls.h
hw/yagl/yagl_device.c
hw/yagl/yagl_server.c
hw/yagl/yagl_transport.c
hw/yagl/yagl_transport.h
hw/yagl/yagl_transport_gl.h

index bc7d978..97dcff6 100644 (file)
@@ -110,15 +110,15 @@ static void yagl_func_glReadPixelsOffset(struct yagl_transport *t)
     GLsizei height;
     GLenum format;
     GLenum type;
-    GLsizei pixels;
+    uintptr_t pixels;
     x = yagl_transport_get_out_GLint(t);
     y = yagl_transport_get_out_GLint(t);
     width = yagl_transport_get_out_GLsizei(t);
     height = yagl_transport_get_out_GLsizei(t);
     format = yagl_transport_get_out_GLenum(t);
     type = yagl_transport_get_out_GLenum(t);
-    pixels = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT7(glReadPixelsOffset, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, x, y, width, height, format, type, pixels);
+    pixels = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT7(glReadPixelsOffset, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, uintptr_t, x, y, width, height, format, type, pixels);
     (void)yagl_host_glReadPixelsOffset(x, y, width, height, format, type, pixels);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -269,14 +269,14 @@ static void yagl_func_glVertexAttribPointerOffset(struct yagl_transport *t)
     GLenum type;
     GLboolean normalized;
     GLsizei stride;
-    GLsizei offset;
+    uintptr_t offset;
     indx = yagl_transport_get_out_GLuint(t);
     size = yagl_transport_get_out_GLint(t);
     type = yagl_transport_get_out_GLenum(t);
     normalized = yagl_transport_get_out_GLboolean(t);
     stride = yagl_transport_get_out_GLsizei(t);
-    offset = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT6(glVertexAttribPointerOffset, GLuint, GLint, GLenum, GLboolean, GLsizei, GLsizei, indx, size, type, normalized, stride, offset);
+    offset = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT6(glVertexAttribPointerOffset, GLuint, GLint, GLenum, GLboolean, GLsizei, uintptr_t, indx, size, type, normalized, stride, offset);
     (void)yagl_host_glVertexAttribPointerOffset(indx, size, type, normalized, stride, offset);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -310,12 +310,12 @@ static void yagl_func_glVertexPointerOffset(struct yagl_transport *t)
     GLint size;
     GLenum type;
     GLsizei stride;
-    GLsizei offset;
+    uintptr_t offset;
     size = yagl_transport_get_out_GLint(t);
     type = yagl_transport_get_out_GLenum(t);
     stride = yagl_transport_get_out_GLsizei(t);
-    offset = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT4(glVertexPointerOffset, GLint, GLenum, GLsizei, GLsizei, size, type, stride, offset);
+    offset = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT4(glVertexPointerOffset, GLint, GLenum, GLsizei, uintptr_t, size, type, stride, offset);
     (void)yagl_host_glVertexPointerOffset(size, type, stride, offset);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -346,11 +346,11 @@ static void yagl_func_glNormalPointerOffset(struct yagl_transport *t)
 {
     GLenum type;
     GLsizei stride;
-    GLsizei offset;
+    uintptr_t offset;
     type = yagl_transport_get_out_GLenum(t);
     stride = yagl_transport_get_out_GLsizei(t);
-    offset = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT3(glNormalPointerOffset, GLenum, GLsizei, GLsizei, type, stride, offset);
+    offset = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT3(glNormalPointerOffset, GLenum, GLsizei, uintptr_t, type, stride, offset);
     (void)yagl_host_glNormalPointerOffset(type, stride, offset);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -384,12 +384,12 @@ static void yagl_func_glColorPointerOffset(struct yagl_transport *t)
     GLint size;
     GLenum type;
     GLsizei stride;
-    GLsizei offset;
+    uintptr_t offset;
     size = yagl_transport_get_out_GLint(t);
     type = yagl_transport_get_out_GLenum(t);
     stride = yagl_transport_get_out_GLsizei(t);
-    offset = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT4(glColorPointerOffset, GLint, GLenum, GLsizei, GLsizei, size, type, stride, offset);
+    offset = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT4(glColorPointerOffset, GLint, GLenum, GLsizei, uintptr_t, size, type, stride, offset);
     (void)yagl_host_glColorPointerOffset(size, type, stride, offset);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -425,12 +425,12 @@ static void yagl_func_glTexCoordPointerOffset(struct yagl_transport *t)
     GLint size;
     GLenum type;
     GLsizei stride;
-    GLsizei offset;
+    uintptr_t offset;
     size = yagl_transport_get_out_GLint(t);
     type = yagl_transport_get_out_GLenum(t);
     stride = yagl_transport_get_out_GLsizei(t);
-    offset = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT4(glTexCoordPointerOffset, GLint, GLenum, GLsizei, GLsizei, size, type, stride, offset);
+    offset = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT4(glTexCoordPointerOffset, GLint, GLenum, GLsizei, uintptr_t, size, type, stride, offset);
     (void)yagl_host_glTexCoordPointerOffset(size, type, stride, offset);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -505,13 +505,13 @@ static void yagl_func_glVertexAttribIPointerOffset(struct yagl_transport *t)
     GLint size;
     GLenum type;
     GLsizei stride;
-    GLsizei offset;
+    uintptr_t offset;
     index = yagl_transport_get_out_GLuint(t);
     size = yagl_transport_get_out_GLint(t);
     type = yagl_transport_get_out_GLenum(t);
     stride = yagl_transport_get_out_GLsizei(t);
-    offset = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT5(glVertexAttribIPointerOffset, GLuint, GLint, GLenum, GLsizei, GLsizei, index, size, type, stride, offset);
+    offset = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT5(glVertexAttribIPointerOffset, GLuint, GLint, GLenum, GLsizei, uintptr_t, index, size, type, stride, offset);
     (void)yagl_host_glVertexAttribIPointerOffset(index, size, type, stride, offset);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -640,15 +640,15 @@ static void yagl_func_glCopyBufferSubData(struct yagl_transport *t)
 {
     GLenum readTarget;
     GLenum writeTarget;
-    GLint readOffset;
-    GLint writeOffset;
+    GLintptr readOffset;
+    GLintptr writeOffset;
     GLsizei size;
     readTarget = yagl_transport_get_out_GLenum(t);
     writeTarget = yagl_transport_get_out_GLenum(t);
-    readOffset = yagl_transport_get_out_GLint(t);
-    writeOffset = yagl_transport_get_out_GLint(t);
+    readOffset = yagl_transport_get_out_GLintptr(t);
+    writeOffset = yagl_transport_get_out_GLintptr(t);
     size = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT5(glCopyBufferSubData, GLenum, GLenum, GLint, GLint, GLsizei, readTarget, writeTarget, readOffset, writeOffset, size);
+    YAGL_LOG_FUNC_ENTER_SPLIT5(glCopyBufferSubData, GLenum, GLenum, GLintptr, GLintptr, GLsizei, readTarget, writeTarget, readOffset, writeOffset, size);
     (void)yagl_host_glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -818,7 +818,7 @@ static void yagl_func_glTexImage2DOffset(struct yagl_transport *t)
     GLint border;
     GLenum format;
     GLenum type;
-    GLsizei pixels;
+    uintptr_t pixels;
     target = yagl_transport_get_out_GLenum(t);
     level = yagl_transport_get_out_GLint(t);
     internalformat = yagl_transport_get_out_GLint(t);
@@ -827,8 +827,8 @@ static void yagl_func_glTexImage2DOffset(struct yagl_transport *t)
     border = yagl_transport_get_out_GLint(t);
     format = yagl_transport_get_out_GLenum(t);
     type = yagl_transport_get_out_GLenum(t);
-    pixels = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT9(glTexImage2DOffset, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, GLsizei, target, level, internalformat, width, height, border, format, type, pixels);
+    pixels = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT9(glTexImage2DOffset, GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, uintptr_t, target, level, internalformat, width, height, border, format, type, pixels);
     (void)yagl_host_glTexImage2DOffset(target, level, internalformat, width, height, border, format, type, pixels);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -941,7 +941,7 @@ static void yagl_func_glTexSubImage2DOffset(struct yagl_transport *t)
     GLsizei height;
     GLenum format;
     GLenum type;
-    GLsizei pixels;
+    uintptr_t pixels;
     target = yagl_transport_get_out_GLenum(t);
     level = yagl_transport_get_out_GLint(t);
     xoffset = yagl_transport_get_out_GLint(t);
@@ -950,8 +950,8 @@ static void yagl_func_glTexSubImage2DOffset(struct yagl_transport *t)
     height = yagl_transport_get_out_GLsizei(t);
     format = yagl_transport_get_out_GLenum(t);
     type = yagl_transport_get_out_GLenum(t);
-    pixels = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT9(glTexSubImage2DOffset, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLsizei, target, level, xoffset, yoffset, width, height, format, type, pixels);
+    pixels = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT9(glTexSubImage2DOffset, GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, uintptr_t, target, level, xoffset, yoffset, width, height, format, type, pixels);
     (void)yagl_host_glTexSubImage2DOffset(target, level, xoffset, yoffset, width, height, format, type, pixels);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -1137,7 +1137,7 @@ static void yagl_func_glTexImage3DOffset(struct yagl_transport *t)
     GLint border;
     GLenum format;
     GLenum type;
-    GLsizei pixels;
+    uintptr_t pixels;
     target = yagl_transport_get_out_GLenum(t);
     level = yagl_transport_get_out_GLint(t);
     internalformat = yagl_transport_get_out_GLint(t);
@@ -1147,8 +1147,8 @@ static void yagl_func_glTexImage3DOffset(struct yagl_transport *t)
     border = yagl_transport_get_out_GLint(t);
     format = yagl_transport_get_out_GLenum(t);
     type = yagl_transport_get_out_GLenum(t);
-    pixels = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT10(glTexImage3DOffset, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, GLsizei, target, level, internalformat, width, height, depth, border, format, type, pixels);
+    pixels = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT10(glTexImage3DOffset, GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, uintptr_t, target, level, internalformat, width, height, depth, border, format, type, pixels);
     (void)yagl_host_glTexImage3DOffset(target, level, internalformat, width, height, depth, border, format, type, pixels);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
@@ -1201,7 +1201,7 @@ static void yagl_func_glTexSubImage3DOffset(struct yagl_transport *t)
     GLsizei depth;
     GLenum format;
     GLenum type;
-    GLsizei pixels;
+    uintptr_t pixels;
     target = yagl_transport_get_out_GLenum(t);
     level = yagl_transport_get_out_GLint(t);
     xoffset = yagl_transport_get_out_GLint(t);
@@ -1212,8 +1212,8 @@ static void yagl_func_glTexSubImage3DOffset(struct yagl_transport *t)
     depth = yagl_transport_get_out_GLsizei(t);
     format = yagl_transport_get_out_GLenum(t);
     type = yagl_transport_get_out_GLenum(t);
-    pixels = yagl_transport_get_out_GLsizei(t);
-    YAGL_LOG_FUNC_ENTER_SPLIT11(glTexSubImage3DOffset, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, GLsizei, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
+    pixels = yagl_transport_get_out_uintptr_t(t);
+    YAGL_LOG_FUNC_ENTER_SPLIT11(glTexSubImage3DOffset, GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, uintptr_t, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
     (void)yagl_host_glTexSubImage3DOffset(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
     YAGL_LOG_FUNC_EXIT(NULL);
 }
index 9fc9439..d6eae0c 100644 (file)
@@ -609,7 +609,7 @@ void yagl_host_glReadPixelsOffset(GLint x,
     GLsizei height,
     GLenum format,
     GLenum type,
-    GLsizei pixels)
+    uintptr_t pixels)
 {
     gles_api_ts->driver->ReadPixels(x,
                                     y,
@@ -617,7 +617,7 @@ void yagl_host_glReadPixelsOffset(GLint x,
                                     height,
                                     format,
                                     type,
-                                    (GLvoid*)(uintptr_t)pixels);
+                                    (GLvoid*)pixels);
 }
 
 void yagl_host_glDrawArraysInstanced(GLenum mode,
@@ -722,11 +722,11 @@ void yagl_host_glVertexAttribPointerOffset(GLuint indx,
     GLenum type,
     GLboolean normalized,
     GLsizei stride,
-    GLsizei offset)
+    uintptr_t offset)
 {
     gles_api_ts->driver->VertexAttribPointer(indx, size, type, normalized,
                                              stride,
-                                             (const GLvoid*)(uintptr_t)offset);
+                                             (const GLvoid*)offset);
 }
 
 void yagl_host_glVertexPointerData(GLint size,
@@ -747,9 +747,9 @@ void yagl_host_glVertexPointerData(GLint size,
 void yagl_host_glVertexPointerOffset(GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset)
+    uintptr_t offset)
 {
-    gles_api_ts->driver->VertexPointer(size, type, stride, (const GLvoid*)(uintptr_t)offset);
+    gles_api_ts->driver->VertexPointer(size, type, stride, (const GLvoid*)offset);
 }
 
 void yagl_host_glNormalPointerData(GLenum type,
@@ -768,9 +768,9 @@ void yagl_host_glNormalPointerData(GLenum type,
 
 void yagl_host_glNormalPointerOffset(GLenum type,
     GLsizei stride,
-    GLsizei offset)
+    uintptr_t offset)
 {
-    gles_api_ts->driver->NormalPointer(type, stride, (const GLvoid*)(uintptr_t)offset);
+    gles_api_ts->driver->NormalPointer(type, stride, (const GLvoid*)offset);
 }
 
 void yagl_host_glColorPointerData(GLint size,
@@ -791,9 +791,9 @@ void yagl_host_glColorPointerData(GLint size,
 void yagl_host_glColorPointerOffset(GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset)
+    uintptr_t offset)
 {
-    gles_api_ts->driver->ColorPointer(size, type, stride, (const GLvoid*)(uintptr_t)offset);
+    gles_api_ts->driver->ColorPointer(size, type, stride, (const GLvoid*)offset);
 }
 
 void yagl_host_glTexCoordPointerData(GLint tex_id,
@@ -815,9 +815,9 @@ void yagl_host_glTexCoordPointerData(GLint tex_id,
 void yagl_host_glTexCoordPointerOffset(GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset)
+    uintptr_t offset)
 {
-    gles_api_ts->driver->TexCoordPointer(size, type, stride, (const GLvoid*)(uintptr_t)offset);
+    gles_api_ts->driver->TexCoordPointer(size, type, stride, (const GLvoid*)offset);
 }
 
 void yagl_host_glDisableClientState(GLenum array)
@@ -855,11 +855,11 @@ void yagl_host_glVertexAttribIPointerOffset(GLuint index,
     GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset)
+    uintptr_t offset)
 {
     gles_api_ts->driver->VertexAttribIPointer(index, size, type,
                                               stride,
-                                              (const GLvoid*)(uintptr_t)offset);
+                                              (const GLvoid*)offset);
 }
 
 void yagl_host_glGenBuffers(const GLuint *buffers, int32_t buffers_count)
@@ -989,8 +989,8 @@ out1:
 
 void yagl_host_glCopyBufferSubData(GLenum readTarget,
     GLenum writeTarget,
-    GLint readOffset,
-    GLint writeOffset,
+    GLintptr readOffset,
+    GLintptr writeOffset,
     GLsizei size)
 {
     gles_api_ts->driver->CopyBufferSubData(readTarget, writeTarget,
@@ -1128,7 +1128,7 @@ void yagl_host_glTexImage2DOffset(GLenum target,
     GLint border,
     GLenum format,
     GLenum type,
-    GLsizei pixels)
+    uintptr_t pixels)
 {
     gles_api_ts->driver->TexImage2D(target,
                                     level,
@@ -1138,7 +1138,7 @@ void yagl_host_glTexImage2DOffset(GLenum target,
                                     border,
                                     format,
                                     type,
-                                    (const GLvoid*)(uintptr_t)pixels);
+                                    (const GLvoid*)pixels);
 }
 
 void yagl_host_glTexParameterf(GLenum target,
@@ -1243,7 +1243,7 @@ void yagl_host_glTexSubImage2DOffset(GLenum target,
     GLsizei height,
     GLenum format,
     GLenum type,
-    GLsizei pixels)
+    uintptr_t pixels)
 {
     GLint row_length;
 
@@ -1274,7 +1274,7 @@ void yagl_host_glTexSubImage2DOffset(GLenum target,
                                        height,
                                        format,
                                        type,
-                                       (const GLvoid*)(uintptr_t)pixels);
+                                       (const GLvoid*)pixels);
 
     if (format == GL_ALPHA) {
         gles_api_ts->driver->PixelStorei(GL_UNPACK_ROW_LENGTH, row_length);
@@ -1371,7 +1371,7 @@ void yagl_host_glTexImage3DOffset(GLenum target,
     GLint border,
     GLenum format,
     GLenum type,
-    GLsizei pixels)
+    uintptr_t pixels)
 {
     gles_api_ts->driver->TexImage3D(target,
                                     level,
@@ -1382,7 +1382,7 @@ void yagl_host_glTexImage3DOffset(GLenum target,
                                     border,
                                     format,
                                     type,
-                                    (const void*)(uintptr_t)pixels);
+                                    (const void*)pixels);
 }
 
 void yagl_host_glTexSubImage3DData(GLenum target,
@@ -1420,7 +1420,7 @@ void yagl_host_glTexSubImage3DOffset(GLenum target,
     GLsizei depth,
     GLenum format,
     GLenum type,
-    GLsizei pixels)
+    uintptr_t pixels)
 {
     gles_api_ts->driver->TexSubImage3D(target,
                                        level,
@@ -1432,7 +1432,7 @@ void yagl_host_glTexSubImage3DOffset(GLenum target,
                                        depth,
                                        format,
                                        type,
-                                       (const void*)(uintptr_t)pixels);
+                                       (const void*)pixels);
 }
 
 void yagl_host_glCopyTexSubImage3D(GLenum target,
index 8148444..cc87ee5 100644 (file)
@@ -55,7 +55,7 @@ void yagl_host_glReadPixelsOffset(GLint x,
     GLsizei height,
     GLenum format,
     GLenum type,
-    GLsizei pixels);
+    uintptr_t pixels);
 void yagl_host_glDrawArraysInstanced(GLenum mode,
     GLint start,
     GLsizei count,
@@ -87,7 +87,7 @@ void yagl_host_glVertexAttribPointerOffset(GLuint indx,
     GLenum type,
     GLboolean normalized,
     GLsizei stride,
-    GLsizei offset);
+    uintptr_t offset);
 void yagl_host_glVertexPointerData(GLint size,
     GLenum type,
     GLsizei stride,
@@ -96,14 +96,14 @@ void yagl_host_glVertexPointerData(GLint size,
 void yagl_host_glVertexPointerOffset(GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset);
+    uintptr_t offset);
 void yagl_host_glNormalPointerData(GLenum type,
     GLsizei stride,
     GLint first,
     const GLvoid *data, int32_t data_count);
 void yagl_host_glNormalPointerOffset(GLenum type,
     GLsizei stride,
-    GLsizei offset);
+    uintptr_t offset);
 void yagl_host_glColorPointerData(GLint size,
     GLenum type,
     GLsizei stride,
@@ -112,7 +112,7 @@ void yagl_host_glColorPointerData(GLint size,
 void yagl_host_glColorPointerOffset(GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset);
+    uintptr_t offset);
 void yagl_host_glTexCoordPointerData(GLint tex_id,
     GLint size,
     GLenum type,
@@ -122,7 +122,7 @@ void yagl_host_glTexCoordPointerData(GLint tex_id,
 void yagl_host_glTexCoordPointerOffset(GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset);
+    uintptr_t offset);
 void yagl_host_glDisableClientState(GLenum array);
 void yagl_host_glEnableClientState(GLenum array);
 void yagl_host_glVertexAttribDivisor(GLuint index,
@@ -137,7 +137,7 @@ void yagl_host_glVertexAttribIPointerOffset(GLuint index,
     GLint size,
     GLenum type,
     GLsizei stride,
-    GLsizei offset);
+    uintptr_t offset);
 void yagl_host_glGenBuffers(const GLuint *buffers, int32_t buffers_count);
 void yagl_host_glBindBuffer(GLenum target,
     GLuint buffer);
@@ -160,8 +160,8 @@ void yagl_host_glMapBuffer(GLuint buffer,
     GLvoid *data, int32_t data_maxcount, int32_t *data_count);
 void yagl_host_glCopyBufferSubData(GLenum readTarget,
     GLenum writeTarget,
-    GLint readOffset,
-    GLint writeOffset,
+    GLintptr readOffset,
+    GLintptr writeOffset,
     GLsizei size);
 void yagl_host_glGenTextures(const GLuint *textures, int32_t textures_count);
 void yagl_host_glBindTexture(GLenum target,
@@ -206,7 +206,7 @@ void yagl_host_glTexImage2DOffset(GLenum target,
     GLint border,
     GLenum format,
     GLenum type,
-    GLsizei pixels);
+    uintptr_t pixels);
 void yagl_host_glTexParameterf(GLenum target,
     GLenum pname,
     GLfloat param);
@@ -236,7 +236,7 @@ void yagl_host_glTexSubImage2DOffset(GLenum target,
     GLsizei height,
     GLenum format,
     GLenum type,
-    GLsizei pixels);
+    uintptr_t pixels);
 void yagl_host_glClientActiveTexture(GLenum texture);
 void yagl_host_glTexEnvi(GLenum target,
     GLenum pname,
@@ -280,7 +280,7 @@ void yagl_host_glTexImage3DOffset(GLenum target,
     GLint border,
     GLenum format,
     GLenum type,
-    GLsizei pixels);
+    uintptr_t pixels);
 void yagl_host_glTexSubImage3DData(GLenum target,
     GLint level,
     GLint xoffset,
@@ -302,7 +302,7 @@ void yagl_host_glTexSubImage3DOffset(GLenum target,
     GLsizei depth,
     GLenum format,
     GLenum type,
-    GLsizei pixels);
+    uintptr_t pixels);
 void yagl_host_glCopyTexSubImage3D(GLenum target,
     GLint level,
     GLint xoffset,
index a2a3b50..131c9a3 100644 (file)
@@ -88,9 +88,8 @@ static void yagl_device_operate(YaGLState *s, int user_index, hwaddr buff_pa)
     uint8_t *buff = NULL;
 
     YAGL_LOG_FUNC_ENTER(yagl_device_operate,
-                        "user_index = %d, buff_pa = 0x%X",
-                        user_index,
-                        (uint32_t)buff_pa);
+                        "user_index = %d, buff_pa = %" PRIx64,
+                        user_index, buff_pa);
 
     if (!buff_pa && !s->users[user_index].activated) {
         YAGL_LOG_CRITICAL("user %d is not activated", user_index);
@@ -101,9 +100,9 @@ static void yagl_device_operate(YaGLState *s, int user_index, hwaddr buff_pa)
         buff = cpu_physical_memory_map(buff_pa, &buff_len, false);
 
         if (!buff || (buff_len != TARGET_PAGE_SIZE)) {
-            YAGL_LOG_CRITICAL("cpu_physical_memory_map(read) failed for user %d, buff_pa = 0x%X",
+            YAGL_LOG_CRITICAL("cpu_physical_memory_map(read) failed for user %d, buff_pa = %" PRIx64,
                               user_index,
-                              (uint32_t)buff_pa);
+                              buff_pa);
             goto out;
         }
 
index 77c9e62..b2bdcf6 100644 (file)
@@ -327,8 +327,8 @@ void yagl_server_dispatch_update(struct yagl_server_state *ss,
         pages[i] = cpu_physical_memory_map(page_pa, &len, false);
 
         if (!pages[i] || (len != TARGET_PAGE_SIZE)) {
-            YAGL_LOG_CRITICAL("cpu_physical_memory_map(read) failed for page_pa = 0x%X",
-                              (uint32_t)page_pa);
+            YAGL_LOG_CRITICAL("cpu_physical_memory_map(read) failed for page_pa = %" PRIx64,
+                              page_pa);
             goto fail;
         }
     }
index 0091987..2e84264 100644 (file)
@@ -269,7 +269,7 @@ void yagl_transport_get_out_array(struct yagl_transport *t,
                                   const void **data,
                                   int32_t *count)
 {
-    target_ulong va = (target_ulong)yagl_transport_get_out_uint32_t(t);
+    target_ulong va = (target_ulong)yagl_transport_get_out_uintptr_t(t);
     uint32_t size;
 
     *count = yagl_transport_get_out_uint32_t(t);
@@ -296,7 +296,7 @@ void yagl_transport_get_in_array(struct yagl_transport *t,
                                  int32_t *maxcount,
                                  int32_t **count)
 {
-    target_ulong va = (target_ulong)yagl_transport_get_out_uint32_t(t);
+    target_ulong va = (target_ulong)yagl_transport_get_out_uintptr_t(t);
     uint32_t size;
     struct yagl_transport_in_array *in_array;
     uint32_t offset;
index 46dd5df..f59a1c2 100644 (file)
@@ -153,6 +153,13 @@ static __inline uint32_t yagl_transport_get_out_uint32_t(struct yagl_transport *
     return tmp;
 }
 
+static __inline uintptr_t yagl_transport_get_out_uintptr_t(struct yagl_transport *t)
+{
+    uintptr_t tmp = *(uintptr_t*)t->ptr;
+    t->ptr += 8;
+    return tmp;
+}
+
 static __inline float yagl_transport_get_out_float(struct yagl_transport *t)
 {
     float tmp = *(float*)t->ptr;
@@ -163,7 +170,7 @@ static __inline float yagl_transport_get_out_float(struct yagl_transport *t)
 static __inline void yagl_transport_get_in_arg(struct yagl_transport *t,
                                                void **value)
 {
-    target_ulong va = (target_ulong)yagl_transport_get_out_uint32_t(t);
+    target_ulong va = (target_ulong)yagl_transport_get_out_uintptr_t(t);
 
     if (va) {
         uint32_t offset = t->ptr - t->batch_data;
@@ -187,7 +194,7 @@ static __inline yagl_winsys_id yagl_transport_get_out_yagl_winsys_id(struct yagl
 
 static __inline target_ulong yagl_transport_get_out_va(struct yagl_transport *t)
 {
-    return (target_ulong)yagl_transport_get_out_uint32_t(t);
+    return (target_ulong)yagl_transport_get_out_uintptr_t(t);
 }
 
 #endif
index bd5af34..8964d1d 100644 (file)
@@ -78,4 +78,9 @@ static __inline GLuint yagl_transport_get_out_GLuint(struct yagl_transport *t)
     return yagl_transport_get_out_uint32_t(t);
 }
 
+static __inline GLintptr yagl_transport_get_out_GLintptr(struct yagl_transport *t)
+{
+    return yagl_transport_get_out_uintptr_t(t);
+}
+
 #endif