File tree Expand file tree Collapse file tree 1 file changed +17
-0
lines changed
IGC/OCLFE/igd_fcl_mcl/source Expand file tree Collapse file tree 1 file changed +17
-0
lines changed Original file line number Diff line number Diff line change @@ -1519,6 +1519,23 @@ namespace TC
1519
1519
optionsEx += " " + GetCDefinesFromInternalOptions (pInternalOptions);
1520
1520
optionsEx += " " + GetCDefinesForEnableList (extensions, oclStd, " -cl-ext=-all," );
1521
1521
1522
+ if (oclStd >= 300 ) {
1523
+ auto featureMacrosFromInternalOptions = GetSubstring (pInternalOptions, " -cl-feature=" );
1524
+
1525
+ // Workaround for Clang issue.
1526
+ // For write_imagef with image3d_t OpenCL 3.0 spec says:
1527
+ // "Requires support for OpenCL C 2.0, the __opencl_c_3d_image_writes feature macro, or the cl_khr_3d_image_writes extension".
1528
+ // In case only cl_khr_3d_image_writes is enabled, Clang triggers error for write_imagef declaration.
1529
+ // TODO: remove when Clang is fixed.
1530
+ if (extensions.find (" +cl_khr_3d_image_writes" ) != std::string::npos &&
1531
+ featureMacrosFromInternalOptions.find (" +__opencl_c_3d_image_writes" ) == std::string::npos) {
1532
+ featureMacrosFromInternalOptions += " ,+__opencl_c_3d_image_writes" ;
1533
+ }
1534
+
1535
+ optionsEx += " " + GetCDefinesForEnableList (featureMacrosFromInternalOptions, oclStd, " -cl-feature=" );
1536
+ optionsEx += " " + featureMacrosFromInternalOptions;
1537
+ }
1538
+
1522
1539
optionsEx += " -D__IMAGE_SUPPORT__ -D__ENDIAN_LITTLE__" ;
1523
1540
1524
1541
IOCLFEBinaryResult *pResultPtr = NULL ;
You can’t perform that action at this time.
0 commit comments