Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Krav
rubrik: amp.h
namnområde: Samtidighet
magmuskler
Returnerar argumentets absoluta värde.
inline int abs(int _X) restrict(amp);
Parametrar
_X
Heltalsvärde
Returvärde
Returnerar argumentets absoluta värde.
klämma
Beräknar värdet för det första angivna argumentet som är fastklämt till ett intervall som definieras av de andra och tredje angivna argumenten.
inline float clamp(
float _X,
float _Min,
float _Max) restrict(amp);
inline int clamp(
int _X,
int _Min,
int _Max) restrict(amp);
Parametrar
_X
Värdet som ska spännas fast.
_Min
Fastspänningsområdets nedre gräns.
_Max
Fastspänningsintervallets övre gräns.
Returvärde
Det klämda värdet för _X.
countbits
Räknar antalet angivna bitar i _X.
inline unsigned int countbits(unsigned int _X) restrict(amp);
Parametrar
_X
Osignerat heltalsvärde
Returvärde
Returnerar antalet angivna bitar i _X.
create_accelerator_view
Skapar ett accelerator_view objekt från en pekare till ett Direct3D-enhetsgränssnitt.
Syntax
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);
Parametrar
_Accelerator
Den accelerator som den nya accelerator_view ska skapas på.
_D3D_device
Pekaren till Direct3D-enhetsgränssnittet.
_Disable_timeout
En boolesk parameter som anger om tidsgränsen ska inaktiveras för den nyligen skapade accelerator_view. Detta motsvarar flaggan D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT för att skapa Direct3D-enheter och används för att ange om operativsystemet ska tillåta arbetsbelastningar som tar mer än 2 sekunder att köra utan att återställa enheten enligt mekanismen för identifiering och återställning av Tidsgräns för Windows. Användning av den här flaggan rekommenderas om du behöver utföra tidskrävande uppgifter på accelerator_view.
_Qmode
Den queuing_mode som ska användas för den nyligen skapade accelerator_view. Den här parametern har standardvärdet queuing_mode_automatic.
Returvärde
Det accelerator_view objekt som skapats från det skickade Direct3D-enhetsgränssnittet.
Anmärkningar
Den här funktionen skapar ett nytt accelerator_view-objekt från en befintlig pekare till ett Direct3D-enhetsgränssnitt. Om funktionsanropet lyckas ökas referensantalet för parametern med hjälp av ett AddRef-anrop till gränssnittet. Du kan släppa objektet på ett säkert sätt när det inte längre krävs i DirectX-koden. Om metodanropet misslyckas utlöses en runtime_exception.
Det accelerator_view objekt som du skapar med hjälp av den här funktionen är trådsäkert. Du måste synkronisera samtidig användning av accelerator_view-objektet. Osynkroniserad samtidig användning av accelerator_view-objektet och det råa ID3D11Enhetsgränssnittet orsakar odefinierat beteende.
C++ AMP-körningen innehåller detaljerad felinformation i felsökningsläge med hjälp av D3D-felsökningsskiktet om du använder flaggan D3D11_CREATE_DEVICE_DEBUG.
d3d_access_lock
Skaffa ett lås på en accelerator_view för att på ett säkert sätt utföra D3D-åtgärder på resurser som delas med accelerator_view. De accelerator_view och alla C++ AMP-resurser som är associerade med den här accelerator_view internt ta det här låset när du utför åtgärder och blockeras medan en annan tråd innehåller D3D-åtkomstlåset. Det här låset är icke-rekursivt: Det är odefinierat beteende att anropa den här funktionen från en tråd som redan innehåller låset. Det är odefinierat beteende att utföra åtgärder på accelerator_view eller någon datacontainer som är associerad med accelerator_view från tråden som innehåller D3D-åtkomstlåset. Se även scoped_d3d_access_lock, en RAII-klass för ett omfångsbaserat D3D-åtkomstlås.
void __cdecl d3d_access_lock(accelerator_view& _Av);
Parametrar
_Av
Accelerator_view att låsa.
d3d_access_try_lock
Försök att hämta D3D-åtkomstlåset på en accelerator_view utan att blockera.
bool __cdecl d3d_access_try_lock(accelerator_view& _Av);
Parametrar
_Av
Accelerator_view att låsa.
Returvärde
sant om låset har hämtats eller falskt om det för närvarande innehas av en annan tråd.
d3d_access_unlock
Släpp D3D-åtkomstlåset på den angivna accelerator_view. Om den anropande tråden inte håller låset på accelerator_view är resultatet odefinierat.
void __cdecl d3d_access_unlock(accelerator_view& _Av);
Parametrar
_Av
Den accelerator_view som låset ska släppas för.
firstbithigh
Hämtar platsen för den första angivna biten i _X, som börjar med den högsta biten och går mot den lägsta biten.
inline int firstbithigh(int _X) restrict(amp);
Parametrar
_X
Heltalsvärde
Returvärde
Platsen för den första set-biten.
firstbitlow
Hämtar platsen för den första set-biten i _X, som börjar med den lägsta biten och arbetar mot den högsta ordningen.
inline int firstbitlow(int _X) restrict(amp);
Parametrar
_X
Heltalsvärde
Returvärde
Returnerar platsen för den första angivna biten.
get_buffer
Hämta Direct3D-buffertgränssnittet som ligger bakom den angivna matrisen.
template<
typename value_type,
int _Rank
>
IUnknown *get_buffer(
const array<value_type, _Rank>& _Array);
Parametrar
value_type
Typ av element i matrisen.
_Rank
Matrisens rangordning.
_Array
En matris på en Direct3D-accelerator_view som det underliggande Direct3D-buffertgränssnittet returneras för.
Returvärde
IUnknown-gränssnittspekaren som motsvarar Direct3D-bufferten som ligger bakom matrisen.
get_device
Hämta D3D-enhetsgränssnittet som ligger till grund för en accelerator_view.
IUnknown* get_device(const accelerator_view Av);
Parametrar
Av
D3D-accelerator_view som det underliggande D3D-enhetsgränssnittet returneras för.
Returvärde
Den IUnknown gränssnittspekaren för den D3D-enhet som ligger bakom accelerator_view.
imax
Fastställ det maximala numeriska värdet för argumenten.
inline int imax(
int _X,
int _Y) restrict(amp);
Parametrar
_X
Heltalsvärde
_Y
Heltalsvärde
Returvärde
Returnera det maximala numeriska värdet för argumenten.
imin
Fastställ det minsta numeriska värdet för argumenten.
inline int imin(
int _X,
int _Y) restrict(amp);
Parametrar
_X
Heltalsvärde
_Y
Heltalsvärde
Returvärde
Returnera det minsta numeriska värdet för argumenten.
is_timeout_disabled
Returnerar en boolesk flagga som anger om tidsgränsen är inaktiverad för den angivna accelerator_view. Detta motsvarar flaggan D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT för att skapa Direct3D-enheter.
bool __cdecl is_timeout_disabled(const accelerator_view& _Accelerator_view);
Parametrar
_Accelerator_view
Den accelerator_view som tidsgränsen inaktiverades för ska efterfrågas.
Returvärde
En boolesk flagga som anger om tidsgränsen är inaktiverad för den angivna accelerator_view.
vansinnig
Beräknar produkten för det första och andra angivna argumentet och lägger sedan till det tredje angivna argumentet.
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);
Parametrar
_X
Det första angivna argumentet.
_Y
Det andra angivna argumentet.
_Z
Det tredje angivna argumentet.
Returvärde
Resultatet av _X * _Y + _Z.
make_array
Skapa en matris från en Direct3D-buffertgränssnittspekare.
template<
typename value_type,
int _Rank
>
array<value_type, _Rank> make_array(
const extent<_Rank>& _Extent,
const Concurrency::accelerator_view& _Rv,
IUnknown* _D3D_buffer);
Parametrar
value_type
Elementtypen för matrisen som ska skapas.
_Rank
Rangordningen för matrisen som ska skapas.
_Extent
En omfattning som beskriver matrisaggregatets form.
_Rv
En D3D-acceleratorvy där matrisen ska skapas.
_D3D_buffer
IUnknown-gränssnittspekaren för D3D-bufferten som du vill skapa matrisen från.
Returvärde
En matris som skapats med den angivna Direct3D-bufferten.
buller
Genererar ett slumpmässigt värde med hjälp av Perlin-brusalgoritmen.
inline float noise(float _X) restrict(amp);
Parametrar
_X
Flyttalsvärde som perlinbrus ska genereras från.
Returvärde
Returnerar värdet perlinbrus inom ett intervall mellan -1 och 1.
Radianer
Konverterar _X från grader till radianer.
inline float radians(float _X) restrict(amp);
Parametrar
_X
Flyttalsvärde
Returvärde
Returnerar _X konverteras från grader till radianer.
Rcp
Beräknar reciprocal för det angivna argumentet med hjälp av en snabb uppskattning.
inline float rcp(float _X) restrict(amp);
inline double rcp(double _X) restrict(amp);
Parametrar
_X
Värdet som reciprocal ska beräknas för.
Returvärde
Reciprocal för det angivna argumentet.
reversebits
Ändrar ordningen på bitarna i _X.
inline unsigned int reversebits(unsigned int _X) restrict(amp);
Parametrar
_X
Osignerat heltalsvärde
Returvärde
Returnerar värdet med bitordningen omvänd i _X.
mätta
Klämmor _X inom intervallet 0 till 1.
inline float saturate(float _X) restrict(amp);
Parametrar
_X
Flyttalsvärde
Returvärde
Returnerar _X inom intervallet 0 till 1.
tecken
Avgör tecknet för det angivna argumentet.
inline int sign(int _X) restrict(amp);
Parametrar
_X
Heltalsvärde
Returvärde
Argumentets tecken.
smoothstep
Returnerar en jämn Hermite-interpolation mellan 0 och 1, om _X är inom intervallet [_Min, _Max].
inline float smoothstep(
float _Min,
float _Max,
float _X) restrict(amp);
Parametrar
_Min
Flyttalsvärde
_Max
Flyttalsvärde
_X
Flyttalsvärde
Returvärde
Returnerar 0 om _X är mindre än _Min. 1 om _X är större än _Max; Annars är ett värde mellan 0 och 1 om _X ligger inom intervallet [_Min, _Max].
steg
Jämför två värden och returnerar 0 eller 1 baserat på vilket värde som är större.
inline float step(
float _Y,
float _X) restrict(amp);
Parametrar
_Y
Flyttalsvärde
_X
Flyttalsvärde
Returvärde
Returnerar 1 om _X är större än eller lika med _Y; annars 0.
umax
Fastställ det maximala numeriska värdet för argumenten.
inline unsigned int umax(
unsigned int _X,
unsigned int _Y) restrict(amp);
Parametrar
_X
Heltalsvärde
_Y
Heltalsvärde
Returvärde
Returnera det maximala numeriska värdet för argumenten.
umin
Fastställ det minsta numeriska värdet för argumenten.
inline unsigned int umin(
unsigned int _X,
unsigned int _Y) restrict(amp);
Parametrar
_X
Heltalsvärde
_Y
Heltalsvärde
Returvärde
Returnera det minsta numeriska värdet för argumenten.