Commit 1f17e08c authored by Peter Eastman's avatar Peter Eastman
Browse files

Attempting to fix an error caused by the workaround for a Mac AMD bug

parent 94fe05c2
...@@ -94,6 +94,7 @@ public: ...@@ -94,6 +94,7 @@ public:
replacements["MIN_KEY"] = TRAIT::clMinKey(); replacements["MIN_KEY"] = TRAIT::clMinKey();
replacements["MAX_KEY"] = TRAIT::clMaxKey(); replacements["MAX_KEY"] = TRAIT::clMaxKey();
replacements["MAX_VALUE"] = TRAIT::clMaxValue(); replacements["MAX_VALUE"] = TRAIT::clMaxValue();
replacements["VALUE_IS_INT2"] = (TRAIT::clDataType() == "int2" ? "1" : "0");
cl::Program program = context.createProgram(context.replaceStrings(OpenCLKernelSources::sort, replacements)); cl::Program program = context.createProgram(context.replaceStrings(OpenCLKernelSources::sort, replacements));
computeRangeKernel = cl::Kernel(program, "computeRange"); computeRangeKernel = cl::Kernel(program, "computeRange");
assignElementsKernel = cl::Kernel(program, "assignElementsToBuckets"); assignElementsKernel = cl::Kernel(program, "assignElementsToBuckets");
......
...@@ -61,7 +61,7 @@ __kernel void assignElementsToBuckets(__global const DATA_TYPE* restrict data, u ...@@ -61,7 +61,7 @@ __kernel void assignElementsToBuckets(__global const DATA_TYPE* restrict data, u
float maxValue = (float) (range[1]); float maxValue = (float) (range[1]);
float bucketWidth = (maxValue-minValue)/numBuckets; float bucketWidth = (maxValue-minValue)/numBuckets;
for (uint index = get_global_id(0); index < length; index += get_global_size(0)) { for (uint index = get_global_id(0); index < length; index += get_global_size(0)) {
#ifdef MAC_AMD_WORKAROUND #if defined(MAC_AMD_WORKAROUND) && VALUE_IS_INT2
__global int* d = (__global int*) data; __global int* d = (__global int*) data;
int2 element = (int2) (d[2*index], d[2*index+1]); int2 element = (int2) (d[2*index], d[2*index+1]);
float key = (float) getValue(element); float key = (float) getValue(element);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment