Actually you want something like
retval WINAPI wine_cudaSomething(int a, int etc)
so instead of the void use the return value the function is
supposed to return
WINAPI tells the compiler about the calling convention(ie, first
parameter on the stack, in ecx, or elsewhere, who takes care about cleaning up
the stack, etc). You'll have to check the calling convention Win32 cuda uses,
but most likely WINAPI is correct. You don't have to care about the Linux cuda calling
convention, since the compiler knows about that from the Linux cuda headers
I am also not quite sure about some constructs, like
"wine_cudaBindTexture( size_t* offset, const struct texture
< T, dim, readMode >& texRef, const void* devPtr, const struct
cudaChannelFormatDesc& desc, size_t size = UINT_MAX )" As far as I
know this contains C++ or Microsoft syntax, which is not valid in pure C.
From: Seth
Shelnutt [mailto:shelnutt2@gmail.com]
Sent: Monday, July 07, 2008 11:01 AM
To: Stefan Dösinger
Cc: wine-devel@winehq.org
Subject: Re: CUDA wrapper
I've attached my spec file and my .c file along with the two header files from
the nvidia toolkit. I am pretty sure in the .c file I was not suppose to use
the "WINAPI" but instead I need "FancyCudaReturnValue" but
I don't know what that is. Needless to say after using "winemaker
cuda" (I have it in a folder called cuda), it doesn't compile and I get a
million and one errors. I'm sure these errors are more or less caused because I
didn't quite get it right. If you could just look at it and give me some pointers
on where and how I went wrong, it would be appreciated. You've been a big help
so far. Thank you for the explanations in the last email it got me this far so
far.
-Seth Shelnutt