Fungsi InterlockedOr

Melakukan or atomik pada nilai .

Sintaks

void InterlockedOr(
  in  UINT dest,
  in  UINT value,
  out UINT original_value
);

Parameter

dest [in]

Jenis: UINT

Alamat tujuan.

value [in]

Jenis: UINT

Nilai input.

original_value [keluar]

Jenis: UINT

Nilai asli.

Mengembalikan nilai

Tidak ada

Keterangan

Operasi ini hanya dapat dilakukan pada sumber daya yang diketik INT atau UINT dan variabel memori bersama. Ada tiga kemungkinan penggunaan untuk fungsi ini. Yang pertama adalah ketika R adalah jenis variabel memori bersama. Dalam hal ini, fungsi melakukan atom OR dengan nilai register memori bersama yang dirujuk oleh dest. Skenario kedua adalah ketika R adalah jenis variabel sumber daya. Dalam skenario ini, fungsi melakukan atom OR dengan nilai lokasi sumber daya yang direferensikan oleh tujuan. Terakhir, skenario ketiga adalah ketika R adalah jenis variabel lokal. Dalam skenario ini, fungsi berkurang menjadi OR dengan nilai tujuan dan nilai. Hasil operasi menggantikan nilai tujuan. Fungsi kelebihan beban memiliki variabel output tambahan, yang akan diatur ke nilai asli tujuan. Operasi kelebihan beban ini hanya tersedia ketika R dapat dibaca dan dapat ditulis.

Fungsi ini didukung dalam jenis shader berikut:

VS HS DS GS PS CS
x x x x x x

 

Lihat juga

RWByteAddressBuffer

Model Shader 5