[Mesa-dev] [PATCH] st/clover: Define __OPENCL_VERSION__ on the device side

Jan Vesely jv356 at scarletmail.rutgers.edu
Wed Aug 31 16:14:39 UTC 2016


On Wed, 2016-08-31 at 15:53 +0200, Serge Martin wrote:
> On Wednesday 31 August 2016 12:39:23 Vedran Miletić wrote:
> > 
> > On 08/28/2016 04:42 PM, Niels Ole Salscheider wrote:
> > > 
> > > This is required by the OpenCL standard.
> > > 
> > > Signed-off-by: Niels Ole Salscheider <niels_ole at salscheider-onlin
> > > e.de>
> > Reviewed-by: Vedran Miletić <vedran at miletic.net>
> > 
> > Good catch. Do we miss more defines from [1]?
> I think __IMAGE_SUPPORT__ and __EMBEDDED_PROFILE__ should be managed
> by Clover
> too but none off them would be ever define wit our current feature
> level,
> so this is ok.

__IMAGE_SUPPORT__ should be based on dev.image_support() return value.
Zoltan worked on image support, althought the piglit tests still fail
for me (r600). Though clang might be a better place for this one.

I'm not sure about __EMBEDDED_PROFILE__. again, clang might be a better
place to handle it (since it will change how libclc is compiled), I
haven't checked all the features it enables/disables.

> 
> I think __ENDIAN_LITTLE__ is missing.

That should be handled be clang, and there's a patch for it:
https://reviews.llvm.org/D23953

> 
> Anyway, adding some piglit tests would be nice :)

Those should be pretty straghtforward :)


Jan

> 
> Serge
> 
> > 
> > 
> > Regards,
> > Vedran
> > 
> > [1]
> > https://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/preproce
> > ssorDirectives.html
> > 
> > > 
> > > ---
> > >  src/gallium/state_trackers/clover/llvm/invocation.cpp | 3 +++
> > >  1 file changed, 3 insertions(+)
> > > 
> > > diff --git
> > > a/src/gallium/state_trackers/clover/llvm/invocation.cpp
> > > b/src/gallium/state_trackers/clover/llvm/invocation.cpp
> > > index 5490d72..b5e8b52 100644
> > > --- a/src/gallium/state_trackers/clover/llvm/invocation.cpp
> > > +++ b/src/gallium/state_trackers/clover/llvm/invocation.cpp
> > > @@ -153,6 +153,9 @@ namespace {
> > >        // Add libclc include
> > >        c.getPreprocessorOpts().Includes.push_back("clc/clc.h");
> > >  
> > > +      // Add definition for the OpenCL version
> > > +      c.getPreprocessorOpts().addMacroDef("__OPENCL_VERSION__=11
> > > 0");
> > > +
> > >        // clc.h requires that this macro be defined:
> > >        c.getPreprocessorOpts().addMacroDef("cl_clang_storage_clas
> > > s_specifiers");
> > >        c.getPreprocessorOpts().addRemappedFile(
> > > 
> > 
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160831/9b089727/attachment-0001.sig>


More information about the mesa-dev mailing list