[Bf-committers] AMD64 bit support issues

Ken Hughes khughes at pacific.edu
Sat Nov 12 00:28:38 CET 2005

Ton Roosendaal wrote:
> Hi,
>> I've got a working build right now using which uses uintptr_t and  
>> intptr_t instead of long
> Hrms, this is not what I talked about. Note that Blender was 64 bits  
> compliant between 98 and 2001, succesfully using the LP64 convention.
> That way you also benefit work done already (like in file reading and  
> DNA). Only newer parts of code need to be checked.

Ok, first let me back up to your earlier e-mail:

 > It wouldn't be hard to typedef things in winstuff.h to make it
 > following that standard too.

Can you give an example?  I can't see how to do this without either
(a) changing all the casts from int or long to void *
(b) creating a new datatype which is the same size as a long, consistent 
on each platform
(c) typedef-ing long to be long long for windows, which AFAIK is not 

I personally don't mind just changing everything to use a long, since it 
will work for me, but it doesn't help 64-bit Windows developers.  On the 
other hand maybe I'm just really dense; is this is non-issue on Win64? 
Is a long really 64-bits there?

>>  and I'm trying to decided the best way to get this into the 
>> necessary  files and include search paths.  Currently I've changed 
>> about 8  makefiles and 6 SConscript files
> I'd appreciate if you would first mail the list what you exactly want  
> to do?

Trust me, I'll be thrilled to get everyone else's blessing before I make 
any permanent changes :-)  I'd like to make as few as possible.

>> but I'm planning today to examine the various search paths more  
>> closely to see what the current settings are.  It looks like the most  
>> painless way right now would be add or modify include files in 
>> blender  and the game engine; I don't see any common include path 
>> which both  use consistently.
> No idea what you try... the 64 bits versions we did in past didn't need  
> much tweaks in .h or makefiles...

Again, I believe you, but do the Windows developers care?

>> So what's the preferred approach?  Duplicate header files with no  
>> change to the builds, or one header file and changes to the builds  
>> (which will
>> involve the other platform maintainers)?
>> (Actually, if someone (ton?) can give me a definitive direction to  
>> take, this could still make it before the cvs freeze)

> This is definitely for after 2.40 is out!

No problem; but in the meantime I'd like to be able to work on this, and 
would appreciate some direction.  I discovered today that two old .blend 
files which work fine on my 32-bit machine give memory corruption 
warnings and segfaults on my 64-bit machine.  So I'm motivated to work 
on the 64-bit port; otherwise I may as well install a 32-bit version of 
the OS.


> -Ton-

More information about the Bf-committers mailing list