From 3b01c6e2c5c26498b0f261fabbc4cd51ec917a2e Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 5 Jan 2022 16:56:15 +1100 Subject: [PATCH] Updated nvcuda-CUDA_Support patchset This patch add functions for CUDA 10, and reorders them to be easier to update in future. --- .../0013-nvcuda-Update-spec-file.patch | 439 ++++++++++++++++++ patches/patchinstall.sh | 3 +- 2 files changed, 441 insertions(+), 1 deletion(-) create mode 100644 patches/nvcuda-CUDA_Support/0013-nvcuda-Update-spec-file.patch diff --git a/patches/nvcuda-CUDA_Support/0013-nvcuda-Update-spec-file.patch b/patches/nvcuda-CUDA_Support/0013-nvcuda-Update-spec-file.patch new file mode 100644 index 00000000..d6dc313a --- /dev/null +++ b/patches/nvcuda-CUDA_Support/0013-nvcuda-Update-spec-file.patch @@ -0,0 +1,439 @@ +From 30abce599e93165e426c74dd232159e030adfe28 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Wed, 5 Jan 2022 16:51:55 +1100 +Subject: [PATCH] nvcuda: Update spec file + +--- + dlls/nvcuda/nvcuda.spec | 224 +++++++++++++++++++++++++++------------- + 1 file changed, 150 insertions(+), 74 deletions(-) + +diff --git a/dlls/nvcuda/nvcuda.spec b/dlls/nvcuda/nvcuda.spec +index 70bcc6db833..891920b8699 100644 +--- a/dlls/nvcuda/nvcuda.spec ++++ b/dlls/nvcuda/nvcuda.spec +@@ -19,6 +19,7 @@ + @ stdcall cuCtxGetCacheConfig(ptr) wine_cuCtxGetCacheConfig + @ stdcall cuCtxGetCurrent(ptr) wine_cuCtxGetCurrent + @ stdcall cuCtxGetDevice(ptr) wine_cuCtxGetDevice ++@ stdcall cuCtxGetFlags(ptr) wine_cuCtxGetFlags + @ stdcall cuCtxGetLimit(ptr long) wine_cuCtxGetLimit + @ stdcall cuCtxGetSharedMemConfig(ptr) wine_cuCtxGetSharedMemConfig + @ stdcall cuCtxGetStreamPriorityRange(ptr ptr) wine_cuCtxGetStreamPriorityRange +@@ -84,15 +85,25 @@ + @ stub cuD3D9UnmapVertexBuffer + @ stub cuD3D9UnregisterResource + @ stub cuD3D9UnregisterVertexBuffer ++@ stub cuDestroyExternalMemory ++@ stub cuDestroyExternalSemaphore + @ stdcall cuDeviceCanAccessPeer(ptr long long) wine_cuDeviceCanAccessPeer + @ stdcall cuDeviceComputeCapability(ptr ptr long) wine_cuDeviceComputeCapability + @ stdcall cuDeviceGet(ptr long) wine_cuDeviceGet + @ stdcall cuDeviceGetAttribute(ptr long long) wine_cuDeviceGetAttribute + @ stdcall cuDeviceGetByPCIBusId(ptr str) wine_cuDeviceGetByPCIBusId + @ stdcall cuDeviceGetCount(ptr) wine_cuDeviceGetCount ++@ stub cuDeviceGetLuid + @ stdcall cuDeviceGetName(ptr long long) wine_cuDeviceGetName ++@ stub cuDeviceGetP2PAttribute + @ stdcall cuDeviceGetPCIBusId(ptr long long) wine_cuDeviceGetPCIBusId + @ stdcall cuDeviceGetProperties(ptr long) wine_cuDeviceGetProperties ++@ stub cuDeviceGetUuid ++@ stdcall cuDevicePrimaryCtxGetState(long ptr ptr) wine_cuDevicePrimaryCtxGetState ++@ stdcall cuDevicePrimaryCtxRelease(long) wine_cuDevicePrimaryCtxRelease ++@ stdcall cuDevicePrimaryCtxReset(long) wine_cuDevicePrimaryCtxReset ++@ stdcall cuDevicePrimaryCtxRetain(ptr long) wine_cuDevicePrimaryCtxRetain ++@ stdcall cuDevicePrimaryCtxSetFlags(long long) wine_cuDevicePrimaryCtxSetFlags + @ stdcall cuDeviceTotalMem(ptr long) wine_cuDeviceTotalMem + @ stdcall cuDeviceTotalMem_v2(ptr long) wine_cuDeviceTotalMem_v2 + @ stdcall cuDriverGetVersion(ptr) wine_cuDriverGetVersion +@@ -102,8 +113,12 @@ + @ stdcall cuEventElapsedTime(ptr ptr ptr) wine_cuEventElapsedTime + @ stdcall cuEventQuery(ptr) wine_cuEventQuery + @ stdcall cuEventRecord(ptr ptr) wine_cuEventRecord ++@ stdcall cuEventRecord_ptsz(ptr ptr) wine_cuEventRecord_ptsz + @ stdcall cuEventSynchronize(ptr) wine_cuEventSynchronize ++@ stub cuExternalMemoryGetMappedBuffer ++@ stub cuExternalMemoryGetMappedMipmappedArray + @ stdcall cuFuncGetAttribute(ptr long ptr) wine_cuFuncGetAttribute ++@ stub cuFuncSetAttribute + @ stdcall cuFuncSetBlockShape(ptr long long long) wine_cuFuncSetBlockShape + @ stdcall cuFuncSetCacheConfig(ptr long) wine_cuFuncSetCacheConfig + @ stdcall cuFuncSetSharedMemConfig(ptr long) wine_cuFuncSetSharedMemConfig +@@ -111,11 +126,14 @@ + @ stdcall cuGLCtxCreate(ptr long long) wine_cuGLCtxCreate + @ stdcall cuGLCtxCreate_v2(ptr long long) wine_cuGLCtxCreate_v2 + @ stdcall cuGLGetDevices(ptr ptr long long) wine_cuGLGetDevices ++@ stdcall cuGLGetDevices_v2(ptr ptr long long) wine_cuGLGetDevices_v2 + @ stdcall cuGLInit() wine_cuGLInit + @ stdcall cuGLMapBufferObject(ptr ptr long) wine_cuGLMapBufferObject + @ stdcall cuGLMapBufferObjectAsync(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync + @ stdcall cuGLMapBufferObjectAsync_v2(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync_v2 ++@ stdcall cuGLMapBufferObjectAsync_v2_ptsz(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync_v2_ptsz + @ stdcall cuGLMapBufferObject_v2(ptr ptr long) wine_cuGLMapBufferObject_v2 ++@ stdcall cuGLMapBufferObject_v2_ptds(ptr ptr long) wine_cuGLMapBufferObject_v2_ptds + @ stdcall cuGLRegisterBufferObject(long) wine_cuGLRegisterBufferObject + @ stdcall cuGLSetBufferObjectMapFlags(long long) wine_cuGLSetBufferObjectMapFlags + @ stdcall cuGLUnmapBufferObject(long) wine_cuGLUnmapBufferObject +@@ -124,19 +142,57 @@ + @ stdcall cuGetErrorName(long ptr) wine_cuGetErrorName + @ stdcall cuGetErrorString(long ptr) wine_cuGetErrorString + @ stdcall cuGetExportTable(ptr ptr) wine_cuGetExportTable ++@ stub cuGraphAddChildGraphNode ++@ stub cuGraphAddDependencies ++@ stub cuGraphAddEmptyNode ++@ stub cuGraphAddHostNode ++@ stub cuGraphAddKernelNode ++@ stub cuGraphAddMemcpyNode ++@ stub cuGraphAddMemsetNode ++@ stub cuGraphChildGraphNodeGetGraph ++@ stub cuGraphClone ++@ stub cuGraphCreate ++@ stub cuGraphDestroy ++@ stub cuGraphDestroyNode ++@ stub cuGraphExecDestroy ++@ stub cuGraphExecKernelNodeSetParams ++@ stub cuGraphGetEdges ++@ stub cuGraphGetNodes ++@ stub cuGraphGetRootNodes ++@ stub cuGraphHostNodeGetParams ++@ stub cuGraphHostNodeSetParams ++@ stub cuGraphInstantiate ++@ stub cuGraphKernelNodeGetParams ++@ stub cuGraphKernelNodeSetParams ++@ stub cuGraphLaunch ++@ stub cuGraphLaunch_ptsz ++@ stub cuGraphMemcpyNodeGetParams ++@ stub cuGraphMemcpyNodeSetParams ++@ stub cuGraphMemsetNodeGetParams ++@ stub cuGraphMemsetNodeSetParams ++@ stub cuGraphNodeFindInClone ++@ stub cuGraphNodeGetDependencies ++@ stub cuGraphNodeGetDependentNodes ++@ stub cuGraphNodeGetType ++@ stub cuGraphRemoveDependencies + @ stub cuGraphicsD3D10RegisterResource + @ stdcall cuGraphicsD3D11RegisterResource(ptr ptr long) wine_cuGraphicsD3D11RegisterResource + @ stub cuGraphicsD3D9RegisterResource + @ stdcall cuGraphicsGLRegisterBuffer(ptr long long) wine_cuGraphicsGLRegisterBuffer + @ stdcall cuGraphicsGLRegisterImage(ptr long long long) wine_cuGraphicsGLRegisterImage + @ stdcall cuGraphicsMapResources(long ptr ptr) wine_cuGraphicsMapResources ++@ stdcall cuGraphicsMapResources_ptsz(long ptr ptr) wine_cuGraphicsMapResources_ptsz + @ stdcall cuGraphicsResourceGetMappedMipmappedArray(ptr ptr) wine_cuGraphicsResourceGetMappedMipmappedArray + @ stdcall cuGraphicsResourceGetMappedPointer(ptr ptr ptr) wine_cuGraphicsResourceGetMappedPointer + @ stdcall cuGraphicsResourceGetMappedPointer_v2(ptr ptr ptr) wine_cuGraphicsResourceGetMappedPointer_v2 + @ stdcall cuGraphicsResourceSetMapFlags(ptr long) wine_cuGraphicsResourceSetMapFlags ++@ stdcall cuGraphicsResourceSetMapFlags_v2(ptr long) wine_cuGraphicsResourceSetMapFlags_v2 + @ stdcall cuGraphicsSubResourceGetMappedArray(ptr ptr long long) wine_cuGraphicsSubResourceGetMappedArray + @ stdcall cuGraphicsUnmapResources(long ptr ptr) wine_cuGraphicsUnmapResources ++@ stdcall cuGraphicsUnmapResources_ptsz(long ptr ptr) wine_cuGraphicsUnmapResources_ptsz + @ stdcall cuGraphicsUnregisterResource(ptr) wine_cuGraphicsUnregisterResource ++@ stub cuImportExternalMemory ++@ stub cuImportExternalSemaphore + @ stdcall cuInit(long) wine_cuInit + @ stdcall cuIpcCloseMemHandle(long) wine_cuIpcCloseMemHandle + @ stdcall cuIpcGetEventHandle(ptr ptr) wine_cuIpcGetEventHandle +@@ -144,14 +200,24 @@ + @ stdcall cuIpcOpenEventHandle(ptr ptr) wine_cuIpcOpenEventHandle + @ stdcall cuIpcOpenMemHandle(ptr ptr long) wine_cuIpcOpenMemHandle + @ stdcall cuLaunch(ptr) wine_cuLaunch ++@ stub cuLaunchCooperativeKernel ++@ stub cuLaunchCooperativeKernelMultiDevice ++@ stub cuLaunchCooperativeKernel_ptsz + @ stdcall cuLaunchGrid(ptr long long) wine_cuLaunchGrid + @ stdcall cuLaunchGridAsync(ptr long long ptr) wine_cuLaunchGridAsync ++@ stub cuLaunchHostFunc ++@ stub cuLaunchHostFunc_ptsz + @ stdcall cuLaunchKernel(ptr long long long long long long long ptr ptr ptr) wine_cuLaunchKernel ++@ stdcall cuLaunchKernel_ptsz(ptr long long long long long long long ptr ptr ptr) wine_cuLaunchKernel_ptsz + @ stdcall cuLinkAddData(ptr long ptr long str long ptr ptr) wine_cuLinkAddData ++@ stdcall cuLinkAddData_v2(ptr long ptr long str long ptr ptr) wine_cuLinkAddData_v2 + @ stub cuLinkAddFile ++@ stub cuLinkAddFile_v2 + @ stdcall cuLinkComplete(ptr ptr ptr) wine_cuLinkComplete + @ stdcall cuLinkCreate(long ptr ptr ptr) wine_cuLinkCreate ++@ stdcall cuLinkCreate_v2(long ptr ptr ptr) wine_cuLinkCreate_v2 + @ stdcall cuLinkDestroy(ptr) wine_cuLinkDestroy ++@ stub cuMemAdvise + @ stdcall cuMemAlloc(ptr long) wine_cuMemAlloc + @ stdcall cuMemAllocHost(ptr long) wine_cuMemAllocHost + @ stdcall cuMemAllocHost_v2(ptr long) wine_cuMemAllocHost_v2 +@@ -171,67 +237,108 @@ + @ stdcall cuMemHostGetDevicePointer_v2(ptr ptr long) wine_cuMemHostGetDevicePointer_v2 + @ stdcall cuMemHostGetFlags(ptr ptr) wine_cuMemHostGetFlags + @ stdcall cuMemHostRegister(ptr long long) wine_cuMemHostRegister ++@ stdcall cuMemHostRegister_v2(ptr long long) wine_cuMemHostRegister_v2 + @ stdcall cuMemHostUnregister(ptr) wine_cuMemHostUnregister ++@ stub cuMemPrefetchAsync ++@ stub cuMemPrefetchAsync_ptsz ++@ stub cuMemRangeGetAttribute ++@ stub cuMemRangeGetAttributes ++@ stdcall cuMemcpy(long long long) wine_cuMemcpy + @ stdcall cuMemcpy2D(ptr) wine_cuMemcpy2D + @ stdcall cuMemcpy2DAsync(ptr ptr) wine_cuMemcpy2DAsync + @ stdcall cuMemcpy2DAsync_v2(ptr ptr) wine_cuMemcpy2DAsync_v2 ++@ stdcall cuMemcpy2DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy2DAsync_v2_ptsz + @ stdcall cuMemcpy2DUnaligned(ptr) wine_cuMemcpy2DUnaligned + @ stdcall cuMemcpy2DUnaligned_v2(ptr) wine_cuMemcpy2DUnaligned_v2 ++@ stdcall cuMemcpy2DUnaligned_v2_ptds(ptr) wine_cuMemcpy2DUnaligned_v2_ptds + @ stdcall cuMemcpy2D_v2(ptr) wine_cuMemcpy2D_v2 ++@ stdcall cuMemcpy2D_v2_ptds(ptr) wine_cuMemcpy2D_v2_ptds + @ stdcall cuMemcpy3D(ptr) wine_cuMemcpy3D + @ stdcall cuMemcpy3DAsync(ptr ptr) wine_cuMemcpy3DAsync + @ stdcall cuMemcpy3DAsync_v2(ptr ptr) wine_cuMemcpy3DAsync_v2 ++@ stdcall cuMemcpy3DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy3DAsync_v2_ptsz + @ stdcall cuMemcpy3DPeer(ptr) wine_cuMemcpy3DPeer + @ stdcall cuMemcpy3DPeerAsync(ptr ptr) wine_cuMemcpy3DPeerAsync ++@ stdcall cuMemcpy3DPeerAsync_ptsz(ptr ptr) wine_cuMemcpy3DPeerAsync_ptsz ++@ stdcall cuMemcpy3DPeer_ptds(ptr) wine_cuMemcpy3DPeer_ptds + @ stdcall cuMemcpy3D_v2(ptr) wine_cuMemcpy3D_v2 +-@ stdcall cuMemcpy(long long long) wine_cuMemcpy ++@ stdcall cuMemcpy3D_v2_ptds(ptr) wine_cuMemcpy3D_v2_ptds + @ stdcall cuMemcpyAsync(long long long ptr) wine_cuMemcpyAsync ++@ stdcall cuMemcpyAsync_ptsz(long long long ptr) wine_cuMemcpyAsync_ptsz + @ stdcall cuMemcpyAtoA(ptr long ptr long long) wine_cuMemcpyAtoA + @ stdcall cuMemcpyAtoA_v2(ptr long ptr long long) wine_cuMemcpyAtoA_v2 ++@ stdcall cuMemcpyAtoA_v2_ptds(ptr long ptr long long) wine_cuMemcpyAtoA_v2_ptds + @ stdcall cuMemcpyAtoD(long ptr long long) wine_cuMemcpyAtoD + @ stdcall cuMemcpyAtoD_v2(long ptr long long) wine_cuMemcpyAtoD_v2 ++@ stdcall cuMemcpyAtoD_v2_ptds(long ptr long long) wine_cuMemcpyAtoD_v2_ptds + @ stdcall cuMemcpyAtoH(ptr ptr long long) wine_cuMemcpyAtoH + @ stdcall cuMemcpyAtoHAsync(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync + @ stdcall cuMemcpyAtoHAsync_v2(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync_v2 ++@ stdcall cuMemcpyAtoHAsync_v2_ptsz(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync_v2_ptsz + @ stdcall cuMemcpyAtoH_v2(ptr ptr long long) wine_cuMemcpyAtoH_v2 ++@ stdcall cuMemcpyAtoH_v2_ptds(ptr ptr long long) wine_cuMemcpyAtoH_v2_ptds + @ stdcall cuMemcpyDtoA(ptr long long long) wine_cuMemcpyDtoA + @ stdcall cuMemcpyDtoA_v2(ptr long long long) wine_cuMemcpyDtoA_v2 ++@ stdcall cuMemcpyDtoA_v2_ptds(ptr long long long) wine_cuMemcpyDtoA_v2_ptds + @ stdcall cuMemcpyDtoD(long long long) wine_cuMemcpyDtoD + @ stdcall cuMemcpyDtoDAsync(long long long ptr) wine_cuMemcpyDtoDAsync + @ stdcall cuMemcpyDtoDAsync_v2(long long long ptr) wine_cuMemcpyDtoDAsync_v2 ++@ stdcall cuMemcpyDtoDAsync_v2_ptsz(long long long ptr) wine_cuMemcpyDtoDAsync_v2_ptsz + @ stdcall cuMemcpyDtoD_v2(long long long) wine_cuMemcpyDtoD_v2 ++@ stdcall cuMemcpyDtoD_v2_ptds(long long long) wine_cuMemcpyDtoD_v2_ptds + @ stdcall cuMemcpyDtoH(ptr long long) wine_cuMemcpyDtoH + @ stdcall cuMemcpyDtoHAsync(ptr long long ptr) wine_cuMemcpyDtoHAsync + @ stdcall cuMemcpyDtoHAsync_v2(ptr long long ptr) wine_cuMemcpyDtoHAsync_v2 ++@ stdcall cuMemcpyDtoHAsync_v2_ptsz(ptr long long ptr) wine_cuMemcpyDtoHAsync_v2_ptsz + @ stdcall cuMemcpyDtoH_v2(ptr long long) wine_cuMemcpyDtoH_v2 ++@ stdcall cuMemcpyDtoH_v2_ptds(ptr long long) wine_cuMemcpyDtoH_v2_ptds + @ stdcall cuMemcpyHtoA(ptr long ptr long) wine_cuMemcpyHtoA + @ stdcall cuMemcpyHtoAAsync(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync + @ stdcall cuMemcpyHtoAAsync_v2(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync_v2 ++@ stdcall cuMemcpyHtoAAsync_v2_ptsz(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync_v2_ptsz + @ stdcall cuMemcpyHtoA_v2(ptr long ptr long) wine_cuMemcpyHtoA_v2 ++@ stdcall cuMemcpyHtoA_v2_ptds(ptr long ptr long) wine_cuMemcpyHtoA_v2_ptds + @ stdcall cuMemcpyHtoD(long ptr long) wine_cuMemcpyHtoD + @ stdcall cuMemcpyHtoDAsync(long ptr long ptr) wine_cuMemcpyHtoDAsync + @ stdcall cuMemcpyHtoDAsync_v2(long ptr long ptr) wine_cuMemcpyHtoDAsync_v2 ++@ stdcall cuMemcpyHtoDAsync_v2_ptsz(long ptr long ptr) wine_cuMemcpyHtoDAsync_v2_ptsz + @ stdcall cuMemcpyHtoD_v2(long ptr long) wine_cuMemcpyHtoD_v2 ++@ stdcall cuMemcpyHtoD_v2_ptds(long ptr long) wine_cuMemcpyHtoD_v2_ptds + @ stdcall cuMemcpyPeer(long ptr long ptr long) wine_cuMemcpyPeer + @ stdcall cuMemcpyPeerAsync(long ptr long ptr long ptr) wine_cuMemcpyPeerAsync ++@ stdcall cuMemcpyPeerAsync_ptsz(long ptr long ptr long ptr) wine_cuMemcpyPeerAsync_ptsz ++@ stdcall cuMemcpyPeer_ptds(long ptr long ptr long) wine_cuMemcpyPeer_ptds ++@ stdcall cuMemcpy_ptds(long long long) wine_cuMemcpy_ptds + @ stdcall cuMemsetD16(long long long) wine_cuMemsetD16 + @ stdcall cuMemsetD16Async(long long long ptr) wine_cuMemsetD16Async ++@ stdcall cuMemsetD16Async_ptsz(long long long ptr) wine_cuMemsetD16Async_ptsz + @ stdcall cuMemsetD16_v2(long long long) wine_cuMemsetD16_v2 ++@ stdcall cuMemsetD16_v2_ptds(long long long) wine_cuMemsetD16_v2_ptds + @ stdcall cuMemsetD2D16(long long long long long) wine_cuMemsetD2D16 + @ stdcall cuMemsetD2D16Async(long long long long long ptr) wine_cuMemsetD2D16Async ++@ stdcall cuMemsetD2D16Async_ptsz(long long long long long ptr) wine_cuMemsetD2D16Async_ptsz + @ stdcall cuMemsetD2D16_v2(long long long long long) wine_cuMemsetD2D16_v2 ++@ stdcall cuMemsetD2D16_v2_ptds(long long long long long) wine_cuMemsetD2D16_v2_ptds + @ stdcall cuMemsetD2D32(long long long long long) wine_cuMemsetD2D32 + @ stdcall cuMemsetD2D32Async(long long long long long ptr) wine_cuMemsetD2D32Async ++@ stdcall cuMemsetD2D32Async_ptsz(long long long long long ptr) wine_cuMemsetD2D32Async_ptsz + @ stdcall cuMemsetD2D32_v2(long long long long long) wine_cuMemsetD2D32_v2 ++@ stdcall cuMemsetD2D32_v2_ptds(long long long long long) wine_cuMemsetD2D32_v2_ptds + @ stdcall cuMemsetD2D8(long long long long long) wine_cuMemsetD2D8 + @ stdcall cuMemsetD2D8Async(long long long long long ptr) wine_cuMemsetD2D8Async ++@ stdcall cuMemsetD2D8Async_ptsz(long long long long long ptr) wine_cuMemsetD2D8Async_ptsz + @ stdcall cuMemsetD2D8_v2(long long long long long) wine_cuMemsetD2D8_v2 ++@ stdcall cuMemsetD2D8_v2_ptds(long long long long long) wine_cuMemsetD2D8_v2_ptds + @ stdcall cuMemsetD32(long long long) wine_cuMemsetD32 + @ stdcall cuMemsetD32Async(long long long ptr) wine_cuMemsetD32Async ++@ stdcall cuMemsetD32Async_ptsz(long long long ptr) wine_cuMemsetD32Async_ptsz + @ stdcall cuMemsetD32_v2(long long long) wine_cuMemsetD32_v2 ++@ stdcall cuMemsetD32_v2_ptds(long long long) wine_cuMemsetD32_v2_ptds + @ stdcall cuMemsetD8(long long long) wine_cuMemsetD8 + @ stdcall cuMemsetD8Async(long long long ptr) wine_cuMemsetD8Async ++@ stdcall cuMemsetD8Async_ptsz(long long long ptr) wine_cuMemsetD8Async_ptsz + @ stdcall cuMemsetD8_v2(long long long) wine_cuMemsetD8_v2 ++@ stdcall cuMemsetD8_v2_ptds(long long long) wine_cuMemsetD8_v2_ptds + @ stdcall cuMipmappedArrayCreate(ptr ptr long) wine_cuMipmappedArrayCreate + @ stdcall cuMipmappedArrayDestroy(ptr) wine_cuMipmappedArrayDestroy + @ stdcall cuMipmappedArrayGetLevel(ptr ptr long) wine_cuMipmappedArrayGetLevel +@@ -245,27 +352,63 @@ + @ stdcall cuModuleLoadDataEx(ptr ptr long ptr ptr) wine_cuModuleLoadDataEx + @ stdcall cuModuleLoadFatBinary(ptr ptr) wine_cuModuleLoadFatBinary + @ stdcall cuModuleUnload(ptr) wine_cuModuleUnload ++@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessor(ptr ptr long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessor ++@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(ptr ptr long long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags ++#@ stdcall cuOccupancyMaxPotentialBlockSize(ptr ptr ptr ptr long long) wine_cuOccupancyMaxPotentialBlockSize ++#@ stdcall cuOccupancyMaxPotentialBlockSizeWithFlags(ptr ptr ptr ptr long long long) wine_cuOccupancyMaxPotentialBlockSizeWithFlags + @ stdcall cuParamSetSize(ptr long) wine_cuParamSetSize + @ stdcall cuParamSetTexRef(ptr long ptr) wine_cuParamSetTexRef + @ stdcall cuParamSetf(ptr long float) wine_cuParamSetf + @ stdcall cuParamSeti(ptr long long) wine_cuParamSeti + @ stdcall cuParamSetv(ptr long ptr long) wine_cuParamSetv + @ stdcall cuPointerGetAttribute(ptr long long) wine_cuPointerGetAttribute ++@ stdcall cuPointerGetAttributes(long ptr ptr long) wine_cuPointerGetAttributes + @ stdcall cuPointerSetAttribute(ptr long long) wine_cuPointerSetAttribute + @ stub cuProfilerInitialize + @ stub cuProfilerStart + @ stub cuProfilerStop ++@ stub cuSignalExternalSemaphoresAsync ++@ stub cuSignalExternalSemaphoresAsync_ptsz + @ stdcall cuStreamAddCallback(ptr ptr ptr long) wine_cuStreamAddCallback ++@ stdcall cuStreamAddCallback_ptsz(ptr ptr ptr long) wine_cuStreamAddCallback_ptsz + @ stdcall cuStreamAttachMemAsync(ptr long long long) wine_cuStreamAttachMemAsync ++@ stdcall cuStreamAttachMemAsync_ptsz(ptr long long long) wine_cuStreamAttachMemAsync_ptsz ++@ stub cuStreamBatchMemOp ++@ stub cuStreamBatchMemOp_ptsz ++@ stub cuStreamBeginCapture ++@ stub cuStreamBeginCapture_ptsz ++@ stub cuStreamBeginCapture_v2 ++@ stub cuStreamBeginCapture_v2_ptsz + @ stdcall cuStreamCreate(ptr long) wine_cuStreamCreate + @ stdcall cuStreamCreateWithPriority(ptr long long) wine_cuStreamCreateWithPriority + @ stdcall cuStreamDestroy(ptr) wine_cuStreamDestroy + @ stdcall cuStreamDestroy_v2(ptr) wine_cuStreamDestroy ++@ stub cuStreamEndCapture ++@ stub cuStreamEndCapture_ptsz ++@ stub cuStreamGetCaptureInfo ++@ stub cuStreamGetCaptureInfo_ptsz ++@ stub cuStreamGetCtx ++@ stub cuStreamGetCtx_ptsz + @ stdcall cuStreamGetFlags(ptr ptr) wine_cuStreamGetFlags ++@ stdcall cuStreamGetFlags_ptsz(ptr ptr) wine_cuStreamGetFlags_ptsz + @ stdcall cuStreamGetPriority(ptr ptr) wine_cuStreamGetPriority ++@ stdcall cuStreamGetPriority_ptsz(ptr ptr) wine_cuStreamGetPriority_ptsz ++@ stub cuStreamIsCapturing ++@ stub cuStreamIsCapturing_ptsz + @ stdcall cuStreamQuery(ptr) wine_cuStreamQuery ++@ stdcall cuStreamQuery_ptsz(ptr) wine_cuStreamQuery_ptsz + @ stdcall cuStreamSynchronize(ptr) wine_cuStreamSynchronize ++@ stdcall cuStreamSynchronize_ptsz(ptr) wine_cuStreamSynchronize_ptsz + @ stdcall cuStreamWaitEvent(ptr ptr long) wine_cuStreamWaitEvent ++@ stdcall cuStreamWaitEvent_ptsz(ptr ptr long) wine_cuStreamWaitEvent_ptsz ++@ stub cuStreamWaitValue32 ++@ stub cuStreamWaitValue32_ptsz ++@ stub cuStreamWaitValue64 ++@ stub cuStreamWaitValue64_ptsz ++@ stub cuStreamWriteValue32 ++@ stub cuStreamWriteValue32_ptsz ++@ stub cuStreamWriteValue64 ++@ stub cuStreamWriteValue64_ptsz + @ stdcall cuSurfObjectCreate(ptr ptr) wine_cuSurfObjectCreate + @ stdcall cuSurfObjectDestroy(int64) wine_cuSurfObjectDestroy + @ stdcall cuSurfObjectGetResourceDesc(ptr int64) wine_cuSurfObjectGetResourceDesc +@@ -282,6 +425,7 @@ + @ stdcall cuTexRefGetAddressMode(ptr ptr long) wine_cuTexRefGetAddressMode + @ stdcall cuTexRefGetAddress_v2(ptr ptr) wine_cuTexRefGetAddress_v2 + @ stdcall cuTexRefGetArray(ptr ptr) wine_cuTexRefGetArray ++@ stub cuTexRefGetBorderColor + @ stdcall cuTexRefGetFilterMode(ptr ptr) wine_cuTexRefGetFilterMode + @ stdcall cuTexRefGetFlags(ptr ptr) wine_cuTexRefGetFlags + @ stdcall cuTexRefGetFormat(ptr ptr ptr) wine_cuTexRefGetFormat +@@ -290,13 +434,14 @@ + @ stdcall cuTexRefGetMipmapLevelBias(ptr ptr) wine_cuTexRefGetMipmapLevelBias + @ stdcall cuTexRefGetMipmapLevelClamp(ptr ptr ptr) wine_cuTexRefGetMipmapLevelClamp + @ stdcall cuTexRefGetMipmappedArray(ptr ptr) wine_cuTexRefGetMipmappedArray ++@ stdcall cuTexRefSetAddress(ptr ptr long long) wine_cuTexRefSetAddress + @ stdcall cuTexRefSetAddress2D(ptr ptr long long) wine_cuTexRefSetAddress2D + @ stdcall cuTexRefSetAddress2D_v2(ptr ptr long long) wine_cuTexRefSetAddress2D_v2 + @ stdcall cuTexRefSetAddress2D_v3(ptr ptr long long) wine_cuTexRefSetAddress2D_v3 +-@ stdcall cuTexRefSetAddress(ptr ptr long long) wine_cuTexRefSetAddress + @ stdcall cuTexRefSetAddressMode(ptr long long) wine_cuTexRefSetAddressMode + @ stdcall cuTexRefSetAddress_v2(ptr ptr long long) wine_cuTexRefSetAddress_v2 + @ stdcall cuTexRefSetArray(ptr ptr long) wine_cuTexRefSetArray ++@ stub cuTexRefSetBorderColor + @ stdcall cuTexRefSetFilterMode(ptr long) wine_cuTexRefSetFilterMode + @ stdcall cuTexRefSetFlags(ptr long) wine_cuTexRefSetFlags + @ stdcall cuTexRefSetFormat(ptr long long) wine_cuTexRefSetFormat +@@ -305,76 +450,7 @@ + @ stdcall cuTexRefSetMipmapLevelBias(ptr float) wine_cuTexRefSetMipmapLevelBias + @ stdcall cuTexRefSetMipmapLevelClamp(ptr float float) wine_cuTexRefSetMipmapLevelClamp + @ stdcall cuTexRefSetMipmappedArray(ptr ptr long) wine_cuTexRefSetMipmappedArray ++@ stub cuThreadExchangeStreamCaptureMode + @ stub cuWGLGetDevice +- +-# CUDA 6.5 +-@ stdcall cuGLGetDevices_v2(ptr ptr long long) wine_cuGLGetDevices_v2 +-@ stdcall cuGraphicsResourceSetMapFlags_v2(ptr long) wine_cuGraphicsResourceSetMapFlags_v2 +-@ stdcall cuLinkAddData_v2(ptr long ptr long str long ptr ptr) wine_cuLinkAddData_v2 +-@ stub cuLinkAddFile_v2 +-@ stdcall cuLinkCreate_v2(long ptr ptr ptr) wine_cuLinkCreate_v2 +-@ stdcall cuMemHostRegister_v2(ptr long long) wine_cuMemHostRegister_v2 +-@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessor(ptr ptr long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessor +-@ stub cuOccupancyMaxPotentialBlockSize +-#@ stdcall cuOccupancyMaxPotentialBlockSize(ptr ptr ptr ptr long long) wine_cuOccupancyMaxPotentialBlockSize +- +-# CUDA 7.0 +-@ stdcall cuCtxGetFlags(ptr) wine_cuCtxGetFlags +-@ stdcall cuDevicePrimaryCtxGetState(long ptr ptr) wine_cuDevicePrimaryCtxGetState +-@ stdcall cuDevicePrimaryCtxRelease(long) wine_cuDevicePrimaryCtxRelease +-@ stdcall cuDevicePrimaryCtxReset(long) wine_cuDevicePrimaryCtxReset +-@ stdcall cuDevicePrimaryCtxRetain(ptr long) wine_cuDevicePrimaryCtxRetain +-@ stdcall cuDevicePrimaryCtxSetFlags(long long) wine_cuDevicePrimaryCtxSetFlags +-@ stdcall cuEventRecord_ptsz(ptr ptr) wine_cuEventRecord_ptsz +-@ stdcall cuGLMapBufferObjectAsync_v2_ptsz(ptr ptr long ptr) wine_cuGLMapBufferObjectAsync_v2_ptsz +-@ stdcall cuGLMapBufferObject_v2_ptds(ptr ptr long) wine_cuGLMapBufferObject_v2_ptds +-@ stdcall cuGraphicsMapResources_ptsz(long ptr ptr) wine_cuGraphicsMapResources_ptsz +-@ stdcall cuGraphicsUnmapResources_ptsz(long ptr ptr) wine_cuGraphicsUnmapResources_ptsz +-@ stdcall cuLaunchKernel_ptsz(ptr long long long long long long long ptr ptr ptr) wine_cuLaunchKernel_ptsz +-@ stdcall cuMemcpy2DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy2DAsync_v2_ptsz +-@ stdcall cuMemcpy2DUnaligned_v2_ptds(ptr) wine_cuMemcpy2DUnaligned_v2_ptds +-@ stdcall cuMemcpy2D_v2_ptds(ptr) wine_cuMemcpy2D_v2_ptds +-@ stdcall cuMemcpy3DAsync_v2_ptsz(ptr ptr) wine_cuMemcpy3DAsync_v2_ptsz +-@ stdcall cuMemcpy3DPeerAsync_ptsz(ptr ptr) wine_cuMemcpy3DPeerAsync_ptsz +-@ stdcall cuMemcpy3DPeer_ptds(ptr) wine_cuMemcpy3DPeer_ptds +-@ stdcall cuMemcpy3D_v2_ptds(ptr) wine_cuMemcpy3D_v2_ptds +-@ stdcall cuMemcpyAsync_ptsz(long long long ptr) wine_cuMemcpyAsync_ptsz +-@ stdcall cuMemcpyAtoA_v2_ptds(ptr long ptr long long) wine_cuMemcpyAtoA_v2_ptds +-@ stdcall cuMemcpyAtoD_v2_ptds(long ptr long long) wine_cuMemcpyAtoD_v2_ptds +-@ stdcall cuMemcpyAtoHAsync_v2_ptsz(ptr ptr long long ptr) wine_cuMemcpyAtoHAsync_v2_ptsz +-@ stdcall cuMemcpyAtoH_v2_ptds(ptr ptr long long) wine_cuMemcpyAtoH_v2_ptds +-@ stdcall cuMemcpyDtoA_v2_ptds(ptr long long long) wine_cuMemcpyDtoA_v2_ptds +-@ stdcall cuMemcpyDtoDAsync_v2_ptsz(long long long ptr) wine_cuMemcpyDtoDAsync_v2_ptsz +-@ stdcall cuMemcpyDtoD_v2_ptds(long long long) wine_cuMemcpyDtoD_v2_ptds +-@ stdcall cuMemcpyDtoHAsync_v2_ptsz(ptr long long ptr) wine_cuMemcpyDtoHAsync_v2_ptsz +-@ stdcall cuMemcpyDtoH_v2_ptds(ptr long long) wine_cuMemcpyDtoH_v2_ptds +-@ stdcall cuMemcpyHtoAAsync_v2_ptsz(ptr long ptr long ptr) wine_cuMemcpyHtoAAsync_v2_ptsz +-@ stdcall cuMemcpyHtoA_v2_ptds(ptr long ptr long) wine_cuMemcpyHtoA_v2_ptds +-@ stdcall cuMemcpyHtoDAsync_v2_ptsz(long ptr long ptr) wine_cuMemcpyHtoDAsync_v2_ptsz +-@ stdcall cuMemcpyHtoD_v2_ptds(long ptr long) wine_cuMemcpyHtoD_v2_ptds +-@ stdcall cuMemcpyPeerAsync_ptsz(long ptr long ptr long ptr) wine_cuMemcpyPeerAsync_ptsz +-@ stdcall cuMemcpyPeer_ptds(long ptr long ptr long) wine_cuMemcpyPeer_ptds +-@ stdcall cuMemcpy_ptds(long long long) wine_cuMemcpy_ptds +-@ stdcall cuMemsetD16Async_ptsz(long long long ptr) wine_cuMemsetD16Async_ptsz +-@ stdcall cuMemsetD16_v2_ptds(long long long) wine_cuMemsetD16_v2_ptds +-@ stdcall cuMemsetD2D16Async_ptsz(long long long long long ptr) wine_cuMemsetD2D16Async_ptsz +-@ stdcall cuMemsetD2D16_v2_ptds(long long long long long) wine_cuMemsetD2D16_v2_ptds +-@ stdcall cuMemsetD2D32Async_ptsz(long long long long long ptr) wine_cuMemsetD2D32Async_ptsz +-@ stdcall cuMemsetD2D32_v2_ptds(long long long long long) wine_cuMemsetD2D32_v2_ptds +-@ stdcall cuMemsetD2D8Async_ptsz(long long long long long ptr) wine_cuMemsetD2D8Async_ptsz +-@ stdcall cuMemsetD2D8_v2_ptds(long long long long long) wine_cuMemsetD2D8_v2_ptds +-@ stdcall cuMemsetD32Async_ptsz(long long long ptr) wine_cuMemsetD32Async_ptsz +-@ stdcall cuMemsetD32_v2_ptds(long long long) wine_cuMemsetD32_v2_ptds +-@ stdcall cuMemsetD8Async_ptsz(long long long ptr) wine_cuMemsetD8Async_ptsz +-@ stdcall cuMemsetD8_v2_ptds(long long long) wine_cuMemsetD8_v2_ptds +-@ stdcall cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags(ptr ptr long long long) wine_cuOccupancyMaxActiveBlocksPerMultiprocessorWithFlags +-@ stub cuOccupancyMaxPotentialBlockSizeWithFlags +-#@ stdcall cuOccupancyMaxPotentialBlockSizeWithFlags(ptr ptr ptr ptr long long long) wine_cuOccupancyMaxPotentialBlockSizeWithFlags +-@ stdcall cuPointerGetAttributes(long ptr ptr long) wine_cuPointerGetAttributes +-@ stdcall cuStreamAddCallback_ptsz(ptr ptr ptr long) wine_cuStreamAddCallback_ptsz +-@ stdcall cuStreamAttachMemAsync_ptsz(ptr long long long) wine_cuStreamAttachMemAsync_ptsz +-@ stdcall cuStreamGetFlags_ptsz(ptr ptr) wine_cuStreamGetFlags_ptsz +-@ stdcall cuStreamGetPriority_ptsz(ptr ptr) wine_cuStreamGetPriority_ptsz +-@ stdcall cuStreamQuery_ptsz(ptr) wine_cuStreamQuery_ptsz +-@ stdcall cuStreamSynchronize_ptsz(ptr) wine_cuStreamSynchronize_ptsz +-@ stdcall cuStreamWaitEvent_ptsz(ptr ptr long) wine_cuStreamWaitEvent_ptsz ++@ stub cuWaitExternalSemaphoresAsync ++@ stub cuWaitExternalSemaphoresAsync_ptsz +-- +2.34.1 + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index f33946e7..da72318a 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "529e4154a34a5a774fe7036552ffbb060740da90" + echo "9ef5c9c0090f17df5bfd794485019fb8bf9a7e25" } # Show version information @@ -2590,6 +2590,7 @@ if test "$enable_nvcuda_CUDA_Support" -eq 1; then patch_apply nvcuda-CUDA_Support/0010-nvcuda-Search-for-dylib-library-on-Mac-OS-X.patch patch_apply nvcuda-CUDA_Support/0011-nvcuda-Add-semi-stub-for-cuD3D10GetDevice.patch patch_apply nvcuda-CUDA_Support/0012-nvcuda-Add-semi-stub-for-cuD3D11GetDevice-and-cuGrap.patch + patch_apply nvcuda-CUDA_Support/0013-nvcuda-Update-spec-file.patch fi # Patchset nvapi-Stub_DLL