CUDA wrapper

Stefan Dösinger stefan at
Mon Jul 7 11:26:23 CDT 2008

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


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 at] 
Sent: Monday, July 07, 2008 11:01 AM
To: Stefan Dösinger
Cc: wine-devel at
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

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the wine-devel mailing list