Sdílet prostřednictvím


Funkce oboru názvů Concurrency::direct3d (AMP)

Požadavky

Hlavička: amp.h Namespace: Souběžnost

Abs

Vrátí absolutní hodnotu argumentu.

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

Parametry

_X
Celočíselná hodnota

Návratová hodnota

Vrátí absolutní hodnotu argumentu.

svěrka

Vypočítá hodnotu prvního zadaného argumentu upínacího do rozsahu definovaného druhým a třetím zadaným argumentem.

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

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

Parametry

_X
Hodnota, která má být uchycena

_Min
Dolní mez upínacího rozsahu.

_Max
Horní mez upevňovacího rozsahu.

Návratová hodnota

Upínací hodnota _X.

countbits

Spočítá počet bitů sady v _X

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

Parametry

_X
Celočíselná hodnota bez znaménka

Návratová hodnota

Vrátí počet bitů sady v _X

create_accelerator_view

Vytvoří objekt accelerator_view z ukazatele na rozhraní zařízení Direct3D.

Syntaxe

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

Parametry

_Akcelerátor
Akcelerátor, na kterém se má vytvořit nový accelerator_view.

_D3D_device
Ukazatel na rozhraní zařízení Direct3D.

_Disable_timeout
Logický parametr, který určuje, jestli má být pro nově vytvořený accelerator_view zakázán časový limit. To odpovídá příznaku D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT pro vytvoření zařízení Direct3D a slouží k označení, jestli má operační systém povolit spouštění úloh, které zabírají více než 2 sekundy, aniž by se zařízení resetoval podle mechanismu detekce a obnovení časového limitu Windows. Tento příznak se doporučuje použít, pokud potřebujete na accelerator_view provádět časově náročné úlohy.

_Qmode
Queuing_mode, která se má použít pro nově vytvořenou accelerator_view. Tento parametr má výchozí hodnotu queuing_mode_automatic.

Návratová hodnota

Objekt accelerator_view vytvořený z předaného rozhraní zařízení Direct3D.

Poznámky

Tato funkce vytvoří nový accelerator_view objekt z existujícího ukazatele na rozhraní zařízení Direct3D. Pokud volání funkce proběhne úspěšně, zvýší se počet odkazů parametru voláním AddRef rozhraní. Objekt můžete bezpečně uvolnit, pokud už není v kódu DirectX vyžadován. Pokud volání metody selže, vyvolá se runtime_exception .

Objekt accelerator_view , který vytvoříte pomocí této funkce, je bezpečný z více vláken. Musíte synchronizovat souběžné použití objektu accelerator_view . Nesynchronizované souběžné použití objektu accelerator_view a nezpracované rozhraní ID3D11Device způsobuje nedefinované chování.

Modul runtime C++ AMP poskytuje podrobné informace o chybách v režimu ladění pomocí vrstvy ladění D3D, pokud používáte D3D11_CREATE_DEVICE_DEBUG příznak.

d3d_access_lock

Získejte zámek na accelerator_view za účelem bezpečného provádění D3D operací s prostředky sdílenými s accelerator_view. Accelerator_view a všechny prostředky C++ AMP přidružené k tomuto accelerator_view interně tento zámek při provádění operací převezmou a zablokují se, zatímco jiné vlákno obsahuje zámek přístupu D3D. Tento zámek není rekurzivní: Není definováno chování volání této funkce z vlákna, které již zámek obsahuje. Není definováno chování při provádění operací s accelerator_view nebo jakýmkoli datovým kontejnerem přidruženým k accelerator_view z vlákna, které obsahuje zámek přístupu D3D. Viz také scoped_d3d_access_lock, třídy ve stylu RAII pro zámek přístupu D3D založené na oboru.

void __cdecl d3d_access_lock(accelerator_view& _Av);

Parametry

_Av
Accelerator_view, která se má uzamknout.

d3d_access_try_lock

Pokus o získání zámku přístupu D3D na accelerator_view bez blokování

bool __cdecl d3d_access_try_lock(accelerator_view& _Av);

Parametry

_Av
Accelerator_view, která se má uzamknout.

Návratová hodnota

true Pokud zámek byl získán, nebo false, pokud je aktuálně uložen jiným vláknem.

d3d_access_unlock

Uvolněte zámek přístupu D3D na dané accelerator_view. Pokud volající vlákno neudrží zámek na accelerator_view výsledky nejsou definovány.

void __cdecl d3d_access_unlock(accelerator_view& _Av);

Parametry

_Av
Accelerator_view, pro které má být zámek uvolněn.

firstbithigh

Získá umístění prvního bitu sady v _X, počínaje bitem nejvyššího řádu a přechodem k bitu nejnižšího pořadí.

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

Parametry

_X
Celočíselná hodnota

Návratová hodnota

Umístění prvního bitu sady

firstbitlow

Získá umístění prvního bitu sady v _X, počínaje bitem nejnižšího pořadí a pracuje na bitu nejvyššího pořadí.

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

Parametry

_X
Celočíselná hodnota

Návratová hodnota

Vrátí umístění prvního bitu sady.

get_buffer

Získejte rozhraní vyrovnávací paměti Direct3D, které je základem zadaného pole.

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

Parametry

value_type
Typ prvků v poli.

_Hodnost
Pořadí pole.

_Pole
Pole v accelerator_view Direct3D, pro které je vráceno základní rozhraní vyrovnávací paměti Direct3D.

Návratová hodnota

Ukazatel rozhraní IUnknown odpovídající vyrovnávací paměti Direct3D podkladové pole.

get_device

Získejte rozhraní zařízení D3D, které je podkladem accelerator_view.

IUnknown* get_device(const accelerator_view Av);

Parametry

Av
D3D accelerator_view, pro které se vrátí základní rozhraní zařízení D3D.

Vrácená hodnota

Ukazatel IUnknown rozhraní zařízení D3D podkladového accelerator_view.

imax

Určení maximální číselné hodnoty argumentů

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

Parametry

_X
Celočíselná hodnota

_Y
Celočíselná hodnota

Návratová hodnota

Vrátí maximální číselnou hodnotu argumentů.

imin

Určení minimální číselné hodnoty argumentů

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

Parametry

_X
Celočíselná hodnota

_Y
Celočíselná hodnota

Návratová hodnota

Vrátí minimální číselnou hodnotu argumentů.

is_timeout_disabled

Vrátí logický příznak označující, jestli je pro zadaný accelerator_view zakázaný časový limit. To odpovídá příznaku D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT pro vytvoření zařízení Direct3D.

bool __cdecl is_timeout_disabled(const accelerator_view& _Accelerator_view);

Parametry

_Accelerator_view
Accelerator_view, pro které se má dotazovat nastavení časového limitu zakázaného časového limitu.

Návratová hodnota

Logický příznak označující, jestli je pro zadaný accelerator_view zakázaný časový limit.

šílený

Vypočítá součin prvního a druhého zadaného argumentu a pak sečte třetí zadaný argument.

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

Parametry

_X
První zadaný argument.

_Y
Druhý zadaný argument.

_Z
Třetí zadaný argument.

Návratová hodnota

Výsledek ._X * _Y + _Z

make_array

Vytvořte pole z ukazatele rozhraní vyrovnávací paměti 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)  ;

Parametry

value_type
Typ prvku pole, který se má vytvořit.

_Hodnost
Pořadí pole, které se má vytvořit.

_Rozsah
Rozsah, který popisuje tvar agregace pole.

_Rv
Zobrazení akcelerátoru D3D, na kterém se má pole vytvořit.

_D3D_buffer
Ukazatel rozhraní IUnknown vyrovnávací paměti D3D pro vytvoření pole z.

Návratová hodnota

Pole vytvořené pomocí poskytnuté vyrovnávací paměti Direct3D.

hluk

Generuje náhodnou hodnotu pomocí algoritmu šumu Perlin.

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

Parametry

_X
Hodnota s plovoucí desetinou čárkou, ze které se má generovat šum Perlin

Návratová hodnota

Vrátí hodnotu šumu Perlin v rozsahu od -1 do 1.

Radiánech

Převede _X ze stupňů na radiány.

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

Parametry

_X
Hodnota s plovoucí desetinou čárkou

Návratová hodnota

Vrátí _X převedené ze stupňů na radiány.

Rcp

Vypočítá reciproční hodnotu zadaného argumentu pomocí rychlé aproximace.

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

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

Parametry

_X
Hodnota, pro kterou se má vypočítat reciproční hodnota.

Návratová hodnota

Reciproční hodnota zadaného argumentu.

reversebits

Obrátí pořadí bitů v _X

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

Parametry

_X
Celočíselná hodnota bez znaménka

Návratová hodnota

Vrátí hodnotu s pořadím bitů obráceným v _X

saturovat

Svorky _X v rozsahu od 0 do 1

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

Parametry

_X
Hodnota s plovoucí desetinou čárkou

Návratová hodnota

Vrátí _X upínací v rozsahu od 0 do 1.

znak

Určuje znaménko zadaného argumentu.

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

Parametry

_X
Celočíselná hodnota

Návratová hodnota

Znaménko argumentu

smoothstep

Vrátí plynulou interpolaci hermit mezi 0 a 1, pokud je _X v rozsahu [_Min, _Max].

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

Parametry

_Min
Hodnota s plovoucí desetinou čárkou

_Max
Hodnota s plovoucí desetinou čárkou

_X
Hodnota s plovoucí desetinou čárkou

Návratová hodnota

Vrátí hodnotu 0, pokud je _X menší než _Min; 1, pokud je _X větší než _Max; jinak hodnota mezi 0 a 1, pokud je _X v rozsahu [_Min, _Max]

step

Porovná dvě hodnoty, které vrátí hodnotu 0 nebo 1 na základě toho, která hodnota je větší.

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

Parametry

_Y
Hodnota s plovoucí desetinou čárkou

_X
Hodnota s plovoucí desetinou čárkou

Návratová hodnota

Vrátí hodnotu 1, pokud je _X větší nebo roven _Y; jinak, 0

umax

Určení maximální číselné hodnoty argumentů

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

Parametry

_X
Celočíselná hodnota

_Y
Celočíselná hodnota

Návratová hodnota

Vrátí maximální číselnou hodnotu argumentů.

mínus

Určení minimální číselné hodnoty argumentů

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

Parametry

_X
Celočíselná hodnota

_Y
Celočíselná hodnota

Návratová hodnota

Vrátí minimální číselnou hodnotu argumentů.

Viz také

Concurrency::direct3d – obor názvů