Fungsi InterlockedMax

Menemukan nilai maksimum, secara atomik.

Sintaks

void InterlockedMax(
  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

Fungsi ini tidak mengembalikan nilai.

Keterangan

Operasi ini hanya dapat dilakukan pada sumber daya yang diketik int dan 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 maksimum atom nilai ke register memori bersama yang dirujuk oleh tujuan. Skenario kedua adalah ketika R adalah jenis variabel sumber daya. Dalam skenario ini, fungsi melakukan maksimum atom nilai ke lokasi sumber daya yang direferensikan oleh tujuan. Terakhir, skenario ketiga adalah ketika R adalah jenis variabel lokal. Dalam skenario ini, fungsi berkurang hingga maksimum nilai tujuan dan nilai, disimpan dalam 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