Skip to content

Commit 55afc37

Browse files
PawelJurekigcbot
authored andcommitted
Fix for barrier call in global_barrier
Due to known error, the barrier() call in global_barrier was not properly inlined. Use internal builtin instead until the issue is resolved.
1 parent 92dc998 commit 55afc37

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

IGC/BiFModule/Implementation/barrier.cl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ uint __intel_get_local_size( void );
314314
// Implementation of global_barrier using atomic instructions.
315315
void __global_barrier_atomic()
316316
{
317-
barrier(CLK_GLOBAL_MEM_FENCE);
317+
__intel_workgroup_barrier(Device, AcquireRelease | CrossWorkgroupMemory);
318318

319319
__global volatile int* syncBuffer = (__global volatile int*)__builtin_IB_get_sync_buffer();
320320

@@ -335,7 +335,7 @@ void __global_barrier_atomic()
335335
while (atomic_or(syncBuffer, 0) != 0) {}
336336
}
337337

338-
barrier(CLK_GLOBAL_MEM_FENCE);
338+
__intel_workgroup_barrier(Device, AcquireRelease | CrossWorkgroupMemory);
339339
}
340340

341341
// Implementation of global_barrier without using atomic instructions except for fences.

0 commit comments

Comments
 (0)