Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

64bitsville

edited 2006 Apr 3 in Developers
<i>This post was originally made by <b>danij</b> on the dengDevs blog. It was posted under the categories: Blog, Engine.</i>

I finally got around to upgrading my main machine so decided to get one of the new AMD 64 X2 4400+ processors, slot that into a groovy A8N32-SLI motherboard and attach a swish Arctic Cooling fan and heatsink with variable speed control (this allows the mb's AI-NOS to dynamically overclock the CPU and adjust the fans based on load). This new mb also includes some far better audio stuff (Realtek) so I've been able to connect my machine up with my home theatre system :)

I'm now all set to start experimenting with this new hardware.

I'm currently reading up on the specifics of the CPU and will attempt to compile a 64bit native Doomsday1.9.0-beta4 and see what the current issues are.

As you might know this processor has two cores allowing for true multithreading 64bit applications under this environment. So I'm particularly interested in messing with that stuff in 1.9.1

Comments

  • Welcome to 64bit :) Now for the bad news. Windows idea of 64bit is very different to Linux and Mac 64bit. Linux and Mac use a LP64 data model, while Windows uses a LLP64 data model, for 32bit they all use a ILP32 data model.
    Some useful links to help.
    http://tuvix.apple.com/documentation/Darwin/Conceptual/64bitPorting/transition/chapter_3_section_3.html
    http://devnet.developerpipeline.com/documents/s=9852/q=1/cuj0506mach/0506mach.html
    http://en.wikipedia.org/wiki/64-bit
  • <blockquote>Now for the bad news. Windows idea of 64bit is very different to Linux and Mac 64bit. Linux and Mac use a LP64 data model, while Windows uses a LLP64 data model, for 32bit they all use a ILP32 data model.</blockquote>Yes, fixing up Doomsday (and games) so that all three of us can compile a native 64bit executable won't be fun.

    Skyjake - What is your current plan with regard to 64bit support in Doomsday?
  • <blockquote>Skyjake - What is your current plan with regard to 64bit support in Doomsday?</blockquote> I'm thinking that getting 1.9.0 out takes priority. This means that any 64-bit fixes should be worked on when everything is up and running well in all three environments. Then I will start digging up the 64-bit issues with native ppc 64-bit code. Of course, if you guys are interested in working on the other platforms, please feel free.

    When it comes to the differences in data models, we should be pretty safe if we make sure that pointers are handled correctly: 8-byte pointers with 64-bit vs. 4 byte pointers with 32-bit (and that no type casts occur between pointers and integer types). The other data types are less important.

    Although, in Doomsday's case 32-bit code is perfectly adequate.

    Danij, your new system sounds cool. :)
  • <blockquote>I'm thinking that getting 1.9.0 out takes priority. This means that any 64-bit fixes should be worked on when everything is up and running well in all three environments.</blockquote>
    Yes of course.
    <blockquote>When it comes to the differences in data models, we should be pretty safe if we make sure that pointers are handled correctly: 8-byte pointers with 64-bit vs. 4 byte pointers with 32-bit (and that no type casts occur between pointers and integer types). The other data types are less important.</blockquote>
    I've had a quick look over the src and since you've (skyjake) implemented the DD_Get/SetVariable stuff for use in place of DD_Get/SetInteger with pointers there doesn't seem to be too many obvious issues remaining. In 64bit Windows the passing of HwND handles will need to be addressed as currently they are truncated during conversion to int when passing to/from the renderers, though considering they are normally small, NEAR pointers it isn't an obvious problem.
    <blockquote>Danij, your new system sounds cool.</blockquote>
    Thanks. I've had to pick up a rather old PCIe videocard, ASUS EN7300GS (I'm not made of money :)) but it at least supports Shader Model 3.0 and Ultrashadow 2 (I want to play with them). Once I've saved up a bit more cash I'll probably look at getting a more recent card (or two, SLi) and some more RAM (I've only got 1GB atm).

    The dynamic overclocking is fun, as CPU load increases the fan gives out a wwhooooosh sound but it's generally a pretty quiet system other than the hum of one of my old HDs.
Sign In or Register to comment.