Blaž Tomažič <blaz.toma...@gmail.com> writes: > Fix API functions for memory objects to accept CL_MEM_READ_WRITE flag. > > Signed-off-by: Blaž Tomažič <blaz.toma...@gmail.com>
OK, pushed, but I've left out the change in clCreateSubBuffer, it makes the code throw an error in cases where the child buffer is read- or write-only while the parent buffer is read-write... Thanks. > --- > src/gallium/state_trackers/clover/api/memory.cpp | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/src/gallium/state_trackers/clover/api/memory.cpp > b/src/gallium/state_trackers/clover/api/memory.cpp > index 1b1ae73..ae6d3a0 100644 > --- a/src/gallium/state_trackers/clover/api/memory.cpp > +++ b/src/gallium/state_trackers/clover/api/memory.cpp > @@ -39,7 +39,7 @@ clCreateBuffer(cl_context ctx, cl_mem_flags flags, size_t > size, > if (!size) > throw error(CL_INVALID_BUFFER_SIZE); > > - if (flags & ~(CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > + if (flags & ~(CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR | > CL_MEM_COPY_HOST_PTR)) > throw error(CL_INVALID_VALUE); > @@ -63,7 +63,8 @@ clCreateSubBuffer(cl_mem obj, cl_mem_flags flags, > cl_buffer_create_type op, > if ((flags & (CL_MEM_USE_HOST_PTR | > CL_MEM_ALLOC_HOST_PTR | > CL_MEM_COPY_HOST_PTR)) || > - (~flags & parent->flags() & (CL_MEM_READ_ONLY | > + (~flags & parent->flags() & (CL_MEM_READ_WRITE | > + CL_MEM_READ_ONLY | > CL_MEM_WRITE_ONLY))) > throw error(CL_INVALID_VALUE); > > @@ -98,7 +99,7 @@ clCreateImage2D(cl_context ctx, cl_mem_flags flags, > if (!ctx) > throw error(CL_INVALID_CONTEXT); > > - if (flags & ~(CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > + if (flags & ~(CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR | > CL_MEM_COPY_HOST_PTR)) > throw error(CL_INVALID_VALUE); > @@ -134,7 +135,7 @@ clCreateImage3D(cl_context ctx, cl_mem_flags flags, > if (!ctx) > throw error(CL_INVALID_CONTEXT); > > - if (flags & ~(CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > + if (flags & ~(CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR | > CL_MEM_COPY_HOST_PTR)) > throw error(CL_INVALID_VALUE); > @@ -168,7 +169,7 @@ clGetSupportedImageFormats(cl_context ctx, cl_mem_flags > flags, > if (!ctx) > throw error(CL_INVALID_CONTEXT); > > - if (flags & ~(CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > + if (flags & ~(CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY | > CL_MEM_USE_HOST_PTR | CL_MEM_ALLOC_HOST_PTR | > CL_MEM_COPY_HOST_PTR)) > throw error(CL_INVALID_VALUE);
pgpb5HcRoOnpV.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev