/* * Copyright 2013 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #pragma OPENCL_EXTENSION cl_khr_global_int32_base_atomics const sampler_t gInSampler = CLK_NORMALIZED_COORDS_FALSE | CLK_ADDRESS_CLAMP_TO_EDGE | CLK_FILTER_NEAREST; __kernel void diff(read_only image2d_t baseline, read_only image2d_t test, __global int* result) { int2 coord = (int2)(get_global_id(0), get_global_id(1)); uint4 baselinePixel = read_imageui(baseline, gInSampler, coord); uint4 testPixel = read_imageui(test, gInSampler, coord); int4 pixelCompare = baselinePixel == testPixel; if (baselinePixel.x != testPixel.x || baselinePixel.y != testPixel.y || baselinePixel.z != testPixel.z || baselinePixel.w != testPixel.w) { atom_inc(result); } }