Ejemplo n.º 1
0
 /// <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();
 }
Ejemplo n.º 2
0
        /// <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();
        }