Delen via


Gelijktijdigheid::d irect3d-naamruimtefuncties (AMP)

Eisen

koptekst: amp.h

naamruimte: gelijktijdigheid

ABS

Retourneert de absolute waarde van het argument.

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

Parameters

_X
Integerwaarde

Retourwaarde

Retourneert de absolute waarde van het argument.

klem

Berekent de waarde van het eerste opgegeven argument dat is vastgezet in een bereik dat is gedefinieerd door de tweede en derde opgegeven argumenten.

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

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

Parameters

_X
De waarde die moet worden vastgeklemd.

_Min
De ondergrens van het klembereik.

_Max
De bovengrens van het klembereik.

Retourwaarde

De klemwaarde van _X.

countbits

Telt het aantal ingestelde bits in _X.

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

Parameters

_X
Niet-ondertekende geheel getalwaarde

Retourwaarde

Geeft als resultaat het aantal ingestelde bits in _X.

create_accelerator_view

Hiermee maakt u een accelerator_view-object van een aanwijzer naar een Direct3D-apparaatinterface.

Syntaxis

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

Parameters

_Accelerator
De accelerator waarop de nieuwe accelerator_view moet worden gemaakt.

_D3D_device
De aanwijzer naar de Direct3D-apparaatinterface.

_Disable_timeout
Een Booleaanse parameter die aangeeft of time-out moet worden uitgeschakeld voor de zojuist gemaakte accelerator_view. Dit komt overeen met de D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT vlag voor het maken van Direct3D-apparaten en wordt gebruikt om aan te geven of het besturingssysteem workloads moet toestaan die langer dan 2 seconden duren om uit te voeren zonder het apparaat opnieuw in te stellen volgens het windows-time-outdetectie- en herstelmechanisme. Het gebruik van deze vlag wordt aanbevolen als u tijdrovende taken moet uitvoeren op de accelerator_view.

_Qmode
De queuing_mode die moet worden gebruikt voor de zojuist gemaakte accelerator_view. Deze parameter heeft een standaardwaarde van queuing_mode_automatic.

Retourwaarde

Het accelerator_view-object dat is gemaakt op basis van de doorgegeven Direct3D-apparaatinterface.

Opmerkingen

Met deze functie maakt u een nieuw accelerator_view-object van een bestaande aanwijzer naar een Direct3D-apparaatinterface. Als de functieaanroep slaagt, wordt het aantal verwijzingen van de parameter verhoogd door middel van een AddRef aanroep naar de interface. U kunt het object veilig vrijgeven wanneer het niet meer nodig is in uw DirectX-code. Als de methode-aanroep mislukt, wordt er een runtime_exception gegenereerd.

Het accelerator_view-object dat u met deze functie maakt, is thread-veilig. U moet gelijktijdig gebruik van het accelerator_view-object synchroniseren. Niet-gesynchroniseerd gelijktijdig gebruik van het accelerator_view-object en de onbewerkte ID3D11Device-interface veroorzaakt niet-gedefinieerd gedrag.

De C++ AMP-runtime biedt gedetailleerde foutinformatie in de foutopsporingsmodus met behulp van de D3D-foutopsporingslaag als u de D3D11_CREATE_DEVICE_DEBUG vlag gebruikt.

d3d_access_lock

Verwerf een vergrendeling op een accelerator_view voor het veilig uitvoeren van D3D-bewerkingen op resources die worden gedeeld met de accelerator_view. De accelerator_view en alle C++ AMP-resources die zijn gekoppeld aan deze accelerator_view nemen deze vergrendeling intern bij het uitvoeren van bewerkingen en worden geblokkeerd terwijl een andere thread de D3D-toegangsvergrendeling bevat. Deze vergrendeling is niet recursief: het is niet-gedefinieerd gedrag om deze functie aan te roepen vanuit een thread die de vergrendeling al bevat. Het is niet-gedefinieerd gedrag om bewerkingen uit te voeren op de accelerator_view of een gegevenscontainer die is gekoppeld aan de accelerator_view van de thread die de D3D-toegangsvergrendeling bevat. Zie ook scoped_d3d_access_lock, een RAII-klasse voor een D3D-toegangsvergrendeling op basis van een bereik.

void __cdecl d3d_access_lock(accelerator_view& _Av);

Parameters

_Av
De accelerator_view om te vergrendelen.

d3d_access_try_lock

Probeer de D3D-toegangsvergrendeling op een accelerator_view te verkrijgen zonder te blokkeren.

bool __cdecl d3d_access_try_lock(accelerator_view& _Av);

Parameters

_Av
De accelerator_view om te vergrendelen.

Retourwaarde

waar als de vergrendeling is verkregen of onwaar als deze momenteel wordt vastgehouden door een andere thread.

d3d_access_unlock

Laat de D3D-toegangsvergrendeling los op de opgegeven accelerator_view. Als de aanroepende thread de vergrendeling op de accelerator_view de resultaten niet zijn gedefinieerd.

void __cdecl d3d_access_unlock(accelerator_view& _Av);

Parameters

_Av
De accelerator_view waarvoor de vergrendeling moet worden vrijgegeven.

firstbithigh

Hiermee haalt u de locatie op van de eerste set bit in _X, beginnend met de hoogste volgorde bit en naar de laagste-order bit.

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

Parameters

_X
Integerwaarde

Retourwaarde

De locatie van de eerste set bit.

firstbitlow

Hiermee wordt de locatie van de eerste set bit in _X, beginnend met de laagste-order bit en naar de hoogste-order bit gewerkt.

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

Parameters

_X
Integerwaarde

Retourwaarde

Retourneert de locatie van de eerste set bit.

get_buffer

Haal de Direct3D-bufferinterface op die onder de opgegeven matrix ligt.

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

Parameters

value_type
Het type elementen in de matrix.

_Rank
De rang van de matrix.

_Array
Een matrix op een Direct3D-accelerator_view waarvoor de onderliggende Direct3D-bufferinterface wordt geretourneerd.

Retourwaarde

De IUnknown-interfaceaanwijzer die overeenkomt met de Direct3D-buffer die onder de matrix ligt.

get_device

Haal de D3D-apparaatinterface op onder een accelerator_view.

IUnknown* get_device(const accelerator_view Av);

Parameters

Av-
De D3D-accelerator_view waarvoor de onderliggende D3D-apparaatinterface wordt geretourneerd.

Retourwaarde

De IUnknown interfacepointer van het D3D-apparaat onder de accelerator_view.

imax

Bepaal de maximum numerieke waarde van de argumenten.

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

Parameters

_X
Integerwaarde

_Y
Integerwaarde

Retourwaarde

Retourneert de maximum numerieke waarde van de argumenten.

imin

Bepaal de minimum numerieke waarde van de argumenten.

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

Parameters

_X
Integerwaarde

_Y
Integerwaarde

Retourwaarde

Retourneert de minimale numerieke waarde van de argumenten.

is_timeout_disabled

Retourneert een Booleaanse vlag die aangeeft of time-out is uitgeschakeld voor de opgegeven accelerator_view. Dit komt overeen met de vlag D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT voor het maken van direct3D-apparaten.

bool __cdecl is_timeout_disabled(const accelerator_view& _Accelerator_view);

Parameters

_Accelerator_view
De accelerator_view waarvoor de instelling time-out is uitgeschakeld, moet worden opgevraagd.

Retourwaarde

Een booleaanse vlag die aangeeft of time-out is uitgeschakeld voor de opgegeven accelerator_view.

gek

Berekent het product van het eerste en tweede opgegeven argument en voegt vervolgens het derde opgegeven argument toe.

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

Parameters

_X
Het eerste opgegeven argument.

_Y
Het tweede opgegeven argument.

_Z
Het derde opgegeven argument.

Retourwaarde

Het resultaat van _X * _Y + _Z.

make_array

Maak een matrix op basis van een Direct3D-bufferinterfaceaanwijzer.

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

Parameters

value_type
Het elementtype van de matrix dat moet worden gemaakt.

_Rank
De rang van de matrix die moet worden gemaakt.

_Extent
Een mate waarin de vorm van de matrixaggregaties wordt beschreven.

_Rv
Een D3D-acceleratorweergave waarop de matrix moet worden gemaakt.

_D3D_buffer
IUnknown interface pointer van de D3D-buffer om de matrix te maken.

Retourwaarde

Een matrix die is gemaakt met behulp van de opgegeven Direct3D-buffer.

lawaai

Genereert een willekeurige waarde met behulp van het Perlin-ruisalgoritme.

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

Parameters

_X
Drijvendekommage-waarde waaruit perlin-ruis moet worden gegenereerd.

Retourwaarde

Retourneert de Perlin-ruiswaarde binnen een bereik tussen -1 en 1.

Radialen

Converteert _X van graden naar radialen.

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

Parameters

_X
Drijvende-kommawaarde

Retourwaarde

Retourneert _X geconverteerd van graden naar radialen.

Rcp

Berekent de wederkerigheid van het opgegeven argument met behulp van een snelle benadering.

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

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

Parameters

_X
De waarde waarvoor de wederkerigheid moet worden berekend.

Retourwaarde

De wederkerigheid van het opgegeven argument.

reversebits

Hiermee wordt de volgorde van de bits in _Xomgekeerd.

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

Parameters

_X
Niet-ondertekende geheel getalwaarde

Retourwaarde

Retourneert de waarde met de bitvolgorde omgekeerd in _X.

verzadigen

Klemmen _X binnen het bereik van 0 tot 1.

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

Parameters

_X
Drijvende-kommawaarde

Retourwaarde

Retourneert _X vastgeklemd binnen het bereik van 0 tot 1.

teken

Bepaalt het teken van het opgegeven argument.

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

Parameters

_X
Integerwaarde

Retourwaarde

Het teken van het argument.

smoothstep

Retourneert een soepele hermiteinterpolatie tussen 0 en 1, als _X zich in het bereik bevindt [_Min, _Max].

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

Parameters

_Min
Drijvende-kommawaarde

_Max
Drijvende-kommawaarde

_X
Drijvende-kommawaarde

Retourwaarde

Retourneert 0 als _X kleiner is dan _Min; 1 indien _X groter is dan _Max; anders valt een waarde tussen 0 en 1 als _X zich in het bereik [_Min, _Max].

stap

Vergelijkt twee waarden, waarbij 0 of 1 wordt geretourneerd op basis van welke waarde groter is.

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

Parameters

_Y
Drijvende-kommawaarde

_X
Drijvende-kommawaarde

Retourwaarde

Geeft als resultaat 1 als de _X groter is dan of gelijk is aan _Y; anders, 0.

umax

Bepaal de maximum numerieke waarde van de argumenten.

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

Parameters

_X
Integerwaarde

_Y
Integerwaarde

Retourwaarde

Retourneert de maximum numerieke waarde van de argumenten.

umin

Bepaal de minimum numerieke waarde van de argumenten.

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

Parameters

_X
Integerwaarde

_Y
Integerwaarde

Retourwaarde

Retourneert de minimale numerieke waarde van de argumenten.

Zie ook

gelijktijdigheid::d irect3d-naamruimte