Created
June 13, 2021 17:48
-
-
Save wx257osn2/6b4d47e3c90f83d4a32569a25c067528 to your computer and use it in GitHub Desktop.
The patch for amp_graphics.h in order to match the standard conformation degree of the compiler on VS2019 16.10.1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/amp_graphics.h b/amp_graphics.h | |
index c63de07..98bd512 100644 | |
--- a/amp_graphics.h | |
+++ b/amp_graphics.h | |
@@ -638,6 +638,24 @@ _Ret_ IUnknown * get_sampler(const Concurrency::accelerator_view &_Av, const sam | |
} // namespace direct3d | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+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); | |
+ | |
/// <summary> | |
/// 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. | |
@@ -667,7 +685,7 @@ public: | |
/// An extent that describes the shape of the texture. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "texture cannot be constructed from norm based short vectors via this constructor."); | |
@@ -681,7 +699,7 @@ public: | |
/// An integer that is the length of this texture (width). | |
/// </param> | |
texture(int _E0) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int) is only permissible on texture<value_type, 1>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -699,7 +717,7 @@ public: | |
/// An integer that is the length of the least-significant dimension of this texture (width). | |
/// </param> | |
texture(int _E0, int _E1) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int) is only permissible on texture<value_type, 2>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -720,7 +738,7 @@ public: | |
/// An integer that is the length of the least-significant dimension of this texture (width). | |
/// </param> | |
texture(int _E0, int _E1, int _E2) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int) is only permissible on texture<value_type, 3>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -738,7 +756,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "texture cannot be constructed from norm based short vectors via this constructor."); | |
@@ -761,7 +779,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "texture cannot be constructed from norm based short vectors via this constructor."); | |
@@ -778,7 +796,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, accelerator_view) is only permissible on texture<value_type, 1>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -802,7 +820,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 1>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -823,7 +841,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, int _E1, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, accelerator_view) is only permissible on texture<value_type, 2>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -850,7 +868,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, int _E1, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 2>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -874,7 +892,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, int _E1, int _E2, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, accelerator_view) is only permissible on texture<value_type, 3>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -904,7 +922,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, int _E1, int _E2, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 3>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -927,7 +945,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(const Concurrency::extent<_Rank>& _Ext, _Input_iterator _Src_first, _Input_iterator _Src_last) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "texture cannot be constructed from norm based short vectors via this constructor."); | |
@@ -949,7 +967,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, _Input_iterator _Src_first, _Input_iterator _Src_last) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, iterator, iterator) is only permissible on texture<value_type, 1>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -975,7 +993,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, int _E1, _Input_iterator _Src_first, _Input_iterator _Src_last) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, iterator, iterator) is only permissible on texture<value_type, 2>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1005,7 +1023,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, int _E1, int _E2, _Input_iterator _Src_first, _Input_iterator _Src_last) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, iterator, iterator) is only permissible on texture<value_type, 3>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1031,7 +1049,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(const Concurrency::extent<_Rank>& _Ext, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "texture cannot be constructed from norm based short vectors via this constructor."); | |
@@ -1062,7 +1080,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(const Concurrency::extent<_Rank>& _Ext, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Norm_type, "texture cannot be constructed from norm based short vectors via this constructor."); | |
@@ -1087,7 +1105,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, iterator, iterator, accelerator_view) is only permissible on texture<value_type, 1>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1119,7 +1137,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, iterator, iterator, accelerator_view, accelerator_view) is only permissible on texture<value_type, 1>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1148,7 +1166,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, int _E1, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, iterator, iterator, accelerator_view) is only permissible on texture<value_type, 2>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1183,7 +1201,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, int _E1, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, iterator, iterator, accelerator_view, accelerator_view) is only permissible on texture<value_type, 2>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1215,7 +1233,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, int _E1, int _E2, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, iterator, iterator, accelerator_view) is only permissible on texture<value_type, 3>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1253,7 +1271,7 @@ public: | |
template<typename _Input_iterator, | |
typename = typename std::enable_if<details::_Is_iterator<_Input_iterator>::value>::type> | |
texture(int _E0, int _E1, int _E2, _Input_iterator _Src_first, _Input_iterator _Src_last, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, iterator, iterator, accelerator_view, accelerator_view) is only permissible on texture<value_type, 3>."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "texture cannot be constructed from unorm based short vectors via this constructor."); | |
@@ -1274,7 +1292,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Bits_per_scalar_element); | |
} | |
@@ -1296,7 +1314,7 @@ public: | |
/// If 0 is specified, the texture will have full range of mipmap levels down to smallest possible size for the given extent. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, unsigned int _Bits_per_scalar_element, unsigned int _Mipmap_levels) __CPU_ONLY | |
- : _Texture_base(_Ext, _Mipmap_levels) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext, _Mipmap_levels) | |
{ | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Bits_per_scalar_element); | |
} | |
@@ -1314,7 +1332,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(int _E0, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, unsigned int) is only permissible on texture<value_type, 1>."); | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Bits_per_scalar_element); | |
@@ -1336,7 +1354,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(int _E0, int _E1, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, unsigned int) is only permissible on texture<value_type, 2>."); | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Bits_per_scalar_element); | |
@@ -1364,7 +1382,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(int _E0, int _E1, int _E2, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, unsigned int) is only permissible on texture<value_type, 3>."); | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Bits_per_scalar_element); | |
@@ -1387,7 +1405,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
_Initialize(_Av, _Bits_per_scalar_element); | |
} | |
@@ -1412,7 +1430,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, unsigned int _Bits_per_scalar_element, unsigned int _Mipmap_levels, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(_Ext, _Mipmap_levels) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext, _Mipmap_levels) | |
{ | |
_Initialize(_Av, _Bits_per_scalar_element); | |
} | |
@@ -1439,7 +1457,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
_Initialize(_Av, _Associated_av, _Bits_per_scalar_element); | |
} | |
@@ -1460,7 +1478,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, unsigned int, accelerator_view) is only permissible on texture<value_type, 1>."); | |
_Initialize(_Av, _Bits_per_scalar_element); | |
@@ -1488,7 +1506,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, unsigned int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 1>."); | |
_Initialize(_Av, _Associated_av, _Bits_per_scalar_element); | |
@@ -1513,7 +1531,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, int _E1, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, unsigned int, accelerator_view) is only permissible on texture<value_type, 2>."); | |
_Initialize(_Av, _Bits_per_scalar_element); | |
@@ -1544,7 +1562,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, int _E1, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, unsigned int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 2>."); | |
_Initialize(_Av, _Associated_av, _Bits_per_scalar_element); | |
@@ -1572,7 +1590,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, int _E1, int _E2, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, unsigned int, accelerator_view) is only permissible on texture<value_type, 3>."); | |
_Initialize(_Av, _Bits_per_scalar_element); | |
@@ -1606,7 +1624,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, int _E1, int _E2, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, unsigned int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 3>."); | |
_Initialize(_Av, _Associated_av, _Bits_per_scalar_element); | |
@@ -1631,7 +1649,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
} | |
@@ -1655,7 +1673,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(int _E0, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, void *, unsigned int, unsigned int) is only permissible on texture<value_type, 1>."); | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1683,7 +1701,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(int _E0, int _E1, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, void *, unsigned int, unsigned int) is only permissible on texture<value_type, 2>."); | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1715,7 +1733,7 @@ public: | |
/// 64 is only valid for double based textures | |
/// </param> | |
texture(int _E0, int _E1, int _E2, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, void *, unsigned int, unsigned int) is only permissible on texture<value_type, 3>."); | |
_Initialize(Concurrency::details::_Select_default_accelerator().default_view, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1743,7 +1761,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
_Initialize(_Av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
} | |
@@ -1776,7 +1794,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(const Concurrency::extent<_Rank>& _Ext, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(_Ext) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Ext) | |
{ | |
_Initialize(_Av, _Associated_av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
} | |
@@ -1803,7 +1821,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, void *, unsigned int, unsigned int, accelerator_view) is only permissible on texture<value_type, 1>."); | |
_Initialize(_Av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1837,7 +1855,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0)) | |
{ | |
static_assert(_Rank == 1, "texture(int, void *, unsigned int, unsigned int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 1>."); | |
_Initialize(_Av, _Associated_av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1868,7 +1886,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, int _E1, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, void *, unsigned int, unsigned int, accelerator_view) is only permissible on texture<value_type, 2>."); | |
_Initialize(_Av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1905,7 +1923,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, int _E1, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1)) | |
{ | |
static_assert(_Rank == 2, "texture(int, int, void *, unsigned int, unsigned int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 2>."); | |
_Initialize(_Av, _Associated_av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1939,7 +1957,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(int _E0, int _E1, int _E2, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, void *, unsigned int, unsigned int, accelerator_view) is only permissible on texture<value_type, 3>."); | |
_Initialize(_Av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1979,7 +1997,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(int _E0, int _E1, int _E2, const void * _Source, unsigned int _Src_byte_size, unsigned int _Bits_per_scalar_element, const Concurrency::accelerator_view& _Av, const Concurrency::accelerator_view& _Associated_av) __CPU_ONLY | |
- : _Texture_base(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
+ : details::_Texture_base<_Value_type, _Rank>(Concurrency::extent<_Rank>(_E0, _E1, _E2)) | |
{ | |
static_assert(_Rank == 3, "texture(int, int, int, void *, unsigned int, unsigned int, accelerator_view, accelerator_view) is only permissible on texture<value_type, 3>."); | |
_Initialize(_Av, _Associated_av, _Source, _Src_byte_size, _Bits_per_scalar_element); | |
@@ -1992,7 +2010,7 @@ public: | |
/// The texture_view to copy from. | |
/// </param> | |
texture(const texture_view<_Value_type, _Rank> & _Src) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Src.accelerator_view, _Src); | |
} | |
@@ -2004,7 +2022,7 @@ public: | |
/// The read-only texture_view to copy from. | |
/// </param> | |
texture(const texture_view<const _Value_type, _Rank> & _Src) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Src.accelerator_view, _Src); | |
} | |
@@ -2019,7 +2037,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const texture_view<_Value_type, _Rank> & _Src, const Concurrency::accelerator_view & _Acc_view) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Acc_view, _Src); | |
} | |
@@ -2034,7 +2052,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const texture_view<const _Value_type, _Rank> & _Src, const Concurrency::accelerator_view & _Acc_view) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Acc_view, _Src); | |
} | |
@@ -2053,7 +2071,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(const texture_view<_Value_type, _Rank> & _Src, const Concurrency::accelerator_view & _Acc_view, const Concurrency::accelerator_view& _Associated_av) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Acc_view, _Associated_av, _Src); | |
} | |
@@ -2072,7 +2090,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(const texture_view<const _Value_type, _Rank> & _Src, const Concurrency::accelerator_view & _Acc_view, const Concurrency::accelerator_view& _Associated_av) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Acc_view, _Associated_av, _Src); | |
} | |
@@ -2084,7 +2102,7 @@ public: | |
/// The texture to copy from. | |
/// </param> | |
texture(const texture & _Src) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Src.accelerator_view, _Src.associated_accelerator_view, _Src); | |
} | |
@@ -2110,7 +2128,7 @@ public: | |
/// An accelerator_view where this texture resides. | |
/// </param> | |
texture(const texture & _Src, const Concurrency::accelerator_view & _Av) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Av, _Src); | |
} | |
@@ -2129,7 +2147,7 @@ public: | |
/// to/from the texture. | |
/// </param> | |
texture(const texture & _Src, const Concurrency::accelerator_view & _Av, const Concurrency::accelerator_view& _Associated_av) | |
- : _Texture_base(_Src.extent, _Src.get_mipmap_levels()) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src.extent, _Src.get_mipmap_levels()) | |
{ | |
_Initialize(_Av, _Associated_av, _Src); | |
} | |
@@ -2603,7 +2621,7 @@ public: | |
/// The texture on which the writeonly view is created. | |
/// </param> | |
writeonly_texture_view(texture<_Value_type, _Rank>& _Src) __CPU_ONLY | |
- : _Texture_base(_Src, /*_Most_detailed_mipmap_level=*/0, /*_View_mipmap_levels=*/1) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src, /*_Most_detailed_mipmap_level=*/0, /*_View_mipmap_levels=*/1) | |
{ | |
_Texture* _Tex = this->_Get_texture(); | |
if ((_Tex->_Get_num_channels() == 3) && (_Tex->_Get_bits_per_channel() == 32)) { | |
@@ -2621,7 +2639,7 @@ public: | |
/// The texture on which the writeonly view is created. | |
/// </param> | |
writeonly_texture_view(texture<_Value_type, _Rank>& _Src) __GPU_ONLY | |
- : _Texture_base(_Src, /*_Flatten_mipmap_levels=*/true) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src, /*_Flatten_mipmap_levels=*/true) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Num_channels == 1, "Invalid value_type for the constructor."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "Invalid value_type for the constructor."); | |
@@ -2635,7 +2653,7 @@ public: | |
/// The writeonly_texture_view from which the current view is created. | |
/// </param> | |
writeonly_texture_view(const writeonly_texture_view<_Value_type, _Rank>& _Src) __GPU | |
- : _Texture_base(_Src) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src) | |
{ | |
} | |
@@ -2704,7 +2722,7 @@ public: | |
/// The default value 0, binds to the top mosted detail mipmap level. | |
/// </param> | |
texture_view(texture<_Value_type, _Rank>& _Src, unsigned int _Mipmap_level = 0) __CPU_ONLY | |
- : _Texture_base(_Src, _Mipmap_level, /*_View_mipmap_levels=*/1) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src, _Mipmap_level, /*_View_mipmap_levels=*/1) | |
{ | |
if (this->_Get_texture()->_Is_staging()) { | |
throw runtime_exception("texture_view cannot be created from a staging texture object.", E_INVALIDARG); | |
@@ -2718,7 +2736,7 @@ public: | |
/// The texture on which the texture_view is created. | |
/// </param> | |
texture_view(texture<_Value_type, _Rank>& _Src) __GPU_ONLY | |
- : _Texture_base(_Src, /*_Flatten_mipmap_levels=*/true) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src, /*_Flatten_mipmap_levels=*/true) | |
{ | |
static_assert(_Short_vector_type_traits<_Value_type>::_Num_channels == 1, "writable texture_view can only be created from a single-component texture on an accelerator."); | |
static_assert(_Short_vector_type_traits<_Value_type>::_Format_base_type_id != _Unorm_type, "writable texture_view cannot be created from a unorm texture on an accelerator."); | |
@@ -2732,7 +2750,7 @@ public: | |
/// The source texture_view. | |
/// </param> | |
texture_view(const texture_view<_Value_type, _Rank>& _Other) __GPU | |
- : _Texture_base(_Other) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Other) | |
{ | |
} | |
@@ -3162,7 +3180,7 @@ public: | |
/// The texture on which the read-only view is created. | |
/// </param> | |
texture_view(const texture<_Value_type, _Rank>& _Src) __GPU_ONLY | |
- : _Texture_base(_Src) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src) | |
{ | |
// only on the gpu it is not allowed | |
static_assert(_Short_vector_type_traits<_Value_type>::_Num_channels != 1, "Read-only texture_view cannot be created from single-component textures on an accelerator."); | |
@@ -3175,7 +3193,7 @@ public: | |
/// The texture on which the read-only view is created. | |
/// </param> | |
texture_view(const texture<_Value_type, _Rank>& _Src) __CPU_ONLY | |
- : _Texture_base(_Src) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src) | |
{ | |
if (this->_Get_texture()->_Is_staging()) { | |
throw runtime_exception("Read-only texture_view cannot be created from a staging texture object.", E_INVALIDARG); | |
@@ -3195,7 +3213,7 @@ public: | |
/// The number of mipmap levels accessible for the view. | |
/// </param> | |
texture_view(const texture<_Value_type, _Rank>& _Src, unsigned int _Most_detailed_mip, unsigned int _Mip_levels) __CPU_ONLY | |
- : _Texture_base(_Src, _Most_detailed_mip, _Mip_levels) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Src, _Most_detailed_mip, _Mip_levels) | |
{ | |
if (this->_Get_texture()->_Is_staging()) { | |
throw runtime_exception("Read-only texture_view cannot be created from a staging texture object.", E_INVALIDARG); | |
@@ -3209,7 +3227,7 @@ public: | |
/// The writable texture view from which the read-only view is created. | |
/// </param> | |
texture_view(const texture_view<_Value_type, _Rank>& _Other) __CPU_ONLY | |
- : _Texture_base(_Other) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Other) | |
{ | |
} | |
@@ -3220,7 +3238,7 @@ public: | |
/// The source read-only texture_view. | |
/// </param> | |
texture_view(const texture_view<const _Value_type, _Rank>& _Other) __GPU | |
- : _Texture_base(_Other) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Other) | |
{ | |
} | |
@@ -3239,7 +3257,7 @@ public: | |
/// The number of mipmap levels accessible for the view. | |
/// </param> | |
texture_view(const texture_view<const _Value_type, _Rank>& _Other, unsigned int _Most_detailed_mip, unsigned int _Mip_levels) __CPU_ONLY | |
- : _Texture_base(_Other, _Most_detailed_mip, _Mip_levels) | |
+ : details::_Texture_base<_Value_type, _Rank>(_Other, _Most_detailed_mip, _Mip_levels) | |
{ | |
} | |
@@ -4122,7 +4140,7 @@ _Event _Copy_async_impl(const _Texture_base<_Value_type, _Rank>& _Src, const ind | |
/// <param name="_Dst_byte_size"> | |
/// Number of bytes in the destination buffer. | |
/// </param> | |
-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) | |
+template <typename _Src_type, typename> void copy(const _Src_type &_Src, _Out_ void * _Dst, unsigned int _Dst_byte_size) | |
{ | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), | |
nullptr, | |
@@ -4157,7 +4175,7 @@ template <typename _Src_type, typename = typename std::enable_if<details::textur | |
/// <param name="_Dst_byte_size"> | |
/// Number of bytes in the destination buffer. | |
/// </param> | |
-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) | |
+template <typename _Src_type, typename> 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) | |
{ | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), | |
nullptr, | |
@@ -4187,7 +4205,7 @@ template <typename _Src_type, typename = typename std::enable_if<details::textur | |
/// <param name="_Dst"> | |
/// The destination texture or texture_view. | |
/// </param> | |
-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) | |
+template <typename _Dst_type, typename> void copy(const void * _Src, unsigned int _Src_byte_size, _Dst_type & _Dst) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(nullptr, | |
@@ -4220,7 +4238,7 @@ template <typename _Dst_type, typename = typename std::enable_if<details::textur | |
/// <param name="_Copy_extent"> | |
/// The extent of the texture section to copy. | |
/// </param> | |
-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, | |
+template <typename _Dst_type, typename> 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) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
@@ -4255,7 +4273,7 @@ template <typename _Dst_type, typename = typename std::enable_if<details::textur | |
/// <returns> | |
/// A future upon which to wait for the operation to complete. | |
/// </returns> | |
-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) | |
+template<typename _Src_type, typename> concurrency::completion_future copy_async(const _Src_type &_Src, _Out_ void * _Dst, unsigned int _Dst_byte_size) | |
{ | |
auto _Async_op_id = concurrency::details::_Get_amp_trace()->_Launch_async_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), | |
nullptr, | |
@@ -4290,7 +4308,7 @@ template<typename _Src_type, typename = typename std::enable_if<details::texture | |
/// <returns> | |
/// A future upon which to wait for the operation to complete. | |
/// </returns> | |
-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, | |
+template<typename _Src_type, typename> 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) | |
{ | |
auto _Async_op_id = concurrency::details::_Get_amp_trace()->_Launch_async_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), | |
@@ -4320,7 +4338,7 @@ template<typename _Src_type, typename = typename std::enable_if<details::texture | |
/// <returns> | |
/// A future upon which to wait for the operation to complete. | |
/// </returns> | |
-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) | |
+template <typename _Dst_type, typename> concurrency::completion_future copy_async(const void * _Src, unsigned int _Src_byte_size, _Dst_type & _Dst) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
auto _Async_op_id = concurrency::details::_Get_amp_trace()->_Launch_async_copy_event_helper(nullptr, | |
@@ -4356,7 +4374,7 @@ template <typename _Dst_type, typename = typename std::enable_if<details::textur | |
/// <returns> | |
/// A future upon which to wait for the operation to complete. | |
/// </returns> | |
-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, | |
+template <typename _Dst_type, typename> 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) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
@@ -4387,7 +4405,7 @@ template <typename _Dst_type, typename = typename std::enable_if<details::textur | |
/// <param name="_Dst"> | |
/// The destination texture or texture_view. | |
/// </param> | |
-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) | |
+template <typename InputIterator, typename _Dst_type, typename> void copy(InputIterator _First, InputIterator _Last, _Dst_type &_Dst) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(nullptr, | |
@@ -4423,7 +4441,7 @@ template <typename InputIterator, typename _Dst_type, typename = typename std::e | |
/// <param name="_Copy_extent"> | |
/// The extent of the texture section to copy. | |
/// </param> | |
-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) | |
+template <typename InputIterator, typename _Dst_type, typename> void copy(InputIterator _First, InputIterator _Last, _Dst_type &_Dst, const index<_Dst_type::rank> &_Dst_offset, const extent<_Dst_type::rank> &_Copy_extent) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(nullptr, | |
@@ -4447,7 +4465,7 @@ template <typename InputIterator, typename _Dst_type, typename = typename std::e | |
/// <param name="_Dst"> | |
/// The starting iterator for the copy output. | |
/// </param> | |
-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) | |
+template <typename _Src_type, typename OutputIterator, typename> void copy(const _Src_type &_Src, OutputIterator _Dst) | |
{ | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), | |
nullptr, | |
@@ -4476,7 +4494,7 @@ template <typename _Src_type, typename OutputIterator, typename = typename std:: | |
/// <param name="_Dst"> | |
/// The starting iterator for the copy output. | |
/// </param> | |
-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) | |
+template <typename _Src_type, typename OutputIterator, typename> void copy(const _Src_type &_Src, const index<_Src_type::rank> &_Src_offset, const extent<_Src_type::rank> &_Copy_extent, OutputIterator _Dst) | |
{ | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), | |
nullptr, | |
@@ -4502,7 +4520,7 @@ template <typename _Src_type, typename OutputIterator, typename = typename std:: | |
/// <param name="_Dst"> | |
/// The destination texture into which to copy. | |
/// </param> | |
-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) | |
+template <typename _Src_type, typename _Dst_type, typename> void copy(const _Src_type &_Src, _Dst_type &_Dst) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
@@ -4544,7 +4562,7 @@ template <typename _Src_type, typename _Dst_type, typename = typename std::enabl | |
/// <param name="_Copy_extent"> | |
/// The extent of the texture section to copy. | |
/// </param> | |
-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) | |
+template <typename _Src_type, typename _Dst_type, typename> 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) | |
{ | |
static_assert(details::texture_traits<_Dst_type>::is_writable, "Destination is not a writable texture type."); | |
auto _Span_id = concurrency::details::_Get_amp_trace()->_Start_copy_event_helper(concurrency::details::_Get_texture_descriptor(_Src), |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment