STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Macros | Enumerations | Functions
amp_graphics.h File Reference
#include <amp_short_vectors.h>
#include <array>
#include <dxgiformat.h>
#include <sstream>

Go to the source code of this file.

Classes

struct  Concurrency::graphics::details::_Short_vector_type_traits< _Ty >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< unsigned int >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< uint_2 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< uint_3 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< uint_4 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< int >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< int_2 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< int_3 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< int_4 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< float >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< float_2 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< float_3 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< float_4 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< unorm >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< unorm_2 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< unorm_3 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< unorm_4 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< norm >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< norm_2 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< norm_3 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< norm_4 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< double >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< double_2 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< double_3 >
 
struct  Concurrency::graphics::details::_Short_vector_type_traits< double_4 >
 
class  Concurrency::graphics::details::_Texture_base< _Value_type, _Rank >
 
class  Concurrency::graphics::details::_Texture_base< _Value_type, _Rank >
 
struct  Concurrency::graphics::details::_Is_iterator< _Iterator >
 
class  Concurrency::graphics::texture< _Value_type, _Rank >
 A texture is a data aggregate on an accelerator_view in the extent domain. It is a collection of variables, one for each element in an extent domain. Each variable holds a value corresponding to C++ primitive type (unsigned int, int, float, double), or scalar type norm, or unorm (defined in concurrency::graphics), or eligible short vector types defined in concurrency::graphics. More...
 
class  Concurrency::graphics::writeonly_texture_view< _Value_type, _Rank >
 
class  Concurrency::graphics::texture_view< _Value_type, _Rank >
 A texture_view provides read and write access to a texture. Note that currently texture_view can only be used to read textures whose value type is int, unsigned int and float with default 32 bit bpse. To read other texture formats, use texture_view<const _Value_type, _Rank>. More...
 
class  Concurrency::graphics::texture< _Value_type, _Rank >
 A texture is a data aggregate on an accelerator_view in the extent domain. It is a collection of variables, one for each element in an extent domain. Each variable holds a value corresponding to C++ primitive type (unsigned int, int, float, double), or scalar type norm, or unorm (defined in concurrency::graphics), or eligible short vector types defined in concurrency::graphics. More...
 
class  Concurrency::graphics::texture_view< _Value_type, _Rank >
 A texture_view provides read and write access to a texture. Note that currently texture_view can only be used to read textures whose value type is int, unsigned int and float with default 32 bit bpse. To read other texture formats, use texture_view<const _Value_type, _Rank>. More...
 
class  Concurrency::graphics::sampler
 A sampler class aggregates sampling configuration information to be used for texture sampling. More...
 
class  Concurrency::graphics::texture_view< const _Value_type, _Rank >
 A texture_view<const _Value_type, _Rank> provides read-only access and sampling capability to a texture. More...
 
struct  Concurrency::graphics::details::texture_traits< T >
 
struct  Concurrency::graphics::details::texture_traits< texture< _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< const texture< _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< writeonly_texture_view< _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< const writeonly_texture_view< _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< texture_view< _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< texture_view< const _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< const texture_view< const _Value_type, _Rank > >
 
struct  Concurrency::graphics::details::texture_traits< const texture_view< _Value_type, _Rank > >
 

Namespaces

 Concurrency
 The Concurrency namespace provides classes and functions that provide access to the Concurrency Runtime, a concurrent programming framework for C++. For more information, see Concurrency Runtime.
 
 Concurrency::graphics
 
 Concurrency::graphics::details
 
 Concurrency::graphics::direct3d
 

Macros

#define _AMP_GRAPHICS_H
 

Enumerations

enum  Concurrency::graphics::filter_mode { Concurrency::graphics::filter_point = 0, Concurrency::graphics::filter_linear = 0x15, Concurrency::graphics::filter_unknown = 0xFFFFFFFF }
 filter modes supported for texture sampling More...
 
enum  Concurrency::graphics::address_mode {
  Concurrency::graphics::address_wrap = 1, Concurrency::graphics::address_mirror = 2, Concurrency::graphics::address_clamp = 3, Concurrency::graphics::address_border = 4,
  Concurrency::graphics::address_unknown = 0xFFFFFFFF
}
 address modes supported for texture sampling More...
 

Functions

template<typename _Short_vector_type >
unsigned int Concurrency::graphics::details::_Get_default_bits_per_scalar_element ()
 
template<int _Rank>
std::array< size_t, 3 > Concurrency::graphics::details::_Get_dimensions (const Concurrency::extent< _Rank > &_Ext, unsigned int _Mip_offset)
 
template<int _Rank>
std::array< size_t, 3 > Concurrency::graphics::details::_Get_indices (const index< _Rank > &_Idx)
 
template<int _Rank>
Concurrency::extent< _Rank > Concurrency::graphics::details::_Create_extent (size_t _Width, size_t _Height, size_t _Depth)
 
template<typename _Value_type , int _Rank>
_Event Concurrency::graphics::details::_Copy_async_impl (const void *_Src, unsigned int _Src_byte_size, const _Texture_base< _Value_type, _Rank > &_Dst, const index< _Rank > &_Offset, const Concurrency::extent< _Rank > &_Copy_extent)
 
template<typename OutputIterator , typename _Value_type , int _Rank>
_Event Concurrency::graphics::details::_Copy_async_impl (const _Texture_base< _Value_type, _Rank > &_Src, OutputIterator _Dest_iter)
 
template<typename _Value_type , int _Rank>
_Event Concurrency::graphics::details::_Copy_async_impl (const _Texture_base< _Value_type, _Rank > &_Src, const index< _Rank > &_Src_offset, const _Texture_base< _Value_type, _Rank > &_Dst, const index< _Rank > &_Dst_offset, const extent< _Rank > &_Copy_extent)
 
void Concurrency::graphics::details::_Is_valid_data_length (unsigned int _Num_elems, unsigned int _Bits_per_elem)
 
template<typename _Value_type , int _Rank>
texture< _Value_type, _Rank > Concurrency::graphics::direct3d::make_texture (const Concurrency::accelerator_view &_Av, _In_ IUnknown *_D3D_texture, DXGI_FORMAT _View_format) __CPU_ONLY
 Create an texture from a D3D texture interface pointer, optionally using the specified DXGI format for all views on this texture. More...
 
sampler Concurrency::graphics::direct3d::make_sampler (_In_ IUnknown *_D3D_sampler) __CPU_ONLY
 Create a sampler from a D3D sampler state interface pointer. More...
 
_Ret_ IUnknown * Concurrency::graphics::direct3d::get_sampler (const Concurrency::accelerator_view &_Av, const sampler &_Sampler) __CPU_ONLY
 Get the D3D sampler state interface on the given accelerator view that represents the specified sampler object. More...
 
template<typename _Value_type , int _Rank>
class Concurrency::graphics::__declspec (deprecated("writeonly_texture_view is deprecated. Please use texture_view instead.")) writeonly_texture_view
 A writeonly_texture_view provides writeonly access to a texture. More...
 
template<typename _Value_type , int _Rank>
unsigned int Concurrency::graphics::details::_Get_section_size (const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
 
template<typename _Input_iterator , typename _Value_type >
_Event Concurrency::graphics::details::_Copy_async_impl (_Input_iterator _First, _Input_iterator _Last, _In_ _Texture *_Dst, const size_t *_Dst_offset, unsigned int _Dst_mipmap_level, const size_t *_Copy_extent, const size_t *_Preferred_copy_chunk_extent=NULL)
 
template<typename _Output_iterator , typename _Value_type >
_Event Concurrency::graphics::details::_Copy_async_impl (_Texture *_Tex, const size_t *_Tex_offset, unsigned int _Src_mipmap_level, const size_t *_Copy_extent, _Output_iterator _First, const size_t *_Preferred_copy_chunk_extent=NULL)
 
template<typename _Value_type , int _Rank>
_Event Concurrency::graphics::details::_Copy_async_impl (const _Texture_base< _Value_type, _Rank > &_Src, const index< _Rank > &_Src_offset, const extent< _Rank > &_Copy_extent, _Out_ void *_Dst, unsigned int _Dst_byte_size)
 
template<typename _Output_iterator , typename _Value_type , int _Rank>
_Event Concurrency::graphics::details::_Copy_async_impl (const _Texture_base< _Value_type, _Rank > &_Src, const index< _Rank > &_Src_offset, const extent< _Rank > &_Copy_extent, _Output_iterator _Dest_iter)
 
template<typename _Input_iterator , typename _Value_type , int _Rank>
_Event Concurrency::graphics::details::_Copy_async_impl (_Input_iterator _First, _Input_iterator _Last, const _Texture_base< _Value_type, _Rank > &_Dst, const index< _Rank > &_Dst_offset, const extent< _Rank > &_Copy_extent)
 
template<typename _Src_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture, void>::type>
void Concurrency::graphics::copy (const _Src_type &_Src, _Out_ void *_Dst, unsigned int _Dst_byte_size)
 Copies the contents of the source texture into the destination host buffer. More...
 
template<typename _Src_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture, void>::type>
void Concurrency::graphics::copy (const _Src_type &_Src, const index< _Src_type::rank > &_Src_offset, const extent< _Src_type::rank > &_Copy_extent, _Out_ void *_Dst, unsigned int _Dst_byte_size)
 Copies the contents of a section of the source texture into the destination host buffer. More...
 
template<typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
void Concurrency::graphics::copy (const void *_Src, unsigned int _Src_byte_size, _Dst_type &_Dst)
 Copies the contents of the source host buffer into the destination texture _Dst. More...
 
template<typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
void Concurrency::graphics::copy (const void *_Src, unsigned int _Src_byte_size, _Dst_type &_Dst, const index< _Dst_type::rank > &_Dst_offset, const extent< _Dst_type::rank > &_Copy_extent)
 Copies the contents of the source host buffer into a section of the destination texture _Dst. More...
 
template<typename _Src_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (const _Src_type &_Src, _Out_ void *_Dst, unsigned int _Dst_byte_size)
 Asynchronously copies the contents of the source texture into the destination host buffer. More...
 
template<typename _Src_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (const _Src_type &_Src, const index< _Src_type::rank > &_Src_offset, const extent< _Src_type::rank > &_Copy_extent, _Out_ void *_Dst, unsigned int _Dst_byte_size)
 Asynchronously copies the contents of the provided section of the source texture into the destination host buffer. More...
 
template<typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (const void *_Src, unsigned int _Src_byte_size, _Dst_type &_Dst)
 Asynchronously copies the contents of the source host buffer into the destination texture _Dst. More...
 
template<typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (const void *_Src, unsigned int _Src_byte_size, _Dst_type &_Dst, const index< _Dst_type::rank > &_Dst_offset, const extent< _Dst_type::rank > &_Copy_extent)
 Asynchronously copies the contents of the source host buffer into a section of the destination texture _Dst. More...
 
template<typename InputIterator , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
void Concurrency::graphics::copy (InputIterator _First, InputIterator _Last, _Dst_type &_Dst)
 Copies data from the pair of source iterators into the destination texture _Dst. More...
 
template<typename InputIterator , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
void Concurrency::graphics::copy (InputIterator _First, InputIterator _Last, _Dst_type &_Dst, const index< _Dst_type::rank > &_Dst_offset, const extent< _Dst_type::rank > &_Copy_extent)
 Copies data from the pair of source iterators into a section of the destination texture _Dst. More...
 
template<typename _Src_type , typename OutputIterator , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && !details::texture_traits<OutputIterator>::is_texture, void>::type>
void Concurrency::graphics::copy (const _Src_type &_Src, OutputIterator _Dst)
 Copies data from the source texture _Src into an output iterator. More...
 
template<typename _Src_type , typename OutputIterator , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && !details::texture_traits<OutputIterator>::is_texture, void>::type>
void Concurrency::graphics::copy (const _Src_type &_Src, const index< _Src_type::rank > &_Src_offset, const extent< _Src_type::rank > &_Copy_extent, OutputIterator _Dst)
 Copies data from a section of the source texture _Src into an output iterator. More...
 
template<typename _Src_type , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && details::texture_traits<_Dst_type>::is_texture, void>::type>
void Concurrency::graphics::copy (const _Src_type &_Src, _Dst_type &_Dst)
 Copies data from the source texture _Src into the destination texture _Dst. More...
 
template<typename _Src_type , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && details::texture_traits<_Dst_type>::is_texture, void>::type>
void Concurrency::graphics::copy (const _Src_type &_Src, const index< _Src_type::rank > &_Src_offset, _Dst_type &_Dst, const index< _Dst_type::rank > &_Dst_offset, const extent< _Src_type::rank > &_Copy_extent)
 Copies data from a section of the source texture _Src into a section of the destination texture _Dst. More...
 
template<typename InputIterator , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (InputIterator _First, InputIterator _Last, _Dst_type &_Dst)
 Asynchronously copies data from the pair of source iterators into the destination texture _Dst. More...
 
template<typename InputIterator , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Dst_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (InputIterator _First, InputIterator _Last, _Dst_type &_Dst, const index< _Dst_type::rank > &_Dst_offset, const extent< _Dst_type::rank > &_Copy_extent)
 Asynchronously copies data from the pair of source iterators into a section of the destination texture _Dst. More...
 
template<typename _Src_type , typename OutputIterator , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && !details::texture_traits<OutputIterator>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (_Src_type &_Src, OutputIterator _Dst)
 Asynchronously copies data from the source texture _Src into an output iterator. More...
 
template<typename _Src_type , typename OutputIterator , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && !details::texture_traits<OutputIterator>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (_Src_type &_Src, const index< _Src_type::rank > &_Src_offset, const extent< _Src_type::rank > &_Copy_extent, OutputIterator _Dst)
 Asynchronously copies data from a section of the source texture _Src into an output iterator. More...
 
template<typename _Src_type , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && details::texture_traits<_Dst_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (_Src_type &_Src, _Dst_type &_Dst)
 Asynchronously copies data from the source texture _Src into the destination texture _Dst. More...
 
template<typename _Src_type , typename _Dst_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture && details::texture_traits<_Dst_type>::is_texture, void>::type>
concurrency::completion_future Concurrency::graphics::copy_async (_Src_type &_Src, const index< _Src_type::rank > &_Src_offset, _Dst_type &_Dst, const index< _Dst_type::rank > &_Dst_offset, const extent< _Src_type::rank > &_Copy_extent)
 Asynchronously copies data from a section of the source texture _Src into the destination texture _Dst. More...
 
template<int _Rank>
Concurrency::extent< _Rank > Concurrency::graphics::details::_Make_texture (const Concurrency::accelerator_view &_Av, _In_ IUnknown *_D3D_texture, _Texture_base_type_id _Id, _Inout_ _Texture **_Tex, DXGI_FORMAT _View_format) __CPU_ONLY
 
template<typename _Value_type , int _Rank>
_Ret_ IUnknown * Concurrency::graphics::direct3d::get_texture (const texture< _Value_type, _Rank > &_Texture) __CPU_ONLY
 Get the D3D texture interface underlying a texture. More...
 
template<typename _Value_type , int _Rank>
_Ret_ IUnknown * Concurrency::graphics::direct3d::get_texture (const writeonly_texture_view< _Value_type, _Rank > &_Texture) __CPU_ONLY
 Get the D3D texture interface underlying a texture viewed by a writeonly_texture_view. More...
 
template<typename _Value_type , int _Rank>
_Ret_ IUnknown * Concurrency::graphics::direct3d::get_texture (const texture_view< _Value_type, _Rank > &_Texture) __CPU_ONLY
 Get the D3D texture interface underlying a texture viewed by a texture_view. More...
 
uint4 Concurrency::graphics::direct3d::msad4 (uint _Reference, uint2 _Source, uint4 _Accum) __GPU_ONLY
 Compares a 4-byte reference value and an 8-byte source value and accumulates a vector of 4 sums. Each sum corresponds to the masked sum of absolute differences of different byte alignments between the reference value and the source value. More...
 

Macro Definition Documentation

#define _AMP_GRAPHICS_H