Concurrency::direct3d 네임스페이스 함수(AMP)
요구 사항
헤더: amp.h 네임스페이스: 동시성
abs
인수의 절대값을 반환합니다.
inline int abs(int _X) restrict(amp);
매개 변수
_X
정수 값
Return Value
인수의 절대값을 반환합니다.
clamp
두 번째 및 세 번째 지정된 인수로 정의된 범위로 고정된 첫 번째 지정된 인수의 값을 계산합니다.
inline float clamp(
float _X,
float _Min,
float _Max) restrict(amp);
inline int clamp(
int _X,
int _Min,
int _Max) restrict(amp);
매개 변수
_X
고정할 값입니다.
_분
클램핑 범위의 하한입니다.
_최대
클램핑 범위의 상한입니다.
Return Value
의 고정된 값입니다 _X
.
countbits
_X 설정된 비트 수를 계산합니다.
inline unsigned int countbits(unsigned int _X) restrict(amp);
매개 변수
_X
부호 없는 정수 값
Return Value
_X 설정된 비트 수를 반환합니다.
create_accelerator_view
Direct3D 디바이스 인터페이스에 대한 포인터에서 accelerator_view 개체를 만듭니다.
구문
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);
매개 변수
_가속기
새 accelerator_view 만들 가속기입니다.
_D3D_device
Direct3D 디바이스 인터페이스에 대한 포인터입니다.
_Disable_timeout
새로 만든 accelerator_view 시간 제한을 사용하지 않도록 설정할지 여부를 지정하는 부울 매개 변수입니다. 이는 Direct3D 디바이스를 만들기 위한 D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT 플래그에 해당하며, 운영 체제에서 Windows 시간 제한 검색 및 복구 메커니즘에 따라 디바이스를 다시 설정하지 않고 2초 이상 걸리는 워크로드를 실행할 수 있도록 허용해야 하는지 여부를 나타내는 데 사용됩니다. accelerator_view 시간이 많이 걸리는 작업을 수행해야 하는 경우 이 플래그를 사용하는 것이 좋습니다.
_Qmode
새로 만든 accelerator_view 사용할 queuing_mode. 이 매개 변수의 기본값은 .입니다 queuing_mode_automatic
.
Return Value
accelerator_view
전달된 Direct3D 디바이스 인터페이스에서 만든 개체입니다.
설명
이 함수는 기존 포인터에서 Direct3D 디바이스 인터페이스에 대한 새 accelerator_view
개체를 만듭니다. 함수 호출이 성공하면 인터페이스 호출을 통해 매개 변수의 AddRef
참조 수가 증가합니다. DirectX 코드에서 더 이상 필요하지 않은 경우 개체를 안전하게 해제할 수 있습니다. 메서드 호출이 실패 하면 runtime_exception throw됩니다.
이 accelerator_view
함수를 사용하여 만드는 개체는 스레드로부터 안전합니다. 개체의 accelerator_view
동시 사용을 동기화해야 합니다. 개체와 원시 ID3D11Device 인터페이스의 accelerator_view
비동기화 동시 사용으로 인해 정의되지 않은 동작이 발생합니다.
C++ AMP 런타임은 플래그를 사용하는 경우 D3D 디버그 계층을 사용하여 디버그 모드에서 D3D11_CREATE_DEVICE_DEBUG
자세한 오류 정보를 제공합니다.
d3d_access_lock
accelerator_view 공유된 리소스에서 D3D 작업을 안전하게 수행하기 위해 accelerator_view 잠금을 획득합니다. 이 accelerator_view 연결된 accelerator_view 및 모든 C++ AMP 리소스는 작업을 수행할 때 내부적으로 이 잠금을 사용하고 다른 스레드가 D3D 액세스 잠금을 보유하는 동안 차단됩니다. 이 잠금은 재귀적이지 않습니다. 이미 잠금을 보유하고 있는 스레드에서 이 함수를 호출하는 것은 정의되지 않은 동작입니다. accelerator_view 또는 D3D 액세스 잠금을 보유하는 스레드의 accelerator_view 연결된 데이터 컨테이너에 대한 작업을 수행하는 것은 정의되지 않은 동작입니다. 범위 기반 D3D 액세스 잠금에 대한 RAII 스타일 클래스인 scoped_d3d_access_lock 참조하세요.
void __cdecl d3d_access_lock(accelerator_view& _Av);
매개 변수
_Av
잠글 accelerator_view.
d3d_access_try_lock
차단 없이 accelerator_view D3D 액세스 잠금을 획득하려고 시도합니다.
bool __cdecl d3d_access_try_lock(accelerator_view& _Av);
매개 변수
_Av
잠글 accelerator_view.
Return Value
잠금을 획득한 경우 true이고, 현재 다른 스레드에서 잠금을 보유하고 있는 경우 false입니다.
d3d_access_unlock
지정된 accelerator_view D3D 액세스 잠금을 해제합니다. 호출 스레드가 accelerator_view 잠금을 유지하지 않으면 결과가 정의되지 않습니다.
void __cdecl d3d_access_unlock(accelerator_view& _Av);
매개 변수
_Av
잠금을 해제할 accelerator_view.
firstbithigh
_X 첫 번째 집합 비트의 위치를 가져오며, 가장 높은 순서 비트에서 시작하여 가장 낮은 순서 비트로 이동합니다.
inline int firstbithigh(int _X) restrict(amp);
매개 변수
_X
정수 값
Return Value
첫 번째 집합 비트의 위치
firstbitlow
_X 첫 번째 집합 비트의 위치를 가져오며, 가장 낮은 순서 비트에서 시작하여 가장 높은 순서의 비트로 작업합니다.
inline int firstbitlow(int _X) restrict(amp);
매개 변수
_X
정수 값
Return Value
첫 번째 집합 비트의 위치를 반환합니다.
get_buffer
지정된 배열의 기본이 되는 Direct3D 버퍼 인터페이스를 가져옵니다.
template<
typename value_type,
int _Rank
>
IUnknown *get_buffer(
const array<value_type, _Rank>& _Array) ;
매개 변수
value_type
배열 요소의 형식입니다.
_Rank
배열의 순위입니다.
_Array
기본 Direct3D 버퍼 인터페이스가 반환되는 Direct3D accelerator_view 배열입니다.
Return Value
배열의 기본이 되는 Direct3D 버퍼에 해당하는 IUnknown 인터페이스 포인터입니다.
get_device
accelerator_view 기본 D3D 디바이스 인터페이스를 가져옵니다.
IUnknown* get_device(const accelerator_view Av);
매개 변수
Av
기본 D3D 디바이스 인터페이스가 반환되는 D3D accelerator_view.
반환 값
IUnknown
accelerator_view 기본 D3D 디바이스의 인터페이스 포인터입니다.
imax
인수의 최대 숫자 값 결정
inline int imax(
int _X,
int _Y) restrict(amp);
매개 변수
_X
정수 값
_Y
정수 값
Return Value
인수의 최대 숫자 값을 반환합니다.
imin
인수의 최소 숫자 값 결정
inline int imin(
int _X,
int _Y) restrict(amp);
매개 변수
_X
정수 값
_Y
정수 값
Return Value
인수의 최소 숫자 값을 반환합니다.
is_timeout_disabled
지정된 accelerator_view 시간 제한을 사용하지 않도록 설정했는지 여부를 나타내는 부울 플래그를 반환합니다. Direct3D 디바이스를 만들기 위한 D3D11_CREATE_DEVICE_DISABLE_GPU_TIMEOUT 플래그에 해당합니다.
bool __cdecl is_timeout_disabled(const accelerator_view& _Accelerator_view);
매개 변수
_Accelerator_view
시간 제한 사용 안 함 설정을 쿼리할 accelerator_view.
Return Value
지정된 accelerator_view 대해 시간 제한이 비활성화되었는지 여부를 나타내는 부울 플래그입니다.
mad
지정한 첫 번째 인수와 두 번째 인수의 곱을 계산한 다음, 지정된 세 번째 인수를 추가합니다.
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);
매개 변수
_X
지정한 첫 번째 인수입니다.
_Y
지정된 두 번째 인수입니다.
_Z
지정된 세 번째 인수입니다.
Return Value
_X
* _Y
+ _Z
의 결과입니다.
make_array
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) ;
매개 변수
value_type
만들 배열의 요소 형식입니다.
_Rank
만들 배열의 순위입니다.
_범위
배열 집계의 모양을 설명하는 익스텐트입니다.
_Rv
배열을 만들 D3D 가속기 뷰입니다.
_D3D_buffer
배열을 만들 D3D 버퍼의 IUnknown 인터페이스 포인터입니다.
Return Value
제공된 Direct3D 버퍼를 사용하여 만든 배열입니다.
노이즈
Perlin 노이즈 알고리즘을 사용하여 임의의 값을 생성합니다.
inline float noise(float _X) restrict(amp);
매개 변수
_X
Perlin 노이즈를 생성하는 부동 소수점 값
Return Value
-1과 1 사이의 범위 내에서 Perlin 노이즈 값을 반환합니다.
radians
_X 도에서 라디안으로 변환합니다.
inline float radians(float _X) restrict(amp);
매개 변수
_X
부동 소수점 값
Return Value
각도에서 라디안으로 변환한 _X를 반환합니다.
rcp
빠른 근사치를 사용하여 지정된 인수의 상호 계산합니다.
inline float rcp(float _X) restrict(amp);
inline double rcp(double _X) restrict(amp);
매개 변수
_X
상호 계산할 값입니다.
Return Value
지정된 인수의 역수입니다.
reversebits
_X 비트의 순서를 반대로 바뀝니다.
inline unsigned int reversebits(unsigned int _X) restrict(amp);
매개 변수
_X
부호 없는 정수 값
Return Value
_X의 반대로 바뀐 비트 순서 값을 반환합니다.
saturate
0에서 1까지의 범위 내에서 _X 클램프
inline float saturate(float _X) restrict(amp);
매개 변수
_X
부동 소수점 값
Return Value
0 - 1의 범위 내로 제한된 _X를 반환합니다.
sign
지정된 인수의 부호를 결정합니다.
inline int sign(int _X) restrict(amp);
매개 변수
_X
정수 값
Return Value
인수의 부호입니다.
smoothstep
_X [_Min, _Max] 범위에 있는 경우 0에서 1 사이의 부드러운 Hermite 보간을 반환합니다.
inline float smoothstep(
float _Min,
float _Max,
float _X) restrict(amp);
매개 변수
_분
부동 소수점 값
_최대
부동 소수점 값
_X
부동 소수점 값
Return Value
_X가 _Min보다 작은 경우 0을, _X가 _Max보다 큰 경우 1을 반환합니다. 그렇지 않으면, _X가 [_Min, _Max] 범위에 있는 경우 0과 1 사이의 값입니다.
step
값이 더 큰 값을 기준으로 0 또는 1을 반환하는 두 값을 비교합니다.
inline float step(
float _Y,
float _X) restrict(amp);
매개 변수
_Y
부동 소수점 값
_X
부동 소수점 값
Return Value
_X가 _Y보다 큰 경우 1을 반환합니다. 그렇지 않으면, 0을 반환합니다.
umax
인수의 최대 숫자 값 결정
inline unsigned int umax(
unsigned int _X,
unsigned int _Y) restrict(amp);
매개 변수
_X
정수 값
_Y
정수 값
Return Value
인수의 최대 숫자 값을 반환합니다.
umin
인수의 최소 숫자 값 결정
inline unsigned int umin(
unsigned int _X,
unsigned int _Y) restrict(amp);
매개 변수
_X
정수 값
_Y
정수 값
Return Value
인수의 최소 숫자 값을 반환합니다.