Page 1 of 1

[G1.9pre-337-g4122e40] Compilation of x64 version failed...

Posted: Thu Nov 21, 2013 16:37
by Player701
Having updated the code to the latest Git revision, I ran into this issue, so I went and downloaded CMake to generate project files for Visual Studio 2012, which I use to compile GZDoom.

I was able to compile the x86 version just fine (albeit with a minor issue, see below) after filling some paths to include and library files, but compiling the x64 version after generating project files again (via CMake GUI) failed.

The compiler didn't like the inline assembly code in hq2x.cpp (found in src\gl\hqnx), throwing compilation error C4235, and then a lot of errors related to the following assembly instructions (full error text is not given because it was in Russian). A quick Google search showed that VS doesn't support inline assembly for x64 compilations. However, back in the times when I used the bundled solution file (which is now said to be deprecated), I always compiled 64-bit GZDoom without problems. Is it something I did wrong or is it a bug? I tried to delete all the files and do a clean install from the Git repository but got the same error.

By the way, GZDoom's windows (startup window and the IWAD selection box) now look like this:

[spoiler]Image[/spoiler]

but they used to look like this:

[spoiler]Image[/spoiler]

How to make them not to use the old Windows style?

Re: [G1.9pre-337-g4122e40] Compilation of x64 version failed

Posted: Sat Nov 30, 2013 10:21
by Graf Zahl
Ok, fixed.

I do not care much about the 64bit version because it's significantly slower than 32 bit.

Re: [G1.9pre-337-g4122e40] Compilation of x64 version failed

Posted: Sat Nov 30, 2013 13:13
by Player701
Hmm, why is it slower? I'm interested.

Re: [G1.9pre-337-g4122e40] Compilation of x64 version failed

Posted: Sat Nov 30, 2013 13:29
by Graf Zahl
Function calling overhead is a lot more on 64 bit than on 32 bit but the code inside the most frequently called functions only consists of math stuff to process the rendering data, which won't benefit from 64 bit at all. The code is also significantly larger which hurts cache performance.

Re: [G1.9pre-337-g4122e40] Compilation of x64 version failed

Posted: Sat Nov 30, 2013 17:52
by Player701
OK, thanks for explaining.