Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 263391 Details for
Bug 366841
Review Request: nogravity - Space shooter in 3D
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
PATCH: some fixes to the 64bit patch
nogravity-2.00-64bit-fixes.patch (text/plain), 5.13 KB, created by
Hans de Goede
on 2007-11-19 11:10:41 UTC
(
hide
)
Description:
PATCH: some fixes to the 64bit patch
Filename:
MIME Type:
Creator:
Hans de Goede
Created:
2007-11-19 11:10:41 UTC
Size:
5.13 KB
patch
obsolete
>diff -up nogravity-2.00/rlx32/include/v3xcoll.h~ nogravity-2.00/rlx32/include/v3xcoll.h >--- nogravity-2.00/rlx32/include/v3xcoll.h~ 2007-11-19 09:46:44.000000000 +0100 >+++ nogravity-2.00/rlx32/include/v3xcoll.h 2007-11-19 09:46:44.000000000 +0100 >@@ -68,12 +68,12 @@ typedef struct _v3xcl_mesh{ > u_int16_t *sectorList;// Sector list > u_int32_t maxsectors; // maxSectors > V3XMESH *mesh_ref; >+/* No padding when using 64 bit pointers to make this the same size as >+ V3XCL_SPHERE and V3XCL_BOX. We are 3 ints bigger due to the 3 pointers, >+ and one additional int to align the last pointer on a 64 bit boundary */ > #ifndef __LP64__ > u_int32_t pad[4]; // pad >-#else >- u_int32_t pad1; // pad > #endif >- > }V3XCL_MESH; > > typedef struct _v3x_cl_sphere{ // 64b >diff -up nogravity-2.00/rlx32/include/v3xdefs.h~ nogravity-2.00/rlx32/include/v3xdefs.h >--- nogravity-2.00/rlx32/include/v3xdefs.h~ 2007-11-19 10:52:45.000000000 +0100 >+++ nogravity-2.00/rlx32/include/v3xdefs.h 2007-11-19 10:52:45.000000000 +0100 >@@ -327,17 +327,15 @@ typedef struct _v3x_mesh{ > u_int16_t selfIllumine; // Self illumination value (0..255) > > V3XSCALAR scale; // Uniform scaling >+ /* Note an int32 of padding is added here by the compiler when compiling >+ for a platform with 64 bit pointers */ > union > { > V3XSCALAR * shade; > rgb32_t * rgb; > }; > V3XSCALAR radius; >-/* No padding at the end with 64 bits pointers to make MESH the same size as >- NODE, CAMERA and LIGHT */ >-#ifndef __LP64__ > u_int32_t pad; // Pad >-#endif > }V3XMESH; > > /* >@@ -357,6 +355,8 @@ typedef struct _v3x_light > V3XSCALAR range; // Light range > V3XSCALAR falloff; // Spot falloff size > rgb32_t color; // RGBA color >+ /* Note an int32 of padding is added here by the compiler when compiling >+ for a platform with 64 bit pointers */ > union { > V3XMATERIAL * material; // Material > struct _v3xsprite * flare; >@@ -365,7 +365,7 @@ typedef struct _v3x_light > rgb32_t specular; > void * reserved[2]; > #ifdef __LP64__ >- u_int32_t alignTK_lp64[3]; >+ u_int32_t alignTK_lp64[2]; > #endif > > V3XKEY Tk; >@@ -375,7 +375,11 @@ typedef struct _v3x_light > u_int8_t alpha; > u_int8_t status; > u_int32_t Timer, TimeOn, TimeOff; >+#ifndef __LP64__ > u_int32_t pad2[3]; >+#else >+ u_int32_t pad2[5]; >+#endif > }V3XLIGHT; > > /* >@@ -391,7 +395,11 @@ typedef struct _v3x_camera{ > #endif > V3XMATRIX M; // Matrix > V3XKEY Tk; // Keyframe informations 22 q >+#ifndef __LP64__ > u_int32_t pad[7]; >+#else >+ u_int32_t pad[9]; >+#endif > }V3XCAMERA; > > /* >diff -up nogravity-2.00/rlx32/include/v3xscene.h~ nogravity-2.00/rlx32/include/v3xscene.h >--- nogravity-2.00/rlx32/include/v3xscene.h~ 2007-11-19 10:55:51.000000000 +0100 >+++ nogravity-2.00/rlx32/include/v3xscene.h 2007-11-19 10:55:51.000000000 +0100 >@@ -117,7 +117,11 @@ typedef struct _v3x_dummy{ > #endif > V3XMATRIX matrix; > V3XKEY Tk; >- u_int32_t pad0[3]; >+#ifndef __LP64__ >+ u_int32_t pad0[3+4]; >+#else >+ u_int32_t pad0[3+4+2]; >+#endif > }V3XDUMMY; > > >@@ -128,7 +132,11 @@ typedef struct _v3x_node{ > #endif > V3XMATRIX matrix; > V3XKEY Tk; >+#ifndef __LP64__ > u_int32_t pad0[3+4]; >+#else >+ u_int32_t pad0[3+4+2]; >+#endif > }V3XNODE; > > >diff -up nogravity-2.00/rlx32/src/v3xscen2.c~ nogravity-2.00/rlx32/src/v3xscen2.c >--- nogravity-2.00/rlx32/src/v3xscen2.c~ 2007-11-19 10:59:33.000000000 +0100 >+++ nogravity-2.00/rlx32/src/v3xscen2.c 2007-11-19 11:09:22.000000000 +0100 >@@ -1148,11 +1148,7 @@ static void v3x_raw_to_mesh(u_int32_t *r > memcpy(&obj->scale, raw + 32, sizeof(u_int32_t)); > obj->rgb = (rgb32_t *)(uintptr_t)raw[33]; > memcpy(&obj->radius, raw + 34, sizeof(u_int32_t)); >-/* No padding at the end with 64 bits pointers to make MESH the same size as >- NODE, CAMERA and LIGHT */ >-#ifndef __LP64__ > obj->pad = raw[35]; >-#endif > } > > /*------------------------------------------------------------------------ >@@ -1341,8 +1337,8 @@ V3XLIGHT static RLXAPI *v3x_VMX_unpack_l > > /* copy the raw data to the in memory mesh struct */ > memcpy(light, raw, 17 * sizeof(u_int32_t)); >- light->material = (V3XMATERIAL *)(uintptr_t)raw[18]; >- memcpy(&light->flaresize, raw + 19, 2 * sizeof(u_int32_t)); >+ light->material = (V3XMATERIAL *)(uintptr_t)raw[17]; >+ memcpy(&light->flaresize, raw + 18, 2 * sizeof(u_int32_t)); > light->reserved[0] = (void *)(uintptr_t)raw[20]; > light->reserved[1] = (void *)(uintptr_t)raw[21]; > memcpy(&light->Tk, raw + 22, 14 * sizeof(u_int32_t)); >@@ -1455,7 +1451,7 @@ V3XCL static RLXAPI *v3x_VMX_unpack_coll > item->mesh.sectorList = (u_int16_t *)(uintptr_t)raw_item[9]; > item->mesh.maxsectors = raw_item[10]; > item->mesh.mesh_ref = (V3XMESH *)(uintptr_t)raw_item[11]; >- /* skip 4 ints of unused padding (reduced to 1 when using >+ /* skip 4 ints of unused padding (not there when using > 64 bits pointers) */ > } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 366841
:
263141
|
263391
|
265081
|
291089