Fungsi InterlockedCompareExchange
Membandingkan input dengan nilai perbandingan dan menukar hasilnya, secara atomik.
Sintaks
void InterlockedCompareExchange(
in UINT dest,
in UINT compare_value,
in UINT value,
out UINT original_value
);
Parameter
-
dest [in]
-
Jenis: UINT
Alamat tujuan.
-
compare_value [in]
-
Jenis: UINT
Nilai perbandingan.
-
value [in]
-
Jenis: UINT
Nilai input.
-
original_value [out]
-
Jenis: UINT
Nilai aslinya.
Menampilkan nilai
Fungsi ini tidak mengembalikan nilai.
Keterangan
Secara atomik membandingkan nilai dalam tujuan dengan compare_value, menyimpan nilai dalam tujuan jika nilai cocok, mengembalikan nilai asli dest dalam original_value. 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 operasi pada register memori bersama yang dirujuk oleh dest. Skenario kedua adalah ketika R adalah jenis variabel sumber daya. Dalam skenario ini, fungsi melakukan operasi pada lokasi sumber daya yang direferensikan oleh tujuan. Terakhir, skenario ketiga adalah ketika R adalah jenis variabel lokal. Dalam skenario ini, fungsi berkurang ke operasi yang dilakukan menggunakan operasi lokal. Operasi ini hanya tersedia ketika R dapat dibaca dan dapat ditulis.
Catatan
Jika Anda memanggil InterlockedCompareExchange dalam perulangan shader komputasi untuk atau sementara , untuk mengkompilasi dengan benar, Anda harus menggunakan atribut [allow_uav_condition] pada perulangan tersebut.
Fungsi ini didukung dalam jenis shader berikut:
VS | HS | DS | GS | PS | CS |
---|---|---|---|---|---|
x | x | x | x | x | x |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk