Concurrency::direct3d Namespace
The direct3d
namespace provides functions that support D3D interoperability. It lets you use D3D resources for compute in AMP code. It also allows use of resources created in AMP in D3D code, without creating redundant intermediate copies. You can incrementally accelerate the compute intensive sections of your DirectX applications by using C++ AMP, and use the D3D API on data produced from AMP computations.
Syntax
namespace direct3d;
Members
Classes
Name | Description |
---|---|
scoped_d3d_access_lock Class | An RAII wrapper for a D3D access lock on an accelerator_view object. |
Structures
Name | Description |
---|---|
adopt_d3d_access_lock_t Structure | Tag type to indicate the D3D access lock should be adopted rather than acquired. |
Functions
Name | Description |
---|---|
abs | Returns the absolute value of the argument |
clamp | Overloaded. Clamps _X to the specified _Min and _Max range |
countbits | Counts the number of set bits in _X |
create_accelerator_view | Creates an accelerator_view Class from a pointer to a Direct3D device interface |
d3d_access_lock | Acquires a lock on an accelerator_view to safely perform D3D operations on resources shared with the accelerator_view |
d3d_access_try_lock | Attempt to acquire the D3D access lock on an accelerator_view without blocking. |
d3d_access_unlock | Release the D3D access lock on the given accelerator_view. |
firstbithigh | Gets the location of the first set bit in _X, starting from the highest order bit and working downward |
firstbitlow | Gets the location of the first set bit in _X, starting from the lowest order bit and working upward |
get_buffer | Get the D3D buffer interface underlying an array. |
imax | Compares two values, returning the value that's greater. |
imin | Compares two values, returning the value that's smaller. |
is_timeout_disabled | Returns a boolean flag indicating if timeout is disabled for the specified accelerator_view. |
mad | Overloaded. Performs an arithmetic multiply/add operation on three arguments: _X * _Y + _Z |
make_array | Create an array from a D3D buffer interface pointer. |
noise | Generates a random value by using the Perlin noise algorithm |
radians | Converts _X from degrees to radians |
rcp | Calculates a fast, approximate reciprocal of the argument |
reversebits | Reverses the order of the bits in _X |
saturate | Clamps _X within the range of 0 to 1 |
sign | Overloaded. Returns the sign of the argument |
smoothstep | Returns a smooth Hermite interpolation between 0 and 1, if _X is in the range [_Min, _Max]. |
step | Compares two values, returning 0 or 1 based on which value is greater |
umax | Compares two unsigned values, returning the value that's greater. |
umin | Compares two unsigned values, returning the value that's smaller. |
Requirements
Header: amp.h
Namespace: Concurrency