[Mesa-dev] [PATCH] clover: Accept CL_MEM_READ_WRITE flag

Blaž Tomažič blaz.tomazic at gmail.com
Thu Aug 23 03:15:15 PDT 2012


Fix API functions for memory objects to accept CL_MEM_READ_WRITE flag.

Signed-off-by: Blaž Tomažič <blaz.tomazic at gmail.com>
---
 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);
-- 
1.7.12



More information about the mesa-dev mailing list