Newton x86

A place to discuss everything related to Newton Dynamics.

Moderators: Sascha Willems, walaber

Newton x86

Postby Esharc » Fri May 12, 2023 5:45 am

Good morning Julio

Does Newton not support x86 configuration anymore? When I try to compile my project in x86 I get the build error
Code: Select all
sdk\dcore\ndVectorSimd.h(839): error C3861: '_mm_cvtsd_si64': identifier not found
.
Esharc
 
Posts: 120
Joined: Tue Jan 10, 2017 5:23 am
Location: South Africa

Re: Newton x86

Postby Julio Jerez » Fri May 12, 2023 8:20 am

I optimized the double and few of the matrix vector multiply, floor and int cast
and I forget that _mm_cvtsd_si64 does not exist in x86
I made a conditional now, please try again.

for some reason opengl crashes in win32 debug. I have not idea why.
It does works on release and release with debug.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles

Re: Newton x86

Postby Esharc » Fri May 12, 2023 9:09 am

Thank you for the quick fix, x86 is working again.

I remember a while back I was having that same problem with opengl in win32 debug for the Sandbox project. Don't know why it is happening. Fortunately most of our work is in x64 now, but we still have to support x86 for our customers that have old systems.
Esharc
 
Posts: 120
Joined: Tue Jan 10, 2017 5:23 am
Location: South Africa

Re: Newton x86

Postby Julio Jerez » Fri May 12, 2023 1:08 pm

I actually figured it out, it was a ripple from the 32 bit era only when there we many calling conversion. Open gl use a non C style convention, so user function pointers must have the same conversion, and I did not that for the debug callback, I set it as
Code: Select all
   static void OpenMessageCallback(
      GLenum source, GLenum type, GLuint id, GLenum severity,
      GLsizei length, const GLchar* message, const void* userParam);


but should be
Code: Select all
   static void APIENTRY OpenMessageCallback(
      GLenum source, GLenum type, GLuint id, GLenum severity,
      GLsizei length, const GLchar* message, const void* userParam);


it seems in 64 bit APIENTRY is ignored, and all release build debug it is compiled out.
but anyway, I am glad it works in 32 bit, because I like to debug in that mode.
Julio Jerez
Moderator
Moderator
 
Posts: 12249
Joined: Sun Sep 14, 2003 2:18 pm
Location: Los Angeles


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 39 guests