[Mesa-dev] [PATCH 5/5] clover: Dynamically calculate __OPENCL_VERSION__ and CLC language version

Mark Janes mark.a.janes at intel.com
Wed Mar 21 19:37:21 UTC 2018


Aaron, this patch breaks the meson build-test in our CI:

 ../src/gallium/state_trackers/clover/llvm/invocation.cpp:88:36: error: ‘lang_opencl10’ is not a member of ‘clang::LangStandard’
         { 100, clang::LangStandard::lang_opencl10},

configured with:

meson -Dbuild-tests=true -Dgallium-drivers=r300,r600,radeonsi,nouveau,swrast,swr,freedreno,vc4,pl111,etnaviv,imx,svga,virgl -Dgallium-vdpau=true -Dgallium-xvmc=true -Dgallium-xa=true -Dgallium-va=true -Dgallium-nine=true -Dgallium-opencl=standalone -Dgallium-omx=bellagio

Pierre Moreau <pierre.morrow at free.fr> writes:

> Oops, sorry.
>
> Reviewed-by: Pierre Moreau <pierre.morrow at free.fr>
>
> Thanks again for the series!
> Pierre
>
> On 2018-03-20 — 20:23, Aaron Watry wrote:
>> ping.
>> 
>> This is the last of the series that still needs review.
>> 
>> --Aaron
>> 
>> On Thu, Mar 1, 2018 at 1:39 PM, Aaron Watry <awatry at gmail.com> wrote:
>> > Use get_language_version to calculate default cl standard based on
>> > device capabilities and -cl-std specified in build options.
>> >
>> > v4: Squash the __OPENCL_VERSION__ and CLC language version patches
>> > v3: (Jan) Allow device_version up to 2.2 while device_clc_version
>> >     only goes to 2.0
>> >     Use get_cl_version to calculate version instead
>> > v2: Split out from the previous patch (Pierre)
>> >
>> > Signed-off-by: Aaron Watry <awatry at gmail.com>
>> > CC: Pierre Moreau <pierre.morrow at free.fr>
>> > CC: Jan Vesely <jan.vesely at rutgers.edu>
>> > ---
>> >  src/gallium/state_trackers/clover/llvm/invocation.cpp | 6 ++++--
>> >  1 file changed, 4 insertions(+), 2 deletions(-)
>> >
>> > diff --git a/src/gallium/state_trackers/clover/llvm/invocation.cpp b/src/gallium/state_trackers/clover/llvm/invocation.cpp
>> > index 8d76f203de..f146695585 100644
>> > --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
>> > +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
>> > @@ -194,7 +194,7 @@ namespace {
>> >        compat::set_lang_defaults(c->getInvocation(), c->getLangOpts(),
>> >                                  compat::ik_opencl, ::llvm::Triple(target.triple),
>> >                                  c->getPreprocessorOpts(),
>> > -                                clang::LangStandard::lang_opencl11);
>> > +                                get_language_version(opts, device_clc_version));
>> >
>> >        c->createDiagnostics(new clang::TextDiagnosticPrinter(
>> >                                *new raw_string_ostream(r_log),
>> > @@ -225,7 +225,9 @@ namespace {
>> >        c.getPreprocessorOpts().Includes.push_back("clc/clc.h");
>> >
>> >        // Add definition for the OpenCL version
>> > -      c.getPreprocessorOpts().addMacroDef("__OPENCL_VERSION__=110");
>> > +      c.getPreprocessorOpts().addMacroDef("__OPENCL_VERSION__=" +
>> > +              std::to_string(get_cl_version(
>> > +                                  dev.device_version()).version_number));
>> >
>> >        // clc.h requires that this macro be defined:
>> >        c.getPreprocessorOpts().addMacroDef("cl_clang_storage_class_specifiers");
>> > --
>> > 2.14.1
>> >
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list