Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Persyaratan
Header : amp.h
Namespace: Konkurensi
abs
Mengembalikan nilai absolut argumen.
inline int abs(int _X) restrict(amp);
Parameter
_X
Nilai bilangan bulat
Tampilkan Nilai
Mengembalikan nilai absolut argumen.
jepit
Menghitung nilai argumen pertama yang ditentukan yang dijepit ke rentang yang ditentukan oleh argumen kedua dan ketiga yang ditentukan.
inline float clamp(
float _X,
float _Min,
float _Max) restrict(amp);
inline int clamp(
int _X,
int _Min,
int _Max) restrict(amp);
Parameter
_X
Nilai yang akan dijepit.
_Min
Batas bawah rentang penjepitan.
_Maks
Batas atas rentang penjepitan.
Tampilkan Nilai
Nilai yang dijepit dari _X.
countbits
Menghitung jumlah bit yang ditetapkan dalam _X.
inline unsigned int countbits(unsigned int _X) restrict(amp);
Parameter
_X
Nilai bilangan bulat tidak ditandatangani
Tampilkan Nilai
Mengembalikan jumlah bit yang ditetapkan dalam _X.
create_accelerator_view
Membuat objek accelerator_view dari penunjuk ke antarmuka perangkat Direct3D.
Sintaks
accelerator_view create_accelerator_view(
IUnknown * _D3D_device,
queuing_mode _Qmode = queuing_mode_automatic);
accelerator_view create_accelerator_view(
accelerator& _Accelerator,
bool _Disable_timeout,
queuing_mode _Qmode = queuing_mode_automatic);
Parameter
_Accelerator
Akselerator tempat accelerator_view baru akan dibuat.
_D3D_device
Penunjuk ke antarmuka perangkat Direct3D.
_Disable_timeout
Parameter Boolean yang menentukan apakah batas waktu harus dinonaktifkan untuk accelerator_view yang baru dibuat. Ini sesuai dengan bendera D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT untuk pembuatan perangkat Direct3D dan digunakan untuk menunjukkan apakah sistem operasi harus memungkinkan beban kerja yang membutuhkan waktu lebih dari 2 detik untuk dieksekusi tanpa mengatur ulang perangkat per mekanisme deteksi dan pemulihan batas waktu Windows. Penggunaan bendera ini disarankan jika Anda perlu melakukan tugas yang memakan waktu pada accelerator_view.
_Qmode
queuing_mode yang akan digunakan untuk accelerator_view yang baru dibuat. Parameter ini memiliki nilai queuing_mode_automaticdefault .
Tampilkan Nilai
Objek accelerator_view yang dibuat dari antarmuka perangkat Direct3D yang dilewatkan.
Keterangan
Fungsi ini membuat objek baru accelerator_view dari pointer yang ada ke antarmuka perangkat Direct3D. Jika panggilan fungsi berhasil, jumlah referensi parameter bertambah dengan cara AddRef panggilan ke antarmuka. Anda dapat melepaskan objek dengan aman saat tidak lagi diperlukan dalam kode DirectX Anda. Jika panggilan metode gagal, runtime_exception akan dilemparkan.
Objek accelerator_view yang Anda buat dengan menggunakan fungsi ini aman untuk utas. Anda harus menyinkronkan penggunaan objek secara bersamaan accelerator_view . Penggunaan bersamaan accelerator_view objek yang tidak disinkronkan dan antarmuka ID3D11Device mentah menyebabkan perilaku yang tidak ditentukan.
Runtime C++ AMP menyediakan informasi kesalahan terperinci dalam mode debug dengan menggunakan lapisan Debug D3D jika Anda menggunakan D3D11_CREATE_DEVICE_DEBUG bendera .
d3d_access_lock
Dapatkan kunci pada accelerator_view untuk tujuan melakukan operasi D3D dengan aman pada sumber daya yang dibagikan dengan accelerator_view. accelerator_view dan semua sumber daya C++ AMP yang terkait dengan ini accelerator_view secara internal mengambil kunci ini saat melakukan operasi dan akan memblokir sementara utas lain menahan kunci akses D3D. Kunci ini tidak rekursif: Ini adalah perilaku yang tidak terdefinisi untuk memanggil fungsi ini dari utas yang sudah menahan kunci. Perilaku tidak terdefinisi untuk melakukan operasi pada accelerator_view atau kontainer data apa pun yang terkait dengan accelerator_view dari utas yang menyimpan kunci akses D3D. Lihat juga scoped_d3d_access_lock, kelas bergaya RAII untuk kunci akses D3D berbasis cakupan.
void __cdecl d3d_access_lock(accelerator_view& _Av);
Parameter
_Av
Accelerator_view terkunci.
d3d_access_try_lock
Coba dapatkan kunci akses D3D pada accelerator_view tanpa memblokir.
bool __cdecl d3d_access_try_lock(accelerator_view& _Av);
Parameter
_Av
Accelerator_view terkunci.
Tampilkan Nilai
true jika kunci diperoleh, atau salah jika saat ini dipegang oleh utas lain.
d3d_access_unlock
Lepaskan kunci akses D3D pada accelerator_view yang diberikan. Jika utas panggilan tidak menahan kunci pada accelerator_view hasilnya tidak ditentukan.
void __cdecl d3d_access_unlock(accelerator_view& _Av);
Parameter
_Av
accelerator_view yang kuncinya akan dilepaskan.
firstbithigh
Mendapatkan lokasi bit set pertama di _X, dimulai dengan bit urutan tertinggi dan bergerak menuju bit urutan terendah.
inline int firstbithigh(int _X) restrict(amp);
Parameter
_X
Nilai bilangan bulat
Tampilkan Nilai
Lokasi bit set pertama.
firstbitlow
Mendapatkan lokasi bit set pertama di _X, dimulai dengan bit urutan terendah dan bekerja menuju bit urutan tertinggi.
inline int firstbitlow(int _X) restrict(amp);
Parameter
_X
Nilai bilangan bulat
Tampilkan Nilai
Mengembalikan Lokasi bit set pertama.
get_buffer
Dapatkan antarmuka buffer Direct3D yang mendasar array yang ditentukan.
template<
typename value_type,
int _Rank
>
IUnknown *get_buffer(
const array<value_type, _Rank>& _Array);
Parameter
value_type
Jenis elemen dalam array.
_Rank
Peringkat array.
_Array
Array pada accelerator_view Direct3D tempat antarmuka buffer Direct3D yang mendasar dikembalikan.
Tampilkan Nilai
Penunjuk antarmuka IUnknown yang sesuai dengan buffer Direct3D yang mendasar array.
get_device
Dapatkan antarmuka perangkat D3D yang mendasar accelerator_view.
IUnknown* get_device(const accelerator_view Av);
Parameter
Av
Accelerator_view D3D tempat antarmuka perangkat D3D yang mendasar dikembalikan.
Nilai hasil
Penunjuk IUnknown antarmuka perangkat D3D yang mendasar accelerator_view.
imax
Tentukan nilai numerik maksimum argumen.
inline int imax(
int _X,
int _Y) restrict(amp);
Parameter
_X
Nilai bilangan bulat
_Y
Nilai bilangan bulat
Tampilkan Nilai
Mengembalikan nilai numerik maksimum argumen.
imin
Tentukan nilai numerik minimum argumen.
inline int imin(
int _X,
int _Y) restrict(amp);
Parameter
_X
Nilai bilangan bulat
_Y
Nilai bilangan bulat
Tampilkan Nilai
Mengembalikan nilai numerik minimum argumen.
is_timeout_disabled
Mengembalikan bendera boolean yang menunjukkan apakah batas waktu dinonaktifkan untuk accelerator_view yang ditentukan. Ini sesuai dengan bendera D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT untuk pembuatan perangkat Direct3D.
bool __cdecl is_timeout_disabled(const accelerator_view& _Accelerator_view);
Parameter
_Accelerator_view
Accelerator_view pengaturan waktu habis yang dinonaktifkan akan dikueri.
Tampilkan Nilai
Bendera boolean yang menunjukkan apakah batas waktu dinonaktifkan untuk accelerator_view yang ditentukan.
gila
Menghitung produk argumen pertama dan kedua yang ditentukan, lalu menambahkan argumen ketiga yang ditentukan.
inline float mad(
float _X,
float _Y,
float _Z) restrict(amp);
inline double mad(
double _X,
double _Y,
double _Z) restrict(amp);
inline int mad(
int _X,
int _Y,
int _Z) restrict(amp);
inline unsigned int mad(
unsigned int _X,
unsigned int _Y,
unsigned int _Z) restrict(amp);
Parameter
_X
Argumen pertama yang ditentukan.
_Y
Argumen kedua yang ditentukan.
_Z
Argumen ketiga yang ditentukan.
Tampilkan Nilai
Hasil dari _X * _Y + _Z.
make_array
Buat array dari penunjuk antarmuka buffer Direct3D.
template<
typename value_type,
int _Rank
>
array<value_type, _Rank> make_array(
const extent<_Rank>& _Extent,
const Concurrency::accelerator_view& _Rv,
IUnknown* _D3D_buffer);
Parameter
value_type
Jenis elemen array yang akan dibuat.
_Rank
Peringkat array yang akan dibuat.
_Sejauh
Tingkat yang menjelaskan bentuk agregat array.
_Rv
Tampilan akselerator D3D tempat array akan dibuat.
_D3D_buffer
Penunjuk antarmuka IUnknown dari buffer D3D untuk membuat array.
Tampilkan Nilai
Array yang dibuat menggunakan buffer Direct3D yang disediakan.
kebisingan
Menghasilkan nilai acak menggunakan algoritma kebisingan Perlin.
inline float noise(float _X) restrict(amp);
Parameter
_X
Nilai floating-point untuk menghasilkan kebisingan Perlin.
Tampilkan Nilai
Mengembalikan nilai noise Perlin dalam rentang antara -1 dan 1.
radians
Mengonversi _X dari derajat ke radian.
inline float radians(float _X) restrict(amp);
Parameter
_X
Nilai floating-point
Tampilkan Nilai
Mengembalikan _X dikonversi dari derajat ke radian.
rcp
Menghitung timbal balik argumen yang ditentukan dengan menggunakan perkiraan cepat.
inline float rcp(float _X) restrict(amp);
inline double rcp(double _X) restrict(amp);
Parameter
_X
Nilai untuk menghitung timbal balik.
Tampilkan Nilai
Timbal balik dari argumen yang ditentukan.
reversebits
Membalik urutan bit dalam _X.
inline unsigned int reversebits(unsigned int _X) restrict(amp);
Parameter
_X
Nilai bilangan bulat tidak ditandatangani
Tampilkan Nilai
Mengembalikan nilai dengan urutan bit yang dibalik dalam _X.
Jenuh
Klem _X dalam kisaran 0 hingga 1.
inline float saturate(float _X) restrict(amp);
Parameter
_X
Nilai floating-point
Tampilkan Nilai
Mengembalikan _X dijepit dalam rentang 0 hingga 1.
sign
Menentukan tanda argumen yang ditentukan.
inline int sign(int _X) restrict(amp);
Parameter
_X
Nilai bilangan bulat
Tampilkan Nilai
Tanda argumen.
smoothstep
Mengembalikan interpolasi Hermite halus antara 0 dan 1, jika _X berada dalam rentang [_Min, _Max].
inline float smoothstep(
float _Min,
float _Max,
float _X) restrict(amp);
Parameter
_Min
Nilai floating-point
_Maks
Nilai floating-point
_X
Nilai floating-point
Tampilkan Nilai
Mengembalikan 0 jika _X kurang dari _Min; 1 jika _X lebih besar dari _Max; jika tidak, nilai antara 0 dan 1 jika _X berada dalam rentang [_Min, _Max].
langkah
Membandingkan dua nilai, mengembalikan 0 atau 1 berdasarkan nilai mana yang lebih besar.
inline float step(
float _Y,
float _X) restrict(amp);
Parameter
_Y
Nilai floating-point
_X
Nilai floating-point
Tampilkan Nilai
Mengembalikan 1 jika _X lebih besar dari atau sama dengan _Y; jika tidak, 0.
umax
Tentukan nilai numerik maksimum argumen.
inline unsigned int umax(
unsigned int _X,
unsigned int _Y) restrict(amp);
Parameter
_X
Nilai bilangan bulat
_Y
Nilai bilangan bulat
Tampilkan Nilai
Mengembalikan nilai numerik maksimum argumen.
umin
Tentukan nilai numerik minimum argumen.
inline unsigned int umin(
unsigned int _X,
unsigned int _Y) restrict(amp);
Parameter
_X
Nilai bilangan bulat
_Y
Nilai bilangan bulat
Tampilkan Nilai
Mengembalikan nilai numerik minimum argumen.