summaryrefslogtreecommitdiff
path: root/src/mesa/main/api_arrayelt.c
diff options
context:
space:
mode:
authorKarl Schultz <kschultz@freedesktop.org>2005-05-05 21:08:07 +0000
committerKarl Schultz <kschultz@freedesktop.org>2005-05-05 21:08:07 +0000
commit6258b76c49f49a56a7c713914b798e80c6553b06 (patch)
tree2cc86a17fdda506fc9c86daba7ff3900d2d64996 /src/mesa/main/api_arrayelt.c
parent203dcb733d36cc91107554b0d323ed8ccef6e105 (diff)
Port Mesa to build on a P64 platform (e.g., Win64). P64 platforms
use 64-bit pointers and 32-bit longs. So, operations like casting pointers to unsigned long and back to pointer won't work. glheader.h now includes files to define uintptr_t, which should instead be used for this sort of operation. It is an integer type that is the same size as a pointer.
Diffstat (limited to 'src/mesa/main/api_arrayelt.c')
-rw-r--r--src/mesa/main/api_arrayelt.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index cb827c2ec9..6a531aa2aa 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -989,7 +989,7 @@ void GLAPIENTRY _ae_loopback_array_elt( GLint elt )
/* generic attributes */
for (at = actx->attribs; at->func; at++) {
const GLubyte *src = at->array->BufferObj->Data
- + (unsigned long) at->array->Ptr
+ + (uintptr_t) at->array->Ptr
+ elt * at->array->StrideB;
at->func( at->index, src );
}
@@ -997,7 +997,7 @@ void GLAPIENTRY _ae_loopback_array_elt( GLint elt )
/* conventional arrays */
for (aa = actx->arrays; aa->func ; aa++) {
const GLubyte *src = aa->array->BufferObj->Data
- + (unsigned long) aa->array->Ptr
+ + (uintptr_t) aa->array->Ptr
+ elt * aa->array->StrideB;
aa->func( src );
}