proton-opencl.patch 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478
  1. --- b/configure.ac
  2. +++ a/configure.ac
  3. @@ -1418,6 +1418,15 @@
  4. [enable_winex11_drv])
  5. fi
  6. +dnl **** Check for OpenCL ****
  7. +if test "$ac_cv_header_CL_cl_h" = "yes"
  8. +then
  9. + AC_CHECK_LIB(OpenCL,clGetPlatformInfo,[AC_SUBST(OPENCL_LIBS,["-lOpenCL"])])
  10. +fi
  11. +WINE_NOTICE_WITH(opencl,[test "x$ac_cv_lib_OpenCL_clGetPlatformInfo" != xyes],
  12. + [OpenCL ${notice_platform}development files not found, OpenCL won't be supported.],
  13. + [enable_opencl])
  14. +
  15. dnl **** Check for libpcap ****
  16. if test "$ac_cv_header_pcap_pcap_h" = "yes"
  17. then
  18. --- b/dlls/opencl/unix_private.h
  19. +++ a/dlls/opencl/unix_private.h
  20. @@ -38,12 +38,8 @@
  21. #define CL_USE_DEPRECATED_OPENCL_2_0_APIS
  22. #define CL_TARGET_OPENCL_VERSION 220
  23. #include <CL/cl.h>
  24. -#define HAVE_OPENCL
  25. #elif defined(HAVE_OPENCL_OPENCL_H)
  26. #include <OpenCL/opencl.h>
  27. -#define HAVE_OPENCL
  28. -#else
  29. -#include "opencl_types.h"
  30. #endif
  31. #include "unixlib.h"
  32. --- b/dlls/opencl/unix_thunks.c
  33. +++ a/dlls/opencl/unix_thunks.c
  34. @@ -7,7 +7,6 @@
  35. #include "config.h"
  36. #include "unix_private.h"
  37. -#ifdef HAVE_OPENCL
  38. static NTSTATUS wrap_clCreateBuffer( void *args )
  39. {
  40. struct clCreateBuffer_params *params = args;
  41. @@ -565,401 +564,6 @@
  42. return clWaitForEvents( params->num_events, params->event_list );
  43. }
  44. -#else
  45. -static NTSTATUS wrap_clCreateBuffer( void *args )
  46. -{
  47. - return CL_INVALID_OPERATION;
  48. -}
  49. -
  50. -static NTSTATUS wrap_clCreateCommandQueue( void *args )
  51. -{
  52. - return CL_INVALID_OPERATION;
  53. -}
  54. -
  55. -static NTSTATUS wrap_clCreateImage( void *args )
  56. -{
  57. - return CL_INVALID_OPERATION;
  58. -}
  59. -
  60. -static NTSTATUS wrap_clCreateImage2D( void *args )
  61. -{
  62. - return CL_INVALID_OPERATION;
  63. -}
  64. -
  65. -static NTSTATUS wrap_clCreateImage3D( void *args )
  66. -{
  67. - return CL_INVALID_OPERATION;
  68. -}
  69. -
  70. -static NTSTATUS wrap_clCreateKernel( void *args )
  71. -{
  72. - return CL_INVALID_OPERATION;
  73. -}
  74. -
  75. -static NTSTATUS wrap_clCreateKernelsInProgram( void *args )
  76. -{
  77. - return CL_INVALID_OPERATION;
  78. -}
  79. -
  80. -static NTSTATUS wrap_clCreateProgramWithBinary( void *args )
  81. -{
  82. - return CL_INVALID_OPERATION;
  83. -}
  84. -
  85. -static NTSTATUS wrap_clCreateProgramWithBuiltInKernels( void *args )
  86. -{
  87. - return CL_INVALID_OPERATION;
  88. -}
  89. -
  90. -static NTSTATUS wrap_clCreateProgramWithSource( void *args )
  91. -{
  92. - return CL_INVALID_OPERATION;
  93. -}
  94. -
  95. -static NTSTATUS wrap_clCreateSampler( void *args )
  96. -{
  97. - return CL_INVALID_OPERATION;
  98. -}
  99. -
  100. -static NTSTATUS wrap_clCreateSubBuffer( void *args )
  101. -{
  102. - return CL_INVALID_OPERATION;
  103. -}
  104. -
  105. -static NTSTATUS wrap_clCreateSubDevices( void *args )
  106. -{
  107. - return CL_INVALID_OPERATION;
  108. -}
  109. -
  110. -static NTSTATUS wrap_clCreateUserEvent( void *args )
  111. -{
  112. - return CL_INVALID_OPERATION;
  113. -}
  114. -
  115. -static NTSTATUS wrap_clEnqueueBarrier( void *args )
  116. -{
  117. - return CL_INVALID_OPERATION;
  118. -}
  119. -
  120. -static NTSTATUS wrap_clEnqueueBarrierWithWaitList( void *args )
  121. -{
  122. - return CL_INVALID_OPERATION;
  123. -}
  124. -
  125. -static NTSTATUS wrap_clEnqueueCopyBuffer( void *args )
  126. -{
  127. - return CL_INVALID_OPERATION;
  128. -}
  129. -
  130. -static NTSTATUS wrap_clEnqueueCopyBufferRect( void *args )
  131. -{
  132. - return CL_INVALID_OPERATION;
  133. -}
  134. -
  135. -static NTSTATUS wrap_clEnqueueCopyBufferToImage( void *args )
  136. -{
  137. - return CL_INVALID_OPERATION;
  138. -}
  139. -
  140. -static NTSTATUS wrap_clEnqueueCopyImage( void *args )
  141. -{
  142. - return CL_INVALID_OPERATION;
  143. -}
  144. -
  145. -static NTSTATUS wrap_clEnqueueCopyImageToBuffer( void *args )
  146. -{
  147. - return CL_INVALID_OPERATION;
  148. -}
  149. -
  150. -static NTSTATUS wrap_clEnqueueFillBuffer( void *args )
  151. -{
  152. - return CL_INVALID_OPERATION;
  153. -}
  154. -
  155. -static NTSTATUS wrap_clEnqueueFillImage( void *args )
  156. -{
  157. - return CL_INVALID_OPERATION;
  158. -}
  159. -
  160. -static NTSTATUS wrap_clEnqueueMapBuffer( void *args )
  161. -{
  162. - return CL_INVALID_OPERATION;
  163. -}
  164. -
  165. -static NTSTATUS wrap_clEnqueueMapImage( void *args )
  166. -{
  167. - return CL_INVALID_OPERATION;
  168. -}
  169. -
  170. -static NTSTATUS wrap_clEnqueueMarker( void *args )
  171. -{
  172. - return CL_INVALID_OPERATION;
  173. -}
  174. -
  175. -static NTSTATUS wrap_clEnqueueMarkerWithWaitList( void *args )
  176. -{
  177. - return CL_INVALID_OPERATION;
  178. -}
  179. -
  180. -static NTSTATUS wrap_clEnqueueMigrateMemObjects( void *args )
  181. -{
  182. - return CL_INVALID_OPERATION;
  183. -}
  184. -
  185. -static NTSTATUS wrap_clEnqueueNDRangeKernel( void *args )
  186. -{
  187. - return CL_INVALID_OPERATION;
  188. -}
  189. -
  190. -static NTSTATUS wrap_clEnqueueReadBuffer( void *args )
  191. -{
  192. - return CL_INVALID_OPERATION;
  193. -}
  194. -
  195. -static NTSTATUS wrap_clEnqueueReadBufferRect( void *args )
  196. -{
  197. - return CL_INVALID_OPERATION;
  198. -}
  199. -
  200. -static NTSTATUS wrap_clEnqueueReadImage( void *args )
  201. -{
  202. - return CL_INVALID_OPERATION;
  203. -}
  204. -
  205. -static NTSTATUS wrap_clEnqueueTask( void *args )
  206. -{
  207. - return CL_INVALID_OPERATION;
  208. -}
  209. -
  210. -static NTSTATUS wrap_clEnqueueUnmapMemObject( void *args )
  211. -{
  212. - return CL_INVALID_OPERATION;
  213. -}
  214. -
  215. -static NTSTATUS wrap_clEnqueueWaitForEvents( void *args )
  216. -{
  217. - return CL_INVALID_OPERATION;
  218. -}
  219. -
  220. -static NTSTATUS wrap_clEnqueueWriteBuffer( void *args )
  221. -{
  222. - return CL_INVALID_OPERATION;
  223. -}
  224. -
  225. -static NTSTATUS wrap_clEnqueueWriteBufferRect( void *args )
  226. -{
  227. - return CL_INVALID_OPERATION;
  228. -}
  229. -
  230. -static NTSTATUS wrap_clEnqueueWriteImage( void *args )
  231. -{
  232. - return CL_INVALID_OPERATION;
  233. -}
  234. -
  235. -static NTSTATUS wrap_clFinish( void *args )
  236. -{
  237. - return CL_INVALID_OPERATION;
  238. -}
  239. -
  240. -static NTSTATUS wrap_clFlush( void *args )
  241. -{
  242. - return CL_INVALID_OPERATION;
  243. -}
  244. -
  245. -static NTSTATUS wrap_clGetCommandQueueInfo( void *args )
  246. -{
  247. - return CL_INVALID_OPERATION;
  248. -}
  249. -
  250. -static NTSTATUS wrap_clGetContextInfo( void *args )
  251. -{
  252. - return CL_INVALID_OPERATION;
  253. -}
  254. -
  255. -static NTSTATUS wrap_clGetDeviceIDs( void *args )
  256. -{
  257. - return CL_INVALID_OPERATION;
  258. -}
  259. -
  260. -static NTSTATUS wrap_clGetDeviceInfo( void *args )
  261. -{
  262. - return CL_INVALID_OPERATION;
  263. -}
  264. -
  265. -static NTSTATUS wrap_clGetEventInfo( void *args )
  266. -{
  267. - return CL_INVALID_OPERATION;
  268. -}
  269. -
  270. -static NTSTATUS wrap_clGetEventProfilingInfo( void *args )
  271. -{
  272. - return CL_INVALID_OPERATION;
  273. -}
  274. -
  275. -static NTSTATUS wrap_clGetImageInfo( void *args )
  276. -{
  277. - return CL_INVALID_OPERATION;
  278. -}
  279. -
  280. -static NTSTATUS wrap_clGetKernelArgInfo( void *args )
  281. -{
  282. - return CL_INVALID_OPERATION;
  283. -}
  284. -
  285. -static NTSTATUS wrap_clGetKernelInfo( void *args )
  286. -{
  287. - return CL_INVALID_OPERATION;
  288. -}
  289. -
  290. -static NTSTATUS wrap_clGetKernelWorkGroupInfo( void *args )
  291. -{
  292. - return CL_INVALID_OPERATION;
  293. -}
  294. -
  295. -static NTSTATUS wrap_clGetMemObjectInfo( void *args )
  296. -{
  297. - return CL_INVALID_OPERATION;
  298. -}
  299. -
  300. -static NTSTATUS wrap_clGetPlatformIDs( void *args )
  301. -{
  302. - struct clGetPlatformIDs_params *params = args;
  303. -
  304. - if (params->num_platforms) *params->num_platforms = 0;
  305. - return CL_SUCCESS;
  306. -}
  307. -
  308. -static NTSTATUS wrap_clGetPlatformInfo( void *args )
  309. -{
  310. - return CL_INVALID_OPERATION;
  311. -}
  312. -
  313. -static NTSTATUS wrap_clGetProgramBuildInfo( void *args )
  314. -{
  315. - return CL_INVALID_OPERATION;
  316. -}
  317. -
  318. -static NTSTATUS wrap_clGetProgramInfo( void *args )
  319. -{
  320. - return CL_INVALID_OPERATION;
  321. -}
  322. -
  323. -static NTSTATUS wrap_clGetSamplerInfo( void *args )
  324. -{
  325. - return CL_INVALID_OPERATION;
  326. -}
  327. -
  328. -static NTSTATUS wrap_clGetSupportedImageFormats( void *args )
  329. -{
  330. - return CL_INVALID_OPERATION;
  331. -}
  332. -
  333. -static NTSTATUS wrap_clReleaseCommandQueue( void *args )
  334. -{
  335. - return CL_INVALID_OPERATION;
  336. -}
  337. -
  338. -static NTSTATUS wrap_clReleaseContext( void *args )
  339. -{
  340. - return CL_INVALID_OPERATION;
  341. -}
  342. -
  343. -static NTSTATUS wrap_clReleaseDevice( void *args )
  344. -{
  345. - return CL_INVALID_OPERATION;
  346. -}
  347. -
  348. -static NTSTATUS wrap_clReleaseEvent( void *args )
  349. -{
  350. - return CL_INVALID_OPERATION;
  351. -}
  352. -
  353. -static NTSTATUS wrap_clReleaseKernel( void *args )
  354. -{
  355. - return CL_INVALID_OPERATION;
  356. -}
  357. -
  358. -static NTSTATUS wrap_clReleaseMemObject( void *args )
  359. -{
  360. - return CL_INVALID_OPERATION;
  361. -}
  362. -
  363. -static NTSTATUS wrap_clReleaseProgram( void *args )
  364. -{
  365. - return CL_INVALID_OPERATION;
  366. -}
  367. -
  368. -static NTSTATUS wrap_clReleaseSampler( void *args )
  369. -{
  370. - return CL_INVALID_OPERATION;
  371. -}
  372. -
  373. -static NTSTATUS wrap_clRetainCommandQueue( void *args )
  374. -{
  375. - return CL_INVALID_OPERATION;
  376. -}
  377. -
  378. -static NTSTATUS wrap_clRetainContext( void *args )
  379. -{
  380. - return CL_INVALID_OPERATION;
  381. -}
  382. -
  383. -static NTSTATUS wrap_clRetainDevice( void *args )
  384. -{
  385. - return CL_INVALID_OPERATION;
  386. -}
  387. -
  388. -static NTSTATUS wrap_clRetainEvent( void *args )
  389. -{
  390. - return CL_INVALID_OPERATION;
  391. -}
  392. -
  393. -static NTSTATUS wrap_clRetainKernel( void *args )
  394. -{
  395. - return CL_INVALID_OPERATION;
  396. -}
  397. -
  398. -static NTSTATUS wrap_clRetainMemObject( void *args )
  399. -{
  400. - return CL_INVALID_OPERATION;
  401. -}
  402. -
  403. -static NTSTATUS wrap_clRetainProgram( void *args )
  404. -{
  405. - return CL_INVALID_OPERATION;
  406. -}
  407. -
  408. -static NTSTATUS wrap_clRetainSampler( void *args )
  409. -{
  410. - return CL_INVALID_OPERATION;
  411. -}
  412. -
  413. -static NTSTATUS wrap_clSetKernelArg( void *args )
  414. -{
  415. - return CL_INVALID_OPERATION;
  416. -}
  417. -
  418. -static NTSTATUS wrap_clSetUserEventStatus( void *args )
  419. -{
  420. - return CL_INVALID_OPERATION;
  421. -}
  422. -
  423. -static NTSTATUS wrap_clUnloadCompiler( void *args )
  424. -{
  425. - return CL_INVALID_OPERATION;
  426. -}
  427. -
  428. -static NTSTATUS wrap_clUnloadPlatformCompiler( void *args )
  429. -{
  430. - return CL_INVALID_OPERATION;
  431. -}
  432. -
  433. -static NTSTATUS wrap_clWaitForEvents( void *args )
  434. -{
  435. - return CL_INVALID_OPERATION;
  436. -}
  437. -
  438. -#endif
  439. const unixlib_entry_t __wine_unix_call_funcs[] =
  440. {
  441. --- b/dlls/opencl/unix_wrappers.c
  442. +++ a/dlls/opencl/unix_wrappers.c
  443. @@ -26,7 +26,6 @@
  444. WINE_DEFAULT_DEBUG_CHANNEL(opencl);
  445. -#ifdef HAVE_OPENCL
  446. NTSTATUS wrap_clBuildProgram( void *args )
  447. {
  448. struct clBuildProgram_params *params = args;
  449. @@ -55,22 +54,6 @@
  450. NULL, NULL, params->errcode_ret );
  451. return STATUS_SUCCESS;
  452. }
  453. -#else
  454. -NTSTATUS wrap_clBuildProgram( void *args )
  455. -{
  456. - return CL_INVALID_OPERATION;
  457. -}
  458. -
  459. -NTSTATUS wrap_clCreateContext( void *args )
  460. -{
  461. - return CL_INVALID_OPERATION;
  462. -}
  463. -
  464. -NTSTATUS wrap_clCreateContextFromType( void *args )
  465. -{
  466. - return CL_INVALID_OPERATION;
  467. -}
  468. -#endif
  469. NTSTATUS wrap_clEnqueueNativeKernel( void *args )
  470. {