Megosztás a következőn keresztül:


Egyidejűség::d irect3d névtérfüggvények (AMP)

Követelmények

fejléc: amp.h

névtér: egyidejűség

Abs

Az argumentum abszolút értékét adja vissza.

inline int abs(int _X) restrict(amp);

Paraméterek

_X
Egész számérték

Visszaadott érték

Az argumentum abszolút értékét adja vissza.

kapocs

Kiszámítja az első megadott argumentum értékét a második és a harmadik megadott argumentum által meghatározott tartományhoz szorítva.

inline float clamp(
    float _X,
    float _Min,
    float _Max) restrict(amp);

inline int clamp(
    int _X,
    int _Min,
    int _Max) restrict(amp);

Paraméterek

_X
A rögzítendő érték.

_Min
A befogótartomány alsó határa.

_Max
A befogótartomány felső határa.

Visszaadott érték

A _Xrögzített értéke.

countbits

Megszámolja a beállított bitek számát _X.

inline unsigned int countbits(unsigned int _X) restrict(amp);

Paraméterek

_X
Aláíratlan egész számérték

Visszaadott érték

A _Xmegadott bitjeinek számát adja vissza.

create_accelerator_view

Létrehoz egy accelerator_view objektumot egy mutatóból egy Direct3D eszközillesztőbe.

Szintaxis

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);

Paraméterek

_Accelerator
Az a gyorsító, amelyen az új accelerator_view létre kell hozni.

_D3D_device
Az egérmutató a Direct3D eszköz felületére.

_Disable_timeout
Logikai paraméter, amely meghatározza, hogy le kell-e tiltani az időtúllépést az újonnan létrehozott accelerator_view. Ez megfelel a Direct3D-eszközök létrehozásának D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT jelzőjének, és azt jelzi, hogy az operációs rendszer engedélyezi-e a 2 másodpercnél hosszabb ideig futó számítási feladatokat anélkül, hogy a Windows időtúllépés-észlelési és helyreállítási mechanizmusa alaphelyzetbe állítaná az eszközt. A jelző használata akkor ajánlott, ha időigényes feladatokat kell végrehajtania a accelerator_view.

_Qmode
Az újonnan létrehozott accelerator_view használandó queuing_mode. Ez a paraméter alapértelmezett értéke queuing_mode_automatic.

Visszaadott érték

Az átadott Direct3D eszközfelületről létrehozott accelerator_view objektum.

Megjegyzések

Ez a függvény egy új accelerator_view objektumot hoz létre egy meglévő mutatóból egy Direct3D eszközillesztőbe. Ha a függvényhívás sikeres, a paraméter hivatkozási száma a felületre irányuló AddRef hívással növekszik. Biztonságosan felszabadíthatja az objektumot, ha már nincs rá szükség a DirectX-kódban. Ha a metódushívás sikertelen, egy runtime_exception dob.

A függvény használatával létrehozott accelerator_view objektum szálbiztos. A accelerator_view objektum egyidejű használatát szinkronizálnia kell. A accelerator_view objektum és a nyers ID3D11Device felület nem szinkronizált egyidejű használata nem definiált viselkedést okoz.

A C++ AMP futtatókörnyezet részletes hibainformációkat biztosít hibakeresési módban a D3D hibakeresési réteg használatával, ha a D3D11_CREATE_DEVICE_DEBUG jelzőt használja.

d3d_access_lock

Egy accelerator_view zárolásának beszerzése a accelerator_view megosztott erőforrások D3D-műveleteinek biztonságos végrehajtása céljából. A accelerator_view és a accelerator_view társított összes C++ AMP-erőforrás belsőleg rögzíti ezt a zárolást a műveletek végrehajtásakor, és blokkolni fogja, amíg egy másik szál a D3D hozzáférési zárat tárolja. Ez a zárolás nem rekurzív: Nem definiált viselkedés a függvény meghívása egy olyan szálról, amely már tartalmazza a zárolást. A D3D hozzáférési zárat tartalmazó szálon nem definiált viselkedés a műveletek végrehajtása a accelerator_view vagy a accelerator_view társított adattárolón. Lásd még: scoped_d3d_access_lock, egy hatóköralapú D3D-hozzáférési zárolás RAII-stílusú osztálya.

void __cdecl d3d_access_lock(accelerator_view& _Av);

Paraméterek

_Av
A accelerator_view zárolni.

d3d_access_try_lock

A D3D hozzáférési zárolásának beszerzése egy accelerator_view blokkolás nélkül.

bool __cdecl d3d_access_try_lock(accelerator_view& _Av);

Paraméterek

_Av
A accelerator_view zárolni.

Visszaadott érték

igaz, ha a zárolást megszerezték, vagy hamis, ha jelenleg egy másik szál tartja.

d3d_access_unlock

Engedje fel a D3D hozzáférési zárat az adott accelerator_view. Ha a hívó szál nem tartja meg a zárolást a accelerator_view az eredmények nincsenek meghatározva.

void __cdecl d3d_access_unlock(accelerator_view& _Av);

Paraméterek

_Av
Az a accelerator_view, amelyhez a zárolást ki kell szabadítani.

firstbithigh

Lekéri az első beállított bit helyét _X, kezdve a legmagasabb sorrendű bittel, és a legalacsonyabb sorrendű bit felé halad.

inline int firstbithigh(int _X) restrict(amp);

Paraméterek

_X
Egész számérték

Visszaadott érték

Az első beállított bit helye.

firstbitlow

Lekéri az első beállított bit helyét _X, kezdve a legalacsonyabb sorrendű bittel, és a legmagasabb sorrendű bit felé halad.

inline int firstbitlow(int _X) restrict(amp);

Paraméterek

_X
Egész számérték

Visszaadott érték

Az első beállított bit helyét adja vissza.

get_buffer

Kérje le a megadott tömb alapjául szolgáló Direct3D pufferfelületet.

template<
    typename value_type,
    int _Rank
>
IUnknown *get_buffer(
    const array<value_type, _Rank>& _Array);

Paraméterek

value_type
A tömb elemeinek típusa.

_Rank
A tömb rangja.

_Array
A Direct3D-accelerator_view azon tömbje, amelynek a mögöttes Direct3D pufferfelületét adja vissza.

Visszaadott érték

A tömb mögötti Direct3D puffernek megfelelő IUnknown interfészmutató.

get_device

Szerezze be a accelerator_view alapjául szolgáló D3D-eszközfelületet.

IUnknown* get_device(const accelerator_view Av);

Paraméterek

Av
Az a D3D accelerator_view, amelyhez a mögöttes D3D-eszközillesztőt adja vissza.

Visszaadott érték

A accelerator_view alapjául szolgáló D3D-eszköz IUnknown interfészmutatója.

imax

Határozza meg az argumentumok maximális numerikus értékét.

inline int imax(
    int _X,
    int _Y) restrict(amp);

Paraméterek

_X
Egész számérték

_Y
Egész számérték

Visszaadott érték

Az argumentumok maximális numerikus értékét adja vissza.

imin

Határozza meg az argumentumok minimális numerikus értékét.

inline int imin(
    int _X,
    int _Y) restrict(amp);

Paraméterek

_X
Egész számérték

_Y
Egész számérték

Visszaadott érték

Az argumentumok minimális numerikus értékét adja vissza.

is_timeout_disabled

Egy logikai jelzőt ad vissza, amely jelzi, hogy az időtúllépés le van-e tiltva a megadott accelerator_view. Ez megfelel a Direct3D-eszközök létrehozásának D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT jelzőjének.

bool __cdecl is_timeout_disabled(const accelerator_view& _Accelerator_view);

Paraméterek

_Accelerator_view
Az a accelerator_view, amelynél le kellkérdezni az időtúllépés letiltott beállítását.

Visszaadott érték

Logikai jelző, amely jelzi, hogy az időtúllépés le van-e tiltva a megadott accelerator_view.

őrült

Kiszámítja az első és a második megadott argumentum szorzatát, majd hozzáadja a harmadik megadott argumentumot.

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);

Paraméterek

_X
Az első megadott argumentum.

_Y
A második megadott argumentum.

_Z
A harmadik megadott argumentum.

Visszaadott érték

A _X * _Y + _Zeredménye.

make_array

Hozzon létre egy tömböt egy Direct3D pufferfelület mutatójából.

template<
    typename value_type,
    int _Rank
>
array<value_type, _Rank> make_array(
    const extent<_Rank>& _Extent,
    const Concurrency::accelerator_view& _Rv,
    IUnknown* _D3D_buffer);

Paraméterek

value_type
A létrehozandó tömb elemtípusa.

_Rank
A létrehozandó tömb rangja.

_Extent
A tömbösszesítés alakját leíró mérték.

_Rv
Egy D3D-gyorsító nézet, amelyen a tömböt létre kell hozni.

_D3D_buffer
A D3D-puffer IUnknown illesztőmutatója a tömb létrehozásához.

Visszaadott érték

A megadott Direct3D-puffer használatával létrehozott tömb.

zaj

Véletlenszerű értéket hoz létre a Perlin zaj algoritmus használatával.

inline float noise(float _X) restrict(amp);

Paraméterek

_X
Lebegőpontos érték, amelyből Perlin-zajt hozhat létre.

Visszaadott érték

A Perlin zajértékét adja vissza -1 és 1 közötti tartományban.

Radián

A _X fokról radiánra konvertálja.

inline float radians(float _X) restrict(amp);

Paraméterek

_X
Lebegőpontos érték

Visszaadott érték

Visszaadja _X fokról radiánra konvertált értéket.

Rcp

A megadott argumentum reciprokát gyors közelítéssel számítja ki.

inline float rcp(float _X) restrict(amp);

inline double rcp(double _X) restrict(amp);

Paraméterek

_X
Az az érték, amelynek kiszámításához a reciprok.

Visszaadott érték

A megadott argumentum reciprokja.

fordítottbitek

Megfordítja a bitek sorrendjét a _X.

inline unsigned int reversebits(unsigned int _X) restrict(amp);

Paraméterek

_X
Aláíratlan egész számérték

Visszaadott érték

A bitsorrend _Xvisszafelé fordított értékét adja vissza.

telít

A 0 és 1 közötti tartományon belül _X.

inline float saturate(float _X) restrict(amp);

Paraméterek

_X
Lebegőpontos érték

Visszaadott érték

A 0 és 1 közötti tartományba szorított _X adja vissza.

jel

Meghatározza a megadott argumentum előjelét.

inline int sign(int _X) restrict(amp);

Paraméterek

_X
Egész számérték

Visszaadott érték

Az argumentum jele.

smoothstep

Sima Remete interpolációt ad vissza 0 és 1 között, ha _X a tartományban van [_Min, _Max].

inline float smoothstep(
    float _Min,
    float _Max,
    float _X) restrict(amp);

Paraméterek

_Min
Lebegőpontos érték

_Max
Lebegőpontos érték

_X
Lebegőpontos érték

Visszaadott érték

0 értéket ad vissza, ha _X kisebb, mint _Min; 1, ha _X nagyobb, mint _Max; ellenkező esetben egy 0 és 1 közötti érték, ha _X az [_Min, _Max] tartományban van.

lépés

Két értéket hasonlít össze, amelyek 0-t vagy 1-et adnak vissza attól függően, hogy melyik érték nagyobb.

inline float step(
    float _Y,
    float _X) restrict(amp);

Paraméterek

_Y
Lebegőpontos érték

_X
Lebegőpontos érték

Visszaadott érték

1 értéket ad vissza, ha a _X nagyobb vagy egyenlő _Y; ellenkező esetben 0.

umax

Határozza meg az argumentumok maximális numerikus értékét.

inline unsigned int umax(
    unsigned int _X,
    unsigned int _Y) restrict(amp);

Paraméterek

_X
Egész számérték

_Y
Egész számérték

Visszaadott érték

Az argumentumok maximális numerikus értékét adja vissza.

umin

Határozza meg az argumentumok minimális numerikus értékét.

inline unsigned int umin(
    unsigned int _X,
    unsigned int _Y) restrict(amp);

Paraméterek

_X
Egész számérték

_Y
Egész számérték

Visszaadott érték

Az argumentumok minimális numerikus értékét adja vissza.

Lásd még:

Egyidejűség::d irect3d névtér