STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Namespaces | Classes | Typedefs | Enumerations | Functions
Concurrency::graphics Namespace Reference

Namespaces

 details
 
 direct3d
 

Classes

class  double_2
 Represent a short vector of 2 double's. More...
 
class  double_3
 Represent a short vector of 3 double's. More...
 
class  double_4
 Represent a short vector of 4 double's. More...
 
class  float_2
 Represent a short vector of 2 float's. More...
 
class  float_3
 Represent a short vector of 3 float's. More...
 
class  float_4
 Represent a short vector of 4 float's. More...
 
class  int_2
 Represent a short vector of 2 int's. More...
 
class  int_3
 Represent a short vector of 3 int's. More...
 
class  int_4
 Represent a short vector of 4 int's. More...
 
class  norm
 Represent a norm number. Each element is a floating point number in the range of [-1.0f, 1.0f]. More...
 
class  norm_2
 Represent a short vector of 2 norm's. More...
 
class  norm_3
 Represent a short vector of 3 norm's. More...
 
class  norm_4
 Represent a short vector of 4 norm's. More...
 
class  sampler
 A sampler class aggregates sampling configuration information to be used for texture sampling. More...
 
struct  short_vector
 short_vector provides metaprogramming definitions which are useful for programming short vectors generically. More...
 
struct  short_vector< double, 1 >
 
struct  short_vector< double, 2 >
 
struct  short_vector< double, 3 >
 
struct  short_vector< double, 4 >
 
struct  short_vector< float, 1 >
 
struct  short_vector< float, 2 >
 
struct  short_vector< float, 3 >
 
struct  short_vector< float, 4 >
 
struct  short_vector< int, 1 >
 
struct  short_vector< int, 2 >
 
struct  short_vector< int, 3 >
 
struct  short_vector< int, 4 >
 
struct  short_vector< norm, 1 >
 
struct  short_vector< norm, 2 >
 
struct  short_vector< norm, 3 >
 
struct  short_vector< norm, 4 >
 
struct  short_vector< unorm, 1 >
 
struct  short_vector< unorm, 2 >
 
struct  short_vector< unorm, 3 >
 
struct  short_vector< unorm, 4 >
 
struct  short_vector< unsigned int, 1 >
 
struct  short_vector< unsigned int, 2 >
 
struct  short_vector< unsigned int, 3 >
 
struct  short_vector< unsigned int, 4 >
 
struct  short_vector_traits
 short_vector_traits allows retrival of the underlying vector length and scalar type of a short vector type or a scalar type More...
 
struct  short_vector_traits< double >
 
struct  short_vector_traits< double_2 >
 
struct  short_vector_traits< double_3 >
 
struct  short_vector_traits< double_4 >
 
struct  short_vector_traits< float >
 
struct  short_vector_traits< float_2 >
 
struct  short_vector_traits< float_3 >
 
struct  short_vector_traits< float_4 >
 
struct  short_vector_traits< int >
 
struct  short_vector_traits< int_2 >
 
struct  short_vector_traits< int_3 >
 
struct  short_vector_traits< int_4 >
 
struct  short_vector_traits< norm >
 
struct  short_vector_traits< norm_2 >
 
struct  short_vector_traits< norm_3 >
 
struct  short_vector_traits< norm_4 >
 
struct  short_vector_traits< uint_2 >
 
struct  short_vector_traits< uint_3 >
 
struct  short_vector_traits< uint_4 >
 
struct  short_vector_traits< unorm >
 
struct  short_vector_traits< unorm_2 >
 
struct  short_vector_traits< unorm_3 >
 
struct  short_vector_traits< unorm_4 >
 
struct  short_vector_traits< unsigned int >
 
class  texture
 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  texture_view
 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  texture_view< const _Value_type, _Rank >
 A texture_view<const _Value_type, _Rank> provides read-only access and sampling capability to a texture. More...
 
class  uint_2
 Represent a short vector of 2 unsigned int's. More...
 
class  uint_3
 Represent a short vector of 3 unsigned int's. More...
 
class  uint_4
 Represent a short vector of 4 unsigned int's. More...
 
class  unorm
 Represent a unorm number. Each element is a floating point number in the range of [0.0f, 1.0f]. More...
 
class  unorm_2
 Represent a short vector of 2 unorm's. More...
 
class  unorm_3
 Represent a short vector of 3 unorm's. More...
 
class  unorm_4
 Represent a short vector of 4 unorm's. More...
 
class  writeonly_texture_view
 

Typedefs

typedef unsigned int uint
 

Enumerations

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

Functions

template<typename _Value_type , int _Rank>
class __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 _Src_type , typename = typename std::enable_if<details::texture_traits<_Src_type>::is_texture, void>::type>
void 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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...
 
unorm operator+ (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
norm operator+ (const norm &_Lhs, const norm &_Rhs) __GPU
 
unorm operator- (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
norm operator- (const norm &_Lhs, const norm &_Rhs) __GPU
 
unorm operator* (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
norm operator* (const norm &_Lhs, const norm &_Rhs) __GPU
 
unorm operator/ (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
norm operator/ (const norm &_Lhs, const norm &_Rhs) __GPU
 
bool operator== (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
bool operator== (const norm &_Lhs, const norm &_Rhs) __GPU
 
bool operator!= (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
bool operator!= (const norm &_Lhs, const norm &_Rhs) __GPU
 
bool operator> (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
bool operator> (const norm &_Lhs, const norm &_Rhs) __GPU
 
bool operator< (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
bool operator< (const norm &_Lhs, const norm &_Rhs) __GPU
 
bool operator>= (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
bool operator>= (const norm &_Lhs, const norm &_Rhs) __GPU
 
bool operator<= (const unorm &_Lhs, const unorm &_Rhs) __GPU
 
bool operator<= (const norm &_Lhs, const norm &_Rhs) __GPU
 
uint_2 operator+ (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator- (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator* (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator/ (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
bool operator== (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
bool operator!= (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator% (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator^ (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator| (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator& (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator<< (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_2 operator>> (const uint_2 &_Lhs, const uint_2 &_Rhs) __GPU
 
uint_3 operator+ (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator- (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator* (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator/ (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
bool operator== (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
bool operator!= (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator% (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator^ (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator| (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator& (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator<< (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_3 operator>> (const uint_3 &_Lhs, const uint_3 &_Rhs) __GPU
 
uint_4 operator+ (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator- (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator* (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator/ (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
bool operator== (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
bool operator!= (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator% (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator^ (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator| (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator& (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator<< (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
uint_4 operator>> (const uint_4 &_Lhs, const uint_4 &_Rhs) __GPU
 
int_2 operator+ (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator- (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator* (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator/ (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
bool operator== (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
bool operator!= (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator% (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator^ (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator| (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator& (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator<< (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_2 operator>> (const int_2 &_Lhs, const int_2 &_Rhs) __GPU
 
int_3 operator+ (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator- (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator* (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator/ (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
bool operator== (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
bool operator!= (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator% (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator^ (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator| (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator& (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator<< (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_3 operator>> (const int_3 &_Lhs, const int_3 &_Rhs) __GPU
 
int_4 operator+ (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator- (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator* (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator/ (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
bool operator== (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
bool operator!= (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator% (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator^ (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator| (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator& (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator<< (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
int_4 operator>> (const int_4 &_Lhs, const int_4 &_Rhs) __GPU
 
float_2 operator+ (const float_2 &_Lhs, const float_2 &_Rhs) __GPU
 
float_2 operator- (const float_2 &_Lhs, const float_2 &_Rhs) __GPU
 
float_2 operator* (const float_2 &_Lhs, const float_2 &_Rhs) __GPU
 
float_2 operator/ (const float_2 &_Lhs, const float_2 &_Rhs) __GPU
 
bool operator== (const float_2 &_Lhs, const float_2 &_Rhs) __GPU
 
bool operator!= (const float_2 &_Lhs, const float_2 &_Rhs) __GPU
 
float_3 operator+ (const float_3 &_Lhs, const float_3 &_Rhs) __GPU
 
float_3 operator- (const float_3 &_Lhs, const float_3 &_Rhs) __GPU
 
float_3 operator* (const float_3 &_Lhs, const float_3 &_Rhs) __GPU
 
float_3 operator/ (const float_3 &_Lhs, const float_3 &_Rhs) __GPU
 
bool operator== (const float_3 &_Lhs, const float_3 &_Rhs) __GPU
 
bool operator!= (const float_3 &_Lhs, const float_3 &_Rhs) __GPU
 
float_4 operator+ (const float_4 &_Lhs, const float_4 &_Rhs) __GPU
 
float_4 operator- (const float_4 &_Lhs, const float_4 &_Rhs) __GPU
 
float_4 operator* (const float_4 &_Lhs, const float_4 &_Rhs) __GPU
 
float_4 operator/ (const float_4 &_Lhs, const float_4 &_Rhs) __GPU
 
bool operator== (const float_4 &_Lhs, const float_4 &_Rhs) __GPU
 
bool operator!= (const float_4 &_Lhs, const float_4 &_Rhs) __GPU
 
unorm_2 operator+ (const unorm_2 &_Lhs, const unorm_2 &_Rhs) __GPU
 
unorm_2 operator- (const unorm_2 &_Lhs, const unorm_2 &_Rhs) __GPU
 
unorm_2 operator* (const unorm_2 &_Lhs, const unorm_2 &_Rhs) __GPU
 
unorm_2 operator/ (const unorm_2 &_Lhs, const unorm_2 &_Rhs) __GPU
 
bool operator== (const unorm_2 &_Lhs, const unorm_2 &_Rhs) __GPU
 
bool operator!= (const unorm_2 &_Lhs, const unorm_2 &_Rhs) __GPU
 
unorm_3 operator+ (const unorm_3 &_Lhs, const unorm_3 &_Rhs) __GPU
 
unorm_3 operator- (const unorm_3 &_Lhs, const unorm_3 &_Rhs) __GPU
 
unorm_3 operator* (const unorm_3 &_Lhs, const unorm_3 &_Rhs) __GPU
 
unorm_3 operator/ (const unorm_3 &_Lhs, const unorm_3 &_Rhs) __GPU
 
bool operator== (const unorm_3 &_Lhs, const unorm_3 &_Rhs) __GPU
 
bool operator!= (const unorm_3 &_Lhs, const unorm_3 &_Rhs) __GPU
 
unorm_4 operator+ (const unorm_4 &_Lhs, const unorm_4 &_Rhs) __GPU
 
unorm_4 operator- (const unorm_4 &_Lhs, const unorm_4 &_Rhs) __GPU
 
unorm_4 operator* (const unorm_4 &_Lhs, const unorm_4 &_Rhs) __GPU
 
unorm_4 operator/ (const unorm_4 &_Lhs, const unorm_4 &_Rhs) __GPU
 
bool operator== (const unorm_4 &_Lhs, const unorm_4 &_Rhs) __GPU
 
bool operator!= (const unorm_4 &_Lhs, const unorm_4 &_Rhs) __GPU
 
norm_2 operator+ (const norm_2 &_Lhs, const norm_2 &_Rhs) __GPU
 
norm_2 operator- (const norm_2 &_Lhs, const norm_2 &_Rhs) __GPU
 
norm_2 operator* (const norm_2 &_Lhs, const norm_2 &_Rhs) __GPU
 
norm_2 operator/ (const norm_2 &_Lhs, const norm_2 &_Rhs) __GPU
 
bool operator== (const norm_2 &_Lhs, const norm_2 &_Rhs) __GPU
 
bool operator!= (const norm_2 &_Lhs, const norm_2 &_Rhs) __GPU
 
norm_3 operator+ (const norm_3 &_Lhs, const norm_3 &_Rhs) __GPU
 
norm_3 operator- (const norm_3 &_Lhs, const norm_3 &_Rhs) __GPU
 
norm_3 operator* (const norm_3 &_Lhs, const norm_3 &_Rhs) __GPU
 
norm_3 operator/ (const norm_3 &_Lhs, const norm_3 &_Rhs) __GPU
 
bool operator== (const norm_3 &_Lhs, const norm_3 &_Rhs) __GPU
 
bool operator!= (const norm_3 &_Lhs, const norm_3 &_Rhs) __GPU
 
norm_4 operator+ (const norm_4 &_Lhs, const norm_4 &_Rhs) __GPU
 
norm_4 operator- (const norm_4 &_Lhs, const norm_4 &_Rhs) __GPU
 
norm_4 operator* (const norm_4 &_Lhs, const norm_4 &_Rhs) __GPU
 
norm_4 operator/ (const norm_4 &_Lhs, const norm_4 &_Rhs) __GPU
 
bool operator== (const norm_4 &_Lhs, const norm_4 &_Rhs) __GPU
 
bool operator!= (const norm_4 &_Lhs, const norm_4 &_Rhs) __GPU
 
double_2 operator+ (const double_2 &_Lhs, const double_2 &_Rhs) __GPU
 
double_2 operator- (const double_2 &_Lhs, const double_2 &_Rhs) __GPU
 
double_2 operator* (const double_2 &_Lhs, const double_2 &_Rhs) __GPU
 
double_2 operator/ (const double_2 &_Lhs, const double_2 &_Rhs) __GPU
 
bool operator== (const double_2 &_Lhs, const double_2 &_Rhs) __GPU
 
bool operator!= (const double_2 &_Lhs, const double_2 &_Rhs) __GPU
 
double_3 operator+ (const double_3 &_Lhs, const double_3 &_Rhs) __GPU
 
double_3 operator- (const double_3 &_Lhs, const double_3 &_Rhs) __GPU
 
double_3 operator* (const double_3 &_Lhs, const double_3 &_Rhs) __GPU
 
double_3 operator/ (const double_3 &_Lhs, const double_3 &_Rhs) __GPU
 
bool operator== (const double_3 &_Lhs, const double_3 &_Rhs) __GPU
 
bool operator!= (const double_3 &_Lhs, const double_3 &_Rhs) __GPU
 
double_4 operator+ (const double_4 &_Lhs, const double_4 &_Rhs) __GPU
 
double_4 operator- (const double_4 &_Lhs, const double_4 &_Rhs) __GPU
 
double_4 operator* (const double_4 &_Lhs, const double_4 &_Rhs) __GPU
 
double_4 operator/ (const double_4 &_Lhs, const double_4 &_Rhs) __GPU
 
bool operator== (const double_4 &_Lhs, const double_4 &_Rhs) __GPU
 
bool operator!= (const double_4 &_Lhs, const double_4 &_Rhs) __GPU
 

Typedef Documentation

typedef unsigned int Concurrency::graphics::uint

Enumeration Type Documentation

address modes supported for texture sampling

Enumerator
address_wrap 
address_mirror 
address_clamp 
address_border 
address_unknown 
2913 {
2914  address_wrap = 1,
2915  address_mirror = 2,
2916  address_clamp = 3,
2917  address_border = 4,
2918  address_unknown = 0xFFFFFFFF,
2919 };
Definition: amp_graphics.h:2916
Definition: amp_graphics.h:2914
Definition: amp_graphics.h:2915
Definition: amp_graphics.h:2917
Definition: amp_graphics.h:2918

filter modes supported for texture sampling

Enumerator
filter_point 
filter_linear 
filter_unknown 
2903 {
2904  filter_point = 0,
2905  filter_linear = 0x15,
2906  filter_unknown = 0xFFFFFFFF,
2907 };
Definition: amp_graphics.h:2906
Definition: amp_graphics.h:2905
Definition: amp_graphics.h:2904

Function Documentation

template<typename _Value_type , int _Rank>
class Concurrency::graphics::__declspec ( deprecated("writeonly_texture_view is deprecated. Please use texture_view instead.")  )

A writeonly_texture_view provides writeonly access to a texture.

Parameters
_Value_typeThe type of the elements in the texture aggregates.
_RankThe _Rank of the corresponding extent domain.

Construct a writeonly_texture_view of a texture _Src.

Parameters
_SrcThe texture on which the writeonly view is created.

Construct a writeonly_texture_view of a texture _Src.

Parameters
_SrcThe texture on which the writeonly view is created.

Construct a writeonly_texture_view from another writeonly_texture_view. Both are views of the same texture.

Parameters
_SrcThe writeonly_texture_view from which the current view is created.

Assignment operator. This writeonly_texture_view becomes a view of the same texture which _Other is a view of.

Parameters
_OtherThe source writeonly_texture_view.

Destructor

Set the element indexed by _Index with value _Value.

Parameters
_IndexThe index.
_ValueThe value to be set to the element indexed by _Index.
2598  : public details::_Texture_base<_Value_type, _Rank>
2599 {
2600  static_assert(!std::is_const<_Value_type>::value, "const value type is not supported for writeonly_texture_view.");
2601 
2602 public:
2609  writeonly_texture_view(texture<_Value_type, _Rank>& _Src) __CPU_ONLY
2610  : _Texture_base(_Src, /*_Most_detailed_mipmap_level=*/0, /*_View_mipmap_levels=*/1)
2611  {
2612  _Texture* _Tex = this->_Get_texture();
2613  if ((_Tex->_Get_num_channels() == 3) && (_Tex->_Get_bits_per_channel() == 32)) {
2614  throw runtime_exception("writeonly_texture_view cannot be created from a 3-channel texture with 32 bits per scalar element.", E_INVALIDARG);
2615  }
2616  if (_Tex->_Is_staging()) {
2617  throw runtime_exception("writeonly_texture_view cannot be created from a staging texture object.", E_INVALIDARG);
2618  }
2619  }
2620 
2627  writeonly_texture_view(texture<_Value_type, _Rank>& _Src) __GPU_ONLY
2628  : _Texture_base(_Src, /*_Flatten_mipmap_levels=*/true)
2629  {
2630  static_assert(_Short_vector_type_traits<_Value_type>::_Num_channels == 1, "Invalid value_type for the constructor.");
2631  static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "Invalid value_type for the constructor.");
2632  static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "Invalid value_type for the constructor.");
2633  }
2634 
2641  writeonly_texture_view(const writeonly_texture_view<_Value_type, _Rank>& _Src) __GPU
2642  : _Texture_base(_Src)
2643  {
2644  }
2645 
2652  writeonly_texture_view<_Value_type, _Rank>& operator=(const writeonly_texture_view<_Value_type, _Rank>& _Other) __GPU
2653  {
2654  if (this != &_Other)
2655  {
2656  this->_M_extent = _Other._M_extent;
2657  this->_M_texture_descriptor = _Other._M_texture_descriptor;
2658  }
2659  return *this;
2660  }
2661 
2665  ~writeonly_texture_view() __GPU
2666  {
2667  }
2668 
2678  void set(const index<_Rank>& _Index, const _Value_type& _Value) const __GPU_ONLY
2679  {
2680  _Texture_write_helper<index<_Rank>, _Rank>::func(this->_M_texture_descriptor._M_data_ptr, &_Value, _Index);
2681  }
2682 };
_Ret_ _Texture * _Get_texture(const _Texture_type &_Tex) __CPU_ONLY
Definition: xxamp.h:1100
#define __GPU
Definition: amprt.h:45
Definition: amprt.h:297
Definition: amprt.h:2152
unsigned int _Get_num_channels() const
Definition: amprt.h:2240
#define __CPU_ONLY
Definition: amprt.h:47
#define __GPU_ONLY
Definition: amprt.h:46
bool _Is_staging() const
Definition: amprt.h:2051
_In_ int _Value
Definition: setjmp.h:173
unsigned int _Get_bits_per_channel() const
Definition: amprt.h:2245
Definition: set:42
Definition: amprt.h:296
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.

Parameters
_RankThe rank of the source texture.
_Value_typeThe type of the elements of the source texture.
_SrcThe source texture or texture_view.
_DstThe destination host buffer.
_Dst_byte_sizeNumber of bytes in the destination buffer.
4137 {
4139  nullptr,
4140  _Get_section_size(_Src, _Src.extent));
4141 
4142  details::_Copy_async_impl(_Src, index<_Src_type::rank>(), _Src.extent, _Dst, _Dst_byte_size)._Get();
4143 
4145 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_RankThe rank of the source texture.
_Value_typeThe type of the elements of the source texture.
_SrcThe source texture or texture_view.
_Src_offsetThe offset into the source texture from which to begin copying.
_Copy_extentThe extent of the texture section to copy.
_DstThe destination host buffer.
_Dst_byte_sizeNumber of bytes in the destination buffer.
4172 {
4174  nullptr,
4175  _Get_section_size(_Src, _Copy_extent));
4176 
4177  details::_Copy_async_impl(_Src, _Src_offset, _Copy_extent, _Dst, _Dst_byte_size)._Get();
4178 
4180 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_RankThe rank of the destination texture.
_Dst_typeThe type of the destination texture or texture_view.
_SrcThe source host buffer.
_Src_byte_sizeNumber of bytes in the source buffer.
_DstThe destination texture or texture_view.
4202 {
4203  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4206  _Get_section_size(_Dst, _Dst.extent));
4207 
4208  details::_Copy_async_impl(_Src, _Src_byte_size, _Dst, index<_Dst_type::rank>(), _Dst.extent)._Get();
4209 
4211 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_Dst_typeThe type of the destination texture or texture_view.
_SrcThe source host buffer.
_Src_byte_sizeNumber of bytes in the source buffer.
_DstThe destination texture or texture_view.
_Dst_offsetThe offset into the destination texture to which to begin copying.
_Copy_extentThe extent of the texture section to copy.
4236 {
4237  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4240  _Get_section_size(_Dst, _Copy_extent));
4241 
4242  details::_Copy_async_impl(_Src, _Src_byte_size, _Dst, _Dst_offset, _Copy_extent)._Get();
4243 
4245 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
InputIteratorThe input iterator type.
_Dst_typeThe type of the destination texture.
_FirstThe starting iterator for the copy.
_LastThe ending iterator for the copy.
_DstThe destination texture or texture_view.
4402 {
4403  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4406  _Get_section_size(_Dst, _Dst.extent));
4407 
4408  details::_Copy_async_impl(_First, _Last, _Dst, index<_Dst_type::rank>(), _Dst.extent)._Get();
4409 
4411 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
_FwdIt _Last
Definition: algorithm:1936
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
InputIteratorThe input iterator type.
_Dst_typeThe type of the destination texture.
_FirstThe starting iterator for the copy.
_LastThe ending iterator for the copy.
_DstThe destination texture or texture_view.
_Dst_offsetThe offset into the destination texture to which to begin copying.
_Copy_extentThe extent of the texture section to copy.
4438 {
4439  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4442  _Get_section_size(_Dst, _Copy_extent));
4443 
4444  details::_Copy_async_impl(_First, _Last, _Dst, _Dst_offset, _Copy_extent)._Get();
4445 
4447 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
_FwdIt _Last
Definition: algorithm:1936
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_Src_typeThe type of the source texture.
OutputIteratorThe output iterator type.
_DstThe starting iterator for the copy output.
4462 {
4464  nullptr,
4465  _Get_section_size(_Src, _Src.extent));
4466 
4467  details::_Copy_async_impl(_Src, index<_Src_type::rank>(), _Src.extent, _Dst)._Get();
4468 
4470 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_Src_typeThe type of the source texture.
OutputIteratorThe output iterator type.
_Src_offsetThe offset into the source texture from which to begin copying.
_Copy_extentThe extent of the texture section to copy.
_DstThe starting iterator for the copy output.
4491 {
4493  nullptr,
4494  _Get_section_size(_Src, _Copy_extent));
4495 
4496  details::_Copy_async_impl(_Src, _Src_offset, _Copy_extent, _Dst)._Get();
4497 
4499 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_Src_typeThe type of the source texture.
_Dst_typeThe type of the destination texture.
_SrcThe source texture from which to copy.
_DstThe destination texture into which to copy.
4517 {
4518  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4519 
4520  if (_Src.extent != _Dst.extent)
4521  {
4522  throw runtime_exception("The source and destination textures must have the exactly the same extent for whole-texture copy.", E_INVALIDARG);
4523  }
4524 
4527  _Get_section_size(_Dst, _Dst.extent));
4528 
4529  details::_Copy_async_impl(_Src, index<_Src_type::rank>(), _Dst, index<_Dst_type::rank>(), _Dst.extent)._Get();
4530 
4532 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_Src_typeThe type of the source texture.
_Dst_typeThe type of the destination texture.
_SrcThe source texture from which to copy.
_Src_offsetThe offset into the source texture from which to begin copying.
_DstThe destination texture into which to copy.
_Dst_offsetThe offset into the destination texture to which to begin copying.
_Copy_extentThe extent of the texture section to copy.
4559 {
4560  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4563  _Get_section_size(_Src, _Copy_extent));
4564 
4565  details::_Copy_async_impl(_Src, _Src_offset, _Dst, _Dst_offset, _Copy_extent)._Get();
4566 
4568 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP void _Get()
Wait until the _Event completes and throw any exceptions that occur.
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Start_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
_AMPIMP void _Write_end_event(ULONG _Span_id)
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.

Parameters
_RankThe rank of the source texture.
_Src_typeThe type of the source texture.
_SrcThe source texture or texture_view.
_DstThe destination host buffer.
_Dst_byte_sizeNumber of bytes in the destination buffer.
Returns
A future upon which to wait for the operation to complete.
4270 {
4272  nullptr,
4273  _Get_section_size(_Src, _Src.extent));
4274 
4275  _Event _Ev = details::_Copy_async_impl(_Src, index<_Src_type::rank>(), _Src.extent, _Dst, _Dst_byte_size);
4276 
4278 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Src_typeThe type of the source texture.
_SrcThe source texture or texture_view.
_Src_offsetThe offset into the source texture from which to begin copying.
_Copy_extentThe extent of the texture section to copy.
_DstThe destination host buffer.
_Dst_byte_sizeNumber of bytes in the destination buffer.
Returns
A future upon which to wait for the operation to complete.
4306 {
4308  nullptr,
4309  _Get_section_size(_Src, _Copy_extent));
4310 
4311  _Event _Ev = details::_Copy_async_impl(_Src, _Src_offset, _Copy_extent, _Dst, _Dst_byte_size);
4312 
4314 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Dst_typeThe type of the destination texture.
_SrcThe source host buffer.
_Src_byte_sizeNumber of bytes in the source buffer.
_DstThe destination texture or texture_view.
Returns
A future upon which to wait for the operation to complete.
4335 {
4336  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4339  _Get_section_size(_Dst, _Dst.extent));
4340 
4341  _Event _Ev = details::_Copy_async_impl(_Src, _Src_byte_size, _Dst, index<_Dst_type::rank>(), _Dst.extent);
4342 
4344 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Dst_typeThe type of the elements of the destination texture.
_SrcThe source host buffer.
_Src_byte_sizeNumber of bytes in the source buffer.
_DstThe destination texture or texture_view.
_Dst_offsetThe offset into the destination texture to which to begin copying.
_Copy_extentThe extent of the texture section to copy.
Returns
A future upon which to wait for the operation to complete.
4372 {
4373  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4376  _Get_section_size(_Dst, _Copy_extent));
4377 
4378  _Event _Ev = details::_Copy_async_impl(_Src, _Src_byte_size, _Dst, _Dst_offset, _Copy_extent);
4379 
4381 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
InputIteratorThe input iterator type.
_Dst_typeThe type of the destination texture.
_FirstThe starting iterator for the copy.
_LastThe ending iterator for the copy.
_DstThe destination texture or texture_view.
Returns
A future upon which to wait for the operation to complete.
4592 {
4593  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4596  _Get_section_size(_Dst, _Dst.extent));
4597 
4598  _Event _Ev = details::_Copy_async_impl<InputIterator, _Dst_type::value_type, _Dst_type::rank>(_First, _Last, _Dst, index<_Dst_type::rank>(), _Dst.extent);
4599 
4601 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
_FwdIt _Last
Definition: algorithm:1936
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
InputIteratorThe input iterator type.
_Dst_typeThe type of the destination texture.
_FirstThe starting iterator for the copy.
_LastThe ending iterator for the copy.
_DstThe destination texture or texture_view.
_Dst_offsetThe offset into the destination texture to which to begin copying.
_Copy_extentThe extent of the texture section to copy.
Returns
A future upon which to wait for the operation to complete.
4632 {
4633  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4636  _Get_section_size(_Dst, _Copy_extent));
4637 
4638  _Event _Ev = details::_Copy_async_impl<InputIterator, _Dst_type::value_type, _Dst_type::rank>(_First, _Last, _Dst, _Dst_offset, _Copy_extent);
4639 
4641 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
_FwdIt _Last
Definition: algorithm:1936
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Src_typeThe type of the source texture.
OutputIteratorThe output iterator type.
_DstThe starting iterator for the copy output.
Returns
A future upon which to wait for the operation to complete.
4659 {
4661  nullptr,
4662  _Get_section_size(_Src, _Src.extent));
4663 
4664  _Event _Ev = details::_Copy_async_impl(_Src, index<_Src_type::rank>(), _Src.extent, _Dst);
4665 
4667 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Src_typeThe type of the source texture.
OutputIteratorThe output iterator type.
_Src_offsetThe offset into the source texture from which to begin copying.
_Copy_extentThe extent of the texture section to copy.
_DstThe starting iterator for the copy output.
Returns
A future upon which to wait for the operation to complete.
4691 {
4693  nullptr,
4694  _Get_section_size(_Src, _Copy_extent));
4695 
4696  _Event _Ev = details::_Copy_async_impl(_Src, _Src_offset, _Copy_extent, _Dst);
4697 
4699 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Src_typeThe type of the source texture.
_Dst_typeThe type of the destination texture.
_SrcThe source texture from which to copy.
_DstThe destination texture into which to copy.
Returns
A future upon which to wait for the operation to complete.
4720 {
4721  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4722 
4723  if (_Src.extent != _Dst.extent)
4724  {
4725  throw runtime_exception("The source and destination textures must have the exactly the same extent for whole-texture copy.", E_INVALIDARG);
4726  }
4729  _Get_section_size(_Dst, _Dst.extent));
4730 
4731  _Event _Ev = details::_Copy_async_impl(_Src, index<_Src_type::rank>(), _Dst, index<_Dst_type::rank>(), _Dst.extent);
4732 
4734 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
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.

Parameters
_Src_typeThe type of the source texture.
_Dst_typeThe type of the destination texture.
_SrcThe source texture from which to copy.
_Src_offsetThe offset into the source texture from which to begin copying.
_DstThe destination texture into which to copy.
_Dst_offsetThe offset into the destination texture to which to begin copying.
_Copy_extentThe extent of the texture section to copy.
Returns
A future upon which to wait for the operation to complete.
4764 {
4765  static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type.");
4766 
4769  _Get_section_size(_Src, _Copy_extent));
4770 
4771  _Event _Ev = details::_Copy_async_impl(_Src, _Src_offset, _Dst, _Dst_offset, _Copy_extent);
4772 
4774 }
unsigned int _Get_section_size(const _Texture_base< _Value_type, _Rank > &_Tex, const extent< _Rank > &_Extent)
Definition: amp_graphics.h:3720
_Event _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)
Definition: amp_graphics.h:4033
_AMPIMP _Ret_ _Amp_runtime_trace *__cdecl _Get_amp_trace()
_AMPIMP ULONG _Launch_async_copy_event_helper(const _Buffer_descriptor &_Src, const _Buffer_descriptor &_Dest, ULONGLONG _Num_bytes_for_copy)
Definition: amprt.h:318
const _Texture_descriptor & _Get_texture_descriptor(const _Texture_type &_Tex) __GPU
Definition: xxamp.h:1094
concurrency::completion_future _Start_async_op_wait_event_helper(ULONG _Async_op_id, _Event _Ev)
Definition: amprt.h:3753
bool Concurrency::graphics::operator!= ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
441  {
442  return float(_Lhs) != float(_Rhs);
443  }
bool Concurrency::graphics::operator!= ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
446  {
447  return float(_Lhs) != float(_Rhs);
448  }
bool Concurrency::graphics::operator!= ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22832  {
22833  uint_2 _Value1 = _Lhs;
22834  uint_2 _Value2 = _Rhs;
22835  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
22836  }
bool Concurrency::graphics::operator!= ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22916  {
22917  uint_3 _Value1 = _Lhs;
22918  uint_3 _Value2 = _Rhs;
22919  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
22920  }
bool Concurrency::graphics::operator!= ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23000  {
23001  uint_4 _Value1 = _Lhs;
23002  uint_4 _Value2 = _Rhs;
23003  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23004  }
bool Concurrency::graphics::operator!= ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23084  {
23085  int_2 _Value1 = _Lhs;
23086  int_2 _Value2 = _Rhs;
23087  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23088  }
bool Concurrency::graphics::operator!= ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23168  {
23169  int_3 _Value1 = _Lhs;
23170  int_3 _Value2 = _Rhs;
23171  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23172  }
bool Concurrency::graphics::operator!= ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23252  {
23253  int_4 _Value1 = _Lhs;
23254  int_4 _Value2 = _Rhs;
23255  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23256  }
bool Concurrency::graphics::operator!= ( const float_2 &  _Lhs,
const float_2 &  _Rhs 
)
inline
23336  {
23337  float_2 _Value1 = _Lhs;
23338  float_2 _Value2 = _Rhs;
23339  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23340  }
bool Concurrency::graphics::operator!= ( const float_3 &  _Lhs,
const float_3 &  _Rhs 
)
inline
23378  {
23379  float_3 _Value1 = _Lhs;
23380  float_3 _Value2 = _Rhs;
23381  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23382  }
bool Concurrency::graphics::operator!= ( const float_4 &  _Lhs,
const float_4 &  _Rhs 
)
inline
23420  {
23421  float_4 _Value1 = _Lhs;
23422  float_4 _Value2 = _Rhs;
23423  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23424  }
bool Concurrency::graphics::operator!= ( const unorm_2 &  _Lhs,
const unorm_2 &  _Rhs 
)
inline
23462  {
23463  unorm_2 _Value1 = _Lhs;
23464  unorm_2 _Value2 = _Rhs;
23465  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23466  }
bool Concurrency::graphics::operator!= ( const unorm_3 &  _Lhs,
const unorm_3 &  _Rhs 
)
inline
23504  {
23505  unorm_3 _Value1 = _Lhs;
23506  unorm_3 _Value2 = _Rhs;
23507  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23508  }
bool Concurrency::graphics::operator!= ( const unorm_4 &  _Lhs,
const unorm_4 &  _Rhs 
)
inline
23546  {
23547  unorm_4 _Value1 = _Lhs;
23548  unorm_4 _Value2 = _Rhs;
23549  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23550  }
bool Concurrency::graphics::operator!= ( const norm_2 &  _Lhs,
const norm_2 &  _Rhs 
)
inline
23588  {
23589  norm_2 _Value1 = _Lhs;
23590  norm_2 _Value2 = _Rhs;
23591  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23592  }
bool Concurrency::graphics::operator!= ( const norm_3 &  _Lhs,
const norm_3 &  _Rhs 
)
inline
23630  {
23631  norm_3 _Value1 = _Lhs;
23632  norm_3 _Value2 = _Rhs;
23633  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23634  }
bool Concurrency::graphics::operator!= ( const norm_4 &  _Lhs,
const norm_4 &  _Rhs 
)
inline
23672  {
23673  norm_4 _Value1 = _Lhs;
23674  norm_4 _Value2 = _Rhs;
23675  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23676  }
bool Concurrency::graphics::operator!= ( const double_2 &  _Lhs,
const double_2 &  _Rhs 
)
inline
23714  {
23715  double_2 _Value1 = _Lhs;
23716  double_2 _Value2 = _Rhs;
23717  return _Value1.x != _Value2.x || _Value1.y != _Value2.y;
23718  }
bool Concurrency::graphics::operator!= ( const double_3 &  _Lhs,
const double_3 &  _Rhs 
)
inline
23756  {
23757  double_3 _Value1 = _Lhs;
23758  double_3 _Value2 = _Rhs;
23759  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z;
23760  }
bool Concurrency::graphics::operator!= ( const double_4 &  _Lhs,
const double_4 &  _Rhs 
)
inline
23798  {
23799  double_4 _Value1 = _Lhs;
23800  double_4 _Value2 = _Rhs;
23801  return _Value1.x != _Value2.x || _Value1.y != _Value2.y || _Value1.z != _Value2.z || _Value1.w != _Value2.w;
23802  }
uint_2 Concurrency::graphics::operator% ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22839  {
22840  uint_2 _Value1 = _Lhs;
22841  uint_2 _Value2 = _Rhs;
22842  return uint_2(_Value1.x % _Value2.x, _Value1.y % _Value2.y);
22843  }
uint_3 Concurrency::graphics::operator% ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22923  {
22924  uint_3 _Value1 = _Lhs;
22925  uint_3 _Value2 = _Rhs;
22926  return uint_3(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z);
22927  }
uint_4 Concurrency::graphics::operator% ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23007  {
23008  uint_4 _Value1 = _Lhs;
23009  uint_4 _Value2 = _Rhs;
23010  return uint_4(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z, _Value1.w % _Value2.w);
23011  }
int_2 Concurrency::graphics::operator% ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23091  {
23092  int_2 _Value1 = _Lhs;
23093  int_2 _Value2 = _Rhs;
23094  return int_2(_Value1.x % _Value2.x, _Value1.y % _Value2.y);
23095  }
int_3 Concurrency::graphics::operator% ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23175  {
23176  int_3 _Value1 = _Lhs;
23177  int_3 _Value2 = _Rhs;
23178  return int_3(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z);
23179  }
int_4 Concurrency::graphics::operator% ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23259  {
23260  int_4 _Value1 = _Lhs;
23261  int_4 _Value2 = _Rhs;
23262  return int_4(_Value1.x % _Value2.x, _Value1.y % _Value2.y, _Value1.z % _Value2.z, _Value1.w % _Value2.w);
23263  }
uint_2 Concurrency::graphics::operator& ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22860  {
22861  uint_2 _Value1 = _Lhs;
22862  uint_2 _Value2 = _Rhs;
22863  return uint_2(_Value1.x & _Value2.x, _Value1.y & _Value2.y);
22864  }
uint_3 Concurrency::graphics::operator& ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22944  {
22945  uint_3 _Value1 = _Lhs;
22946  uint_3 _Value2 = _Rhs;
22947  return uint_3(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z);
22948  }
uint_4 Concurrency::graphics::operator& ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23028  {
23029  uint_4 _Value1 = _Lhs;
23030  uint_4 _Value2 = _Rhs;
23031  return uint_4(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z, _Value1.w & _Value2.w);
23032  }
int_2 Concurrency::graphics::operator& ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23112  {
23113  int_2 _Value1 = _Lhs;
23114  int_2 _Value2 = _Rhs;
23115  return int_2(_Value1.x & _Value2.x, _Value1.y & _Value2.y);
23116  }
int_3 Concurrency::graphics::operator& ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23196  {
23197  int_3 _Value1 = _Lhs;
23198  int_3 _Value2 = _Rhs;
23199  return int_3(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z);
23200  }
int_4 Concurrency::graphics::operator& ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23280  {
23281  int_4 _Value1 = _Lhs;
23282  int_4 _Value2 = _Rhs;
23283  return int_4(_Value1.x & _Value2.x, _Value1.y & _Value2.y, _Value1.z & _Value2.z, _Value1.w & _Value2.w);
23284  }
unorm Concurrency::graphics::operator* ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
411  {
412  return unorm(float(_Lhs) * float(_Rhs));
413  }
norm Concurrency::graphics::operator* ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
416  {
417  return norm(float(_Lhs) * float(_Rhs));
418  }
uint_2 Concurrency::graphics::operator* ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22811  {
22812  uint_2 _Value1 = _Lhs;
22813  uint_2 _Value2 = _Rhs;
22814  return uint_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
22815  }
uint_3 Concurrency::graphics::operator* ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22895  {
22896  uint_3 _Value1 = _Lhs;
22897  uint_3 _Value2 = _Rhs;
22898  return uint_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
22899  }
uint_4 Concurrency::graphics::operator* ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
22979  {
22980  uint_4 _Value1 = _Lhs;
22981  uint_4 _Value2 = _Rhs;
22982  return uint_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
22983  }
int_2 Concurrency::graphics::operator* ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23063  {
23064  int_2 _Value1 = _Lhs;
23065  int_2 _Value2 = _Rhs;
23066  return int_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23067  }
int_3 Concurrency::graphics::operator* ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23147  {
23148  int_3 _Value1 = _Lhs;
23149  int_3 _Value2 = _Rhs;
23150  return int_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23151  }
int_4 Concurrency::graphics::operator* ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23231  {
23232  int_4 _Value1 = _Lhs;
23233  int_4 _Value2 = _Rhs;
23234  return int_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23235  }
float_2 Concurrency::graphics::operator* ( const float_2 &  _Lhs,
const float_2 &  _Rhs 
)
inline
23315  {
23316  float_2 _Value1 = _Lhs;
23317  float_2 _Value2 = _Rhs;
23318  return float_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23319  }
float_3 Concurrency::graphics::operator* ( const float_3 &  _Lhs,
const float_3 &  _Rhs 
)
inline
23357  {
23358  float_3 _Value1 = _Lhs;
23359  float_3 _Value2 = _Rhs;
23360  return float_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23361  }
float_4 Concurrency::graphics::operator* ( const float_4 &  _Lhs,
const float_4 &  _Rhs 
)
inline
23399  {
23400  float_4 _Value1 = _Lhs;
23401  float_4 _Value2 = _Rhs;
23402  return float_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23403  }
unorm_2 Concurrency::graphics::operator* ( const unorm_2 &  _Lhs,
const unorm_2 &  _Rhs 
)
inline
23441  {
23442  unorm_2 _Value1 = _Lhs;
23443  unorm_2 _Value2 = _Rhs;
23444  return unorm_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23445  }
unorm_3 Concurrency::graphics::operator* ( const unorm_3 &  _Lhs,
const unorm_3 &  _Rhs 
)
inline
23483  {
23484  unorm_3 _Value1 = _Lhs;
23485  unorm_3 _Value2 = _Rhs;
23486  return unorm_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23487  }
unorm_4 Concurrency::graphics::operator* ( const unorm_4 &  _Lhs,
const unorm_4 &  _Rhs 
)
inline
23525  {
23526  unorm_4 _Value1 = _Lhs;
23527  unorm_4 _Value2 = _Rhs;
23528  return unorm_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23529  }
norm_2 Concurrency::graphics::operator* ( const norm_2 &  _Lhs,
const norm_2 &  _Rhs 
)
inline
23567  {
23568  norm_2 _Value1 = _Lhs;
23569  norm_2 _Value2 = _Rhs;
23570  return norm_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23571  }
norm_3 Concurrency::graphics::operator* ( const norm_3 &  _Lhs,
const norm_3 &  _Rhs 
)
inline
23609  {
23610  norm_3 _Value1 = _Lhs;
23611  norm_3 _Value2 = _Rhs;
23612  return norm_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23613  }
norm_4 Concurrency::graphics::operator* ( const norm_4 &  _Lhs,
const norm_4 &  _Rhs 
)
inline
23651  {
23652  norm_4 _Value1 = _Lhs;
23653  norm_4 _Value2 = _Rhs;
23654  return norm_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23655  }
double_2 Concurrency::graphics::operator* ( const double_2 &  _Lhs,
const double_2 &  _Rhs 
)
inline
23693  {
23694  double_2 _Value1 = _Lhs;
23695  double_2 _Value2 = _Rhs;
23696  return double_2(_Value1.x * _Value2.x, _Value1.y * _Value2.y);
23697  }
double_3 Concurrency::graphics::operator* ( const double_3 &  _Lhs,
const double_3 &  _Rhs 
)
inline
23735  {
23736  double_3 _Value1 = _Lhs;
23737  double_3 _Value2 = _Rhs;
23738  return double_3(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z);
23739  }
double_4 Concurrency::graphics::operator* ( const double_4 &  _Lhs,
const double_4 &  _Rhs 
)
inline
23777  {
23778  double_4 _Value1 = _Lhs;
23779  double_4 _Value2 = _Rhs;
23780  return double_4(_Value1.x * _Value2.x, _Value1.y * _Value2.y, _Value1.z * _Value2.z, _Value1.w * _Value2.w);
23781  }
unorm Concurrency::graphics::operator+ ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
391  {
392  return unorm(float(_Lhs) + float(_Rhs));
393  }
norm Concurrency::graphics::operator+ ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
396  {
397  return norm(float(_Lhs) + float(_Rhs));
398  }
uint_2 Concurrency::graphics::operator+ ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22797  {
22798  uint_2 _Value1 = _Lhs;
22799  uint_2 _Value2 = _Rhs;
22800  return uint_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
22801  }
uint_3 Concurrency::graphics::operator+ ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22881  {
22882  uint_3 _Value1 = _Lhs;
22883  uint_3 _Value2 = _Rhs;
22884  return uint_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
22885  }
uint_4 Concurrency::graphics::operator+ ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
22965  {
22966  uint_4 _Value1 = _Lhs;
22967  uint_4 _Value2 = _Rhs;
22968  return uint_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
22969  }
int_2 Concurrency::graphics::operator+ ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23049  {
23050  int_2 _Value1 = _Lhs;
23051  int_2 _Value2 = _Rhs;
23052  return int_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23053  }
int_3 Concurrency::graphics::operator+ ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23133  {
23134  int_3 _Value1 = _Lhs;
23135  int_3 _Value2 = _Rhs;
23136  return int_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23137  }
int_4 Concurrency::graphics::operator+ ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23217  {
23218  int_4 _Value1 = _Lhs;
23219  int_4 _Value2 = _Rhs;
23220  return int_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23221  }
float_2 Concurrency::graphics::operator+ ( const float_2 &  _Lhs,
const float_2 &  _Rhs 
)
inline
23301  {
23302  float_2 _Value1 = _Lhs;
23303  float_2 _Value2 = _Rhs;
23304  return float_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23305  }
float_3 Concurrency::graphics::operator+ ( const float_3 &  _Lhs,
const float_3 &  _Rhs 
)
inline
23343  {
23344  float_3 _Value1 = _Lhs;
23345  float_3 _Value2 = _Rhs;
23346  return float_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23347  }
float_4 Concurrency::graphics::operator+ ( const float_4 &  _Lhs,
const float_4 &  _Rhs 
)
inline
23385  {
23386  float_4 _Value1 = _Lhs;
23387  float_4 _Value2 = _Rhs;
23388  return float_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23389  }
unorm_2 Concurrency::graphics::operator+ ( const unorm_2 &  _Lhs,
const unorm_2 &  _Rhs 
)
inline
23427  {
23428  unorm_2 _Value1 = _Lhs;
23429  unorm_2 _Value2 = _Rhs;
23430  return unorm_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23431  }
unorm_3 Concurrency::graphics::operator+ ( const unorm_3 &  _Lhs,
const unorm_3 &  _Rhs 
)
inline
23469  {
23470  unorm_3 _Value1 = _Lhs;
23471  unorm_3 _Value2 = _Rhs;
23472  return unorm_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23473  }
unorm_4 Concurrency::graphics::operator+ ( const unorm_4 &  _Lhs,
const unorm_4 &  _Rhs 
)
inline
23511  {
23512  unorm_4 _Value1 = _Lhs;
23513  unorm_4 _Value2 = _Rhs;
23514  return unorm_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23515  }
norm_2 Concurrency::graphics::operator+ ( const norm_2 &  _Lhs,
const norm_2 &  _Rhs 
)
inline
23553  {
23554  norm_2 _Value1 = _Lhs;
23555  norm_2 _Value2 = _Rhs;
23556  return norm_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23557  }
norm_3 Concurrency::graphics::operator+ ( const norm_3 &  _Lhs,
const norm_3 &  _Rhs 
)
inline
23595  {
23596  norm_3 _Value1 = _Lhs;
23597  norm_3 _Value2 = _Rhs;
23598  return norm_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23599  }
norm_4 Concurrency::graphics::operator+ ( const norm_4 &  _Lhs,
const norm_4 &  _Rhs 
)
inline
23637  {
23638  norm_4 _Value1 = _Lhs;
23639  norm_4 _Value2 = _Rhs;
23640  return norm_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23641  }
double_2 Concurrency::graphics::operator+ ( const double_2 &  _Lhs,
const double_2 &  _Rhs 
)
inline
23679  {
23680  double_2 _Value1 = _Lhs;
23681  double_2 _Value2 = _Rhs;
23682  return double_2(_Value1.x + _Value2.x, _Value1.y + _Value2.y);
23683  }
double_3 Concurrency::graphics::operator+ ( const double_3 &  _Lhs,
const double_3 &  _Rhs 
)
inline
23721  {
23722  double_3 _Value1 = _Lhs;
23723  double_3 _Value2 = _Rhs;
23724  return double_3(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z);
23725  }
double_4 Concurrency::graphics::operator+ ( const double_4 &  _Lhs,
const double_4 &  _Rhs 
)
inline
23763  {
23764  double_4 _Value1 = _Lhs;
23765  double_4 _Value2 = _Rhs;
23766  return double_4(_Value1.x + _Value2.x, _Value1.y + _Value2.y, _Value1.z + _Value2.z, _Value1.w + _Value2.w);
23767  }
unorm Concurrency::graphics::operator- ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
401  {
402  return unorm(float(_Lhs) - float(_Rhs));
403  }
norm Concurrency::graphics::operator- ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
406  {
407  return norm(float(_Lhs) - float(_Rhs));
408  }
uint_2 Concurrency::graphics::operator- ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22804  {
22805  uint_2 _Value1 = _Lhs;
22806  uint_2 _Value2 = _Rhs;
22807  return uint_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
22808  }
uint_3 Concurrency::graphics::operator- ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22888  {
22889  uint_3 _Value1 = _Lhs;
22890  uint_3 _Value2 = _Rhs;
22891  return uint_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
22892  }
uint_4 Concurrency::graphics::operator- ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
22972  {
22973  uint_4 _Value1 = _Lhs;
22974  uint_4 _Value2 = _Rhs;
22975  return uint_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
22976  }
int_2 Concurrency::graphics::operator- ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23056  {
23057  int_2 _Value1 = _Lhs;
23058  int_2 _Value2 = _Rhs;
23059  return int_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23060  }
int_3 Concurrency::graphics::operator- ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23140  {
23141  int_3 _Value1 = _Lhs;
23142  int_3 _Value2 = _Rhs;
23143  return int_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23144  }
int_4 Concurrency::graphics::operator- ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23224  {
23225  int_4 _Value1 = _Lhs;
23226  int_4 _Value2 = _Rhs;
23227  return int_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23228  }
float_2 Concurrency::graphics::operator- ( const float_2 &  _Lhs,
const float_2 &  _Rhs 
)
inline
23308  {
23309  float_2 _Value1 = _Lhs;
23310  float_2 _Value2 = _Rhs;
23311  return float_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23312  }
float_3 Concurrency::graphics::operator- ( const float_3 &  _Lhs,
const float_3 &  _Rhs 
)
inline
23350  {
23351  float_3 _Value1 = _Lhs;
23352  float_3 _Value2 = _Rhs;
23353  return float_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23354  }
float_4 Concurrency::graphics::operator- ( const float_4 &  _Lhs,
const float_4 &  _Rhs 
)
inline
23392  {
23393  float_4 _Value1 = _Lhs;
23394  float_4 _Value2 = _Rhs;
23395  return float_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23396  }
unorm_2 Concurrency::graphics::operator- ( const unorm_2 &  _Lhs,
const unorm_2 &  _Rhs 
)
inline
23434  {
23435  unorm_2 _Value1 = _Lhs;
23436  unorm_2 _Value2 = _Rhs;
23437  return unorm_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23438  }
unorm_3 Concurrency::graphics::operator- ( const unorm_3 &  _Lhs,
const unorm_3 &  _Rhs 
)
inline
23476  {
23477  unorm_3 _Value1 = _Lhs;
23478  unorm_3 _Value2 = _Rhs;
23479  return unorm_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23480  }
unorm_4 Concurrency::graphics::operator- ( const unorm_4 &  _Lhs,
const unorm_4 &  _Rhs 
)
inline
23518  {
23519  unorm_4 _Value1 = _Lhs;
23520  unorm_4 _Value2 = _Rhs;
23521  return unorm_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23522  }
norm_2 Concurrency::graphics::operator- ( const norm_2 &  _Lhs,
const norm_2 &  _Rhs 
)
inline
23560  {
23561  norm_2 _Value1 = _Lhs;
23562  norm_2 _Value2 = _Rhs;
23563  return norm_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23564  }
norm_3 Concurrency::graphics::operator- ( const norm_3 &  _Lhs,
const norm_3 &  _Rhs 
)
inline
23602  {
23603  norm_3 _Value1 = _Lhs;
23604  norm_3 _Value2 = _Rhs;
23605  return norm_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23606  }
norm_4 Concurrency::graphics::operator- ( const norm_4 &  _Lhs,
const norm_4 &  _Rhs 
)
inline
23644  {
23645  norm_4 _Value1 = _Lhs;
23646  norm_4 _Value2 = _Rhs;
23647  return norm_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23648  }
double_2 Concurrency::graphics::operator- ( const double_2 &  _Lhs,
const double_2 &  _Rhs 
)
inline
23686  {
23687  double_2 _Value1 = _Lhs;
23688  double_2 _Value2 = _Rhs;
23689  return double_2(_Value1.x - _Value2.x, _Value1.y - _Value2.y);
23690  }
double_3 Concurrency::graphics::operator- ( const double_3 &  _Lhs,
const double_3 &  _Rhs 
)
inline
23728  {
23729  double_3 _Value1 = _Lhs;
23730  double_3 _Value2 = _Rhs;
23731  return double_3(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z);
23732  }
double_4 Concurrency::graphics::operator- ( const double_4 &  _Lhs,
const double_4 &  _Rhs 
)
inline
23770  {
23771  double_4 _Value1 = _Lhs;
23772  double_4 _Value2 = _Rhs;
23773  return double_4(_Value1.x - _Value2.x, _Value1.y - _Value2.y, _Value1.z - _Value2.z, _Value1.w - _Value2.w);
23774  }
unorm Concurrency::graphics::operator/ ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
421  {
422  return unorm(float(_Lhs) / float(_Rhs));
423  }
norm Concurrency::graphics::operator/ ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
426  {
427  return norm(float(_Lhs) / float(_Rhs));
428  }
uint_2 Concurrency::graphics::operator/ ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22818  {
22819  uint_2 _Value1 = _Lhs;
22820  uint_2 _Value2 = _Rhs;
22821  return uint_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
22822  }
uint_3 Concurrency::graphics::operator/ ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22902  {
22903  uint_3 _Value1 = _Lhs;
22904  uint_3 _Value2 = _Rhs;
22905  return uint_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
22906  }
uint_4 Concurrency::graphics::operator/ ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
22986  {
22987  uint_4 _Value1 = _Lhs;
22988  uint_4 _Value2 = _Rhs;
22989  return uint_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
22990  }
int_2 Concurrency::graphics::operator/ ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23070  {
23071  int_2 _Value1 = _Lhs;
23072  int_2 _Value2 = _Rhs;
23073  return int_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23074  }
int_3 Concurrency::graphics::operator/ ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23154  {
23155  int_3 _Value1 = _Lhs;
23156  int_3 _Value2 = _Rhs;
23157  return int_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23158  }
int_4 Concurrency::graphics::operator/ ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23238  {
23239  int_4 _Value1 = _Lhs;
23240  int_4 _Value2 = _Rhs;
23241  return int_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23242  }
float_2 Concurrency::graphics::operator/ ( const float_2 &  _Lhs,
const float_2 &  _Rhs 
)
inline
23322  {
23323  float_2 _Value1 = _Lhs;
23324  float_2 _Value2 = _Rhs;
23325  return float_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23326  }
float_3 Concurrency::graphics::operator/ ( const float_3 &  _Lhs,
const float_3 &  _Rhs 
)
inline
23364  {
23365  float_3 _Value1 = _Lhs;
23366  float_3 _Value2 = _Rhs;
23367  return float_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23368  }
float_4 Concurrency::graphics::operator/ ( const float_4 &  _Lhs,
const float_4 &  _Rhs 
)
inline
23406  {
23407  float_4 _Value1 = _Lhs;
23408  float_4 _Value2 = _Rhs;
23409  return float_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23410  }
unorm_2 Concurrency::graphics::operator/ ( const unorm_2 &  _Lhs,
const unorm_2 &  _Rhs 
)
inline
23448  {
23449  unorm_2 _Value1 = _Lhs;
23450  unorm_2 _Value2 = _Rhs;
23451  return unorm_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23452  }
unorm_3 Concurrency::graphics::operator/ ( const unorm_3 &  _Lhs,
const unorm_3 &  _Rhs 
)
inline
23490  {
23491  unorm_3 _Value1 = _Lhs;
23492  unorm_3 _Value2 = _Rhs;
23493  return unorm_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23494  }
unorm_4 Concurrency::graphics::operator/ ( const unorm_4 &  _Lhs,
const unorm_4 &  _Rhs 
)
inline
23532  {
23533  unorm_4 _Value1 = _Lhs;
23534  unorm_4 _Value2 = _Rhs;
23535  return unorm_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23536  }
norm_2 Concurrency::graphics::operator/ ( const norm_2 &  _Lhs,
const norm_2 &  _Rhs 
)
inline
23574  {
23575  norm_2 _Value1 = _Lhs;
23576  norm_2 _Value2 = _Rhs;
23577  return norm_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23578  }
norm_3 Concurrency::graphics::operator/ ( const norm_3 &  _Lhs,
const norm_3 &  _Rhs 
)
inline
23616  {
23617  norm_3 _Value1 = _Lhs;
23618  norm_3 _Value2 = _Rhs;
23619  return norm_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23620  }
norm_4 Concurrency::graphics::operator/ ( const norm_4 &  _Lhs,
const norm_4 &  _Rhs 
)
inline
23658  {
23659  norm_4 _Value1 = _Lhs;
23660  norm_4 _Value2 = _Rhs;
23661  return norm_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23662  }
double_2 Concurrency::graphics::operator/ ( const double_2 &  _Lhs,
const double_2 &  _Rhs 
)
inline
23700  {
23701  double_2 _Value1 = _Lhs;
23702  double_2 _Value2 = _Rhs;
23703  return double_2(_Value1.x / _Value2.x, _Value1.y / _Value2.y);
23704  }
double_3 Concurrency::graphics::operator/ ( const double_3 &  _Lhs,
const double_3 &  _Rhs 
)
inline
23742  {
23743  double_3 _Value1 = _Lhs;
23744  double_3 _Value2 = _Rhs;
23745  return double_3(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z);
23746  }
double_4 Concurrency::graphics::operator/ ( const double_4 &  _Lhs,
const double_4 &  _Rhs 
)
inline
23784  {
23785  double_4 _Value1 = _Lhs;
23786  double_4 _Value2 = _Rhs;
23787  return double_4(_Value1.x / _Value2.x, _Value1.y / _Value2.y, _Value1.z / _Value2.z, _Value1.w / _Value2.w);
23788  }
bool Concurrency::graphics::operator< ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
461  {
462  return float(_Lhs) < float(_Rhs);
463  }
bool Concurrency::graphics::operator< ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
466  {
467  return float(_Lhs) < float(_Rhs);
468  }
uint_2 Concurrency::graphics::operator<< ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22867  {
22868  uint_2 _Value1 = _Lhs;
22869  uint_2 _Value2 = _Rhs;
22870  return uint_2(_Value1.x << _Value2.x, _Value1.y << _Value2.y);
22871  }
uint_3 Concurrency::graphics::operator<< ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22951  {
22952  uint_3 _Value1 = _Lhs;
22953  uint_3 _Value2 = _Rhs;
22954  return uint_3(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z);
22955  }
uint_4 Concurrency::graphics::operator<< ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23035  {
23036  uint_4 _Value1 = _Lhs;
23037  uint_4 _Value2 = _Rhs;
23038  return uint_4(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z, _Value1.w << _Value2.w);
23039  }
int_2 Concurrency::graphics::operator<< ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23119  {
23120  int_2 _Value1 = _Lhs;
23121  int_2 _Value2 = _Rhs;
23122  return int_2(_Value1.x << _Value2.x, _Value1.y << _Value2.y);
23123  }
int_3 Concurrency::graphics::operator<< ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23203  {
23204  int_3 _Value1 = _Lhs;
23205  int_3 _Value2 = _Rhs;
23206  return int_3(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z);
23207  }
int_4 Concurrency::graphics::operator<< ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23287  {
23288  int_4 _Value1 = _Lhs;
23289  int_4 _Value2 = _Rhs;
23290  return int_4(_Value1.x << _Value2.x, _Value1.y << _Value2.y, _Value1.z << _Value2.z, _Value1.w << _Value2.w);
23291  }
bool Concurrency::graphics::operator<= ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
481  {
482  return float(_Lhs) <= float(_Rhs);
483  }
bool Concurrency::graphics::operator<= ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
486  {
487  return float(_Lhs) <= float(_Rhs);
488  }
bool Concurrency::graphics::operator== ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
431  {
432  return float(_Lhs) == float(_Rhs);
433  }
bool Concurrency::graphics::operator== ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
436  {
437  return float(_Lhs) == float(_Rhs);
438  }
bool Concurrency::graphics::operator== ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22825  {
22826  uint_2 _Value1 = _Lhs;
22827  uint_2 _Value2 = _Rhs;
22828  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
22829  }
bool Concurrency::graphics::operator== ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22909  {
22910  uint_3 _Value1 = _Lhs;
22911  uint_3 _Value2 = _Rhs;
22912  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
22913  }
bool Concurrency::graphics::operator== ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
22993  {
22994  uint_4 _Value1 = _Lhs;
22995  uint_4 _Value2 = _Rhs;
22996  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
22997  }
bool Concurrency::graphics::operator== ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23077  {
23078  int_2 _Value1 = _Lhs;
23079  int_2 _Value2 = _Rhs;
23080  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23081  }
bool Concurrency::graphics::operator== ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23161  {
23162  int_3 _Value1 = _Lhs;
23163  int_3 _Value2 = _Rhs;
23164  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23165  }
bool Concurrency::graphics::operator== ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23245  {
23246  int_4 _Value1 = _Lhs;
23247  int_4 _Value2 = _Rhs;
23248  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23249  }
bool Concurrency::graphics::operator== ( const float_2 &  _Lhs,
const float_2 &  _Rhs 
)
inline
23329  {
23330  float_2 _Value1 = _Lhs;
23331  float_2 _Value2 = _Rhs;
23332  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23333  }
bool Concurrency::graphics::operator== ( const float_3 &  _Lhs,
const float_3 &  _Rhs 
)
inline
23371  {
23372  float_3 _Value1 = _Lhs;
23373  float_3 _Value2 = _Rhs;
23374  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23375  }
bool Concurrency::graphics::operator== ( const float_4 &  _Lhs,
const float_4 &  _Rhs 
)
inline
23413  {
23414  float_4 _Value1 = _Lhs;
23415  float_4 _Value2 = _Rhs;
23416  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23417  }
bool Concurrency::graphics::operator== ( const unorm_2 &  _Lhs,
const unorm_2 &  _Rhs 
)
inline
23455  {
23456  unorm_2 _Value1 = _Lhs;
23457  unorm_2 _Value2 = _Rhs;
23458  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23459  }
bool Concurrency::graphics::operator== ( const unorm_3 &  _Lhs,
const unorm_3 &  _Rhs 
)
inline
23497  {
23498  unorm_3 _Value1 = _Lhs;
23499  unorm_3 _Value2 = _Rhs;
23500  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23501  }
bool Concurrency::graphics::operator== ( const unorm_4 &  _Lhs,
const unorm_4 &  _Rhs 
)
inline
23539  {
23540  unorm_4 _Value1 = _Lhs;
23541  unorm_4 _Value2 = _Rhs;
23542  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23543  }
bool Concurrency::graphics::operator== ( const norm_2 &  _Lhs,
const norm_2 &  _Rhs 
)
inline
23581  {
23582  norm_2 _Value1 = _Lhs;
23583  norm_2 _Value2 = _Rhs;
23584  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23585  }
bool Concurrency::graphics::operator== ( const norm_3 &  _Lhs,
const norm_3 &  _Rhs 
)
inline
23623  {
23624  norm_3 _Value1 = _Lhs;
23625  norm_3 _Value2 = _Rhs;
23626  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23627  }
bool Concurrency::graphics::operator== ( const norm_4 &  _Lhs,
const norm_4 &  _Rhs 
)
inline
23665  {
23666  norm_4 _Value1 = _Lhs;
23667  norm_4 _Value2 = _Rhs;
23668  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23669  }
bool Concurrency::graphics::operator== ( const double_2 &  _Lhs,
const double_2 &  _Rhs 
)
inline
23707  {
23708  double_2 _Value1 = _Lhs;
23709  double_2 _Value2 = _Rhs;
23710  return _Value1.x == _Value2.x && _Value1.y == _Value2.y;
23711  }
bool Concurrency::graphics::operator== ( const double_3 &  _Lhs,
const double_3 &  _Rhs 
)
inline
23749  {
23750  double_3 _Value1 = _Lhs;
23751  double_3 _Value2 = _Rhs;
23752  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z;
23753  }
bool Concurrency::graphics::operator== ( const double_4 &  _Lhs,
const double_4 &  _Rhs 
)
inline
23791  {
23792  double_4 _Value1 = _Lhs;
23793  double_4 _Value2 = _Rhs;
23794  return _Value1.x == _Value2.x && _Value1.y == _Value2.y && _Value1.z == _Value2.z && _Value1.w == _Value2.w;
23795  }
bool Concurrency::graphics::operator> ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
451  {
452  return float(_Lhs) > float(_Rhs);
453  }
bool Concurrency::graphics::operator> ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
456  {
457  return float(_Lhs) > float(_Rhs);
458  }
bool Concurrency::graphics::operator>= ( const unorm &  _Lhs,
const unorm &  _Rhs 
)
inline
471  {
472  return float(_Lhs) >= float(_Rhs);
473  }
bool Concurrency::graphics::operator>= ( const norm &  _Lhs,
const norm &  _Rhs 
)
inline
476  {
477  return float(_Lhs) >= float(_Rhs);
478  }
uint_2 Concurrency::graphics::operator>> ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22874  {
22875  uint_2 _Value1 = _Lhs;
22876  uint_2 _Value2 = _Rhs;
22877  return uint_2(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y);
22878  }
uint_3 Concurrency::graphics::operator>> ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22958  {
22959  uint_3 _Value1 = _Lhs;
22960  uint_3 _Value2 = _Rhs;
22961  return uint_3(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z);
22962  }
uint_4 Concurrency::graphics::operator>> ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23042  {
23043  uint_4 _Value1 = _Lhs;
23044  uint_4 _Value2 = _Rhs;
23045  return uint_4(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z, _Value1.w >> _Value2.w);
23046  }
int_2 Concurrency::graphics::operator>> ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23126  {
23127  int_2 _Value1 = _Lhs;
23128  int_2 _Value2 = _Rhs;
23129  return int_2(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y);
23130  }
int_3 Concurrency::graphics::operator>> ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23210  {
23211  int_3 _Value1 = _Lhs;
23212  int_3 _Value2 = _Rhs;
23213  return int_3(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z);
23214  }
int_4 Concurrency::graphics::operator>> ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23294  {
23295  int_4 _Value1 = _Lhs;
23296  int_4 _Value2 = _Rhs;
23297  return int_4(_Value1.x >> _Value2.x, _Value1.y >> _Value2.y, _Value1.z >> _Value2.z, _Value1.w >> _Value2.w);
23298  }
uint_2 Concurrency::graphics::operator^ ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22846  {
22847  uint_2 _Value1 = _Lhs;
22848  uint_2 _Value2 = _Rhs;
22849  return uint_2(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y);
22850  }
uint_3 Concurrency::graphics::operator^ ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22930  {
22931  uint_3 _Value1 = _Lhs;
22932  uint_3 _Value2 = _Rhs;
22933  return uint_3(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z);
22934  }
uint_4 Concurrency::graphics::operator^ ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23014  {
23015  uint_4 _Value1 = _Lhs;
23016  uint_4 _Value2 = _Rhs;
23017  return uint_4(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z, _Value1.w ^ _Value2.w);
23018  }
int_2 Concurrency::graphics::operator^ ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23098  {
23099  int_2 _Value1 = _Lhs;
23100  int_2 _Value2 = _Rhs;
23101  return int_2(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y);
23102  }
int_3 Concurrency::graphics::operator^ ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23182  {
23183  int_3 _Value1 = _Lhs;
23184  int_3 _Value2 = _Rhs;
23185  return int_3(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z);
23186  }
int_4 Concurrency::graphics::operator^ ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23266  {
23267  int_4 _Value1 = _Lhs;
23268  int_4 _Value2 = _Rhs;
23269  return int_4(_Value1.x ^ _Value2.x, _Value1.y ^ _Value2.y, _Value1.z ^ _Value2.z, _Value1.w ^ _Value2.w);
23270  }
uint_2 Concurrency::graphics::operator| ( const uint_2 &  _Lhs,
const uint_2 &  _Rhs 
)
inline
22853  {
22854  uint_2 _Value1 = _Lhs;
22855  uint_2 _Value2 = _Rhs;
22856  return uint_2(_Value1.x | _Value2.x, _Value1.y | _Value2.y);
22857  }
uint_3 Concurrency::graphics::operator| ( const uint_3 &  _Lhs,
const uint_3 &  _Rhs 
)
inline
22937  {
22938  uint_3 _Value1 = _Lhs;
22939  uint_3 _Value2 = _Rhs;
22940  return uint_3(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z);
22941  }
uint_4 Concurrency::graphics::operator| ( const uint_4 &  _Lhs,
const uint_4 &  _Rhs 
)
inline
23021  {
23022  uint_4 _Value1 = _Lhs;
23023  uint_4 _Value2 = _Rhs;
23024  return uint_4(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z, _Value1.w | _Value2.w);
23025  }
int_2 Concurrency::graphics::operator| ( const int_2 &  _Lhs,
const int_2 &  _Rhs 
)
inline
23105  {
23106  int_2 _Value1 = _Lhs;
23107  int_2 _Value2 = _Rhs;
23108  return int_2(_Value1.x | _Value2.x, _Value1.y | _Value2.y);
23109  }
int_3 Concurrency::graphics::operator| ( const int_3 &  _Lhs,
const int_3 &  _Rhs 
)
inline
23189  {
23190  int_3 _Value1 = _Lhs;
23191  int_3 _Value2 = _Rhs;
23192  return int_3(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z);
23193  }
int_4 Concurrency::graphics::operator| ( const int_4 &  _Lhs,
const int_4 &  _Rhs 
)
inline
23273  {
23274  int_4 _Value1 = _Lhs;
23275  int_4 _Value2 = _Rhs;
23276  return int_4(_Value1.x | _Value2.x, _Value1.y | _Value2.y, _Value1.z | _Value2.z, _Value1.w | _Value2.w);
23277  }