According to my understanding, PIPE is also a mem object.
clGetMemObjectInfo can be used to query all kinds of mem object.
clGetPipeInfo just query additional PIPE info.
According to CL spec, it just says query CL_MEM_HOST_PTR return
the host ptr if image/buffer created by CL_MEM_USE_HOST_PTR is specified,
otherwise, return NULL.
So, as a PIPE, I think it just retuns NULL and it that correct?


On Tue, Dec 20, 2016 at 09:05:41AM +0100, Simon Richter wrote:
> Date: Tue, 20 Dec 2016 09:05:41 +0100
> From: Simon Richter <simon.rich...@hogyros.de>
> To: beignet@lists.freedesktop.org
> Subject: Re: [Beignet] [PATCH] Refine mem.h and improve the related macro
>  defination.
> 
> Hi,
> 
> On 20.12.2016 04:23, He Junyan wrote:
> 
> >>> +    if (!CL_OBJECT_IS_BUFFER(memobj)) {
> 
> >> That would match pipes as well, is that intended?
> 
> > Already redefine CL_OBJECT_IS_BUFFER to just match buffer and subbuffer.
> 
> > +#define CL_OBJECT_IS_BUFFER(mem) ((mem &&                                  
> >                \
> > +                                   ((cl_base_object)mem)->magic == 
> > CL_OBJECT_MEM_MAGIC && \
> > +                                   CL_OBJECT_GET_REF(mem) >= 1 &&          
> >                \
> > +                                   ((cl_mem)mem)->type <= 
> > CL_MEM_SUBBUFFER_TYPE))
> 
> Exactly my point. A pipe object would not match CL_OBJECT_IS_BUFFER(),
> so the negated test would return true, and the code would look at
> memobj->host_ptr in a pipe object, which is wrong.
> 
>    Simon
> 
> 




> _______________________________________________
> Beignet mailing list
> Beignet@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/beignet



_______________________________________________
Beignet mailing list
Beignet@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to