Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.