/// <summary cref="IBackendCodeGenerator.GenerateCode(Barrier)"/> public void GenerateCode(Barrier barrier) { using var statement = BeginStatement( CLInstructions.GetBarrier(barrier.Kind)); statement.BeginArguments(); statement.AppendCommand( CLInstructions.GetMemoryFenceFlags(true)); statement.EndArguments(); }
/// <summary cref="IBackendCodeGenerator.GenerateCode(MemoryBarrier)"/> public void GenerateCode(MemoryBarrier barrier) { var fenceFlags = CLInstructions.GetMemoryFenceFlags(true); var command = CLInstructions.GetMemoryBarrier( barrier.Kind, out string memoryScope); using var statement = BeginStatement(command); statement.BeginArguments(); statement.AppendArgument(); statement.AppendCommand(fenceFlags); statement.AppendArgument(); statement.AppendCommand(memoryScope); statement.EndArguments(); }