P4 to Git Change 1083812 by rili@rili_opencl_stg on 2014/10/02 18:45:51
EPR #406832 - Added flag CL_MEM_KERNEL_READ_AND_WRITE support for clGetSupportedImageFormats Affected files ... ... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_memobj.cpp#70 edit ... //depot/stg/opencl/drivers/opencl/runtime/platform/memory.cpp#110 edit
This commit is contained in:
@@ -43,18 +43,25 @@
|
|||||||
|
|
||||||
/*! \brief Helper function to validate cl_mem_flags
|
/*! \brief Helper function to validate cl_mem_flags
|
||||||
*
|
*
|
||||||
|
* chkReadWrite: true: check the flag CL_MEM_KERNEL_READ_AND_WRITE
|
||||||
|
* false: don't check the falg CL_MEM_KERNEL_READ_AND_WRITE
|
||||||
* \return true of flags are valid, otherwise - false
|
* \return true of flags are valid, otherwise - false
|
||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
validateFlags( cl_mem_flags flags)
|
validateFlags( cl_mem_flags flags, bool chkReadWrite=false)
|
||||||
{
|
{
|
||||||
// check flags for validity
|
// check flags for validity
|
||||||
cl_bitfield temp = flags
|
cl_bitfield temp = flags
|
||||||
& (CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY);
|
& (CL_MEM_READ_WRITE | CL_MEM_WRITE_ONLY | CL_MEM_READ_ONLY);
|
||||||
|
if (chkReadWrite) {
|
||||||
|
temp |= (flags & CL_MEM_KERNEL_READ_AND_WRITE) ;
|
||||||
|
}
|
||||||
|
|
||||||
if(temp
|
if(temp
|
||||||
&& !(CL_MEM_READ_WRITE == temp
|
&& !(CL_MEM_READ_WRITE == temp
|
||||||
|| CL_MEM_WRITE_ONLY == temp
|
|| CL_MEM_WRITE_ONLY == temp
|
||||||
|
|| (chkReadWrite && (CL_MEM_KERNEL_READ_AND_WRITE == temp
|
||||||
|
|| (CL_MEM_KERNEL_READ_AND_WRITE | CL_MEM_READ_WRITE) == temp))
|
||||||
|| CL_MEM_READ_ONLY == temp)) {
|
|| CL_MEM_READ_ONLY == temp)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2139,7 +2146,7 @@ RUNTIME_ENTRY(cl_int, clGetSupportedImageFormats, (
|
|||||||
return CL_INVALID_CONTEXT;
|
return CL_INVALID_CONTEXT;
|
||||||
}
|
}
|
||||||
// check flags for validity
|
// check flags for validity
|
||||||
if(!validateFlags(flags)) {
|
if(!validateFlags(flags, true)) {
|
||||||
LogWarning("invalid parameter \"flags\"");
|
LogWarning("invalid parameter \"flags\"");
|
||||||
return CL_INVALID_VALUE;
|
return CL_INVALID_VALUE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user