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

See also

Concurrency Namespace (C++ AMP)