File: compiler_bool_cross_basic_block.cl

package info (click to toggle)
beignet 0.9.3~really.0.8%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 6,644 kB
  • ctags: 15,542
  • sloc: cpp: 49,147; ansic: 13,274; lisp: 2,244; python: 933; sh: 626; makefile: 2
file content (21 lines) | stat: -rw-r--r-- 451 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
__kernel
void compiler_bool_cross_basic_block(__global int *src,
				     __global int *dst,
				     int scale){
  int id = (int)get_global_id(0);

  bool isRedRow = false;
  bool isRed;
  int val = src[id];
  for (unsigned int i=0; i<scale; i++, isRedRow = !isRedRow) {
    if (isRedRow) {
      isRed= false;
      for (unsigned int j=0; j < scale; j++, isRed=!isRed) {
        if (isRed) {
	  val++;
        }
      }
    }
  }
  dst[id] = val;
}