STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | Private Attributes | List of all members
Concurrency::details::_Texture_descriptor Struct Reference

#include <amprt.h>

Public Member Functions

 _Texture_descriptor () __GPU
 
 _Texture_descriptor (unsigned int _Most_detailed_mipmap_level, unsigned int _View_mipmap_levels) __GPU
 
 _Texture_descriptor (_In_ _Texture *_Texture_ptr) __CPU_ONLY
 
 ~_Texture_descriptor () __GPU
 
 _Texture_descriptor (const _Texture_descriptor &_Other) __GPU
 
 _Texture_descriptor (const _Texture_descriptor &_Other, unsigned int _Most_detailed_mipmap_level, unsigned int _View_mipmap_levels) __GPU
 
_Texture_descriptoroperator= (const _Texture_descriptor &_Other) __GPU
 
 _Texture_descriptor (_Texture_descriptor &&_Other) __CPU_ONLY
 
bool operator== (const _Texture_descriptor &_Other) const __GPU
 
_Ret_ _Texture_Get_texture_ptr () const __CPU_ONLY
 
unsigned int _Get_most_detailed_mipmap_level () const __GPU
 
unsigned int _Get_view_mipmap_levels () const __GPU
 
void _Set_view_mipmap_levels (unsigned int _View_mipmap_levels) __CPU_ONLY
 
void _Set_texture_ptr (_In_opt_ _Texture *_Texture_ptr) __CPU_ONLY
 
void _Set_texture_ptr (_In_opt_ _Texture *) __GPU_ONLY
 
bool _Are_mipmap_levels_overlapping (const _Texture_descriptor *_Other) const __CPU_ONLY
 

Public Attributes

IUnknown * _M_data_ptr
 

Private Attributes

_Texture_M_texture_ptr
 
unsigned int _M_most_detailed_mipmap_level
 
unsigned int _M_view_mipmap_levels
 

Constructor & Destructor Documentation

Concurrency::details::_Texture_descriptor::_Texture_descriptor ( )
inline
583  {
584  // Enables move constructor
585  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
IUnknown * _M_data_ptr
Definition: amprt.h:558
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
Concurrency::details::_Texture_descriptor::_Texture_descriptor ( unsigned int  _Most_detailed_mipmap_level,
unsigned int  _View_mipmap_levels 
)
inline
589  : _M_data_ptr(NULL), _M_texture_ptr(NULL), _M_most_detailed_mipmap_level(_Most_detailed_mipmap_level), _M_view_mipmap_levels(_View_mipmap_levels)
590  {
591  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
IUnknown * _M_data_ptr
Definition: amprt.h:558
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
Concurrency::details::_Texture_descriptor::_Texture_descriptor ( _In_ _Texture _Texture_ptr)
inline
596  {
598 
599  // Adopt number of mipmap levels from underlying texture object
601  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
details::_Reference_counted_obj_ptr< details::_Texture > _Texture_ptr
Definition: amprt.h:309
IUnknown * _M_data_ptr
Definition: amprt.h:558
unsigned int _Get_mipmap_levels(const _Texture *_Tex)
Definition: amprt.h:3909
void _Set_texture_ptr(_In_opt_ _Texture *_Texture_ptr) __CPU_ONLY
Definition: amprt.h:674
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
Concurrency::details::_Texture_descriptor::~_Texture_descriptor ( )
inline
605  {
607  }
void _Set_texture_ptr(_In_opt_ _Texture *_Texture_ptr) __CPU_ONLY
Definition: amprt.h:674
#define NULL
Definition: corecrt.h:158
Concurrency::details::_Texture_descriptor::_Texture_descriptor ( const _Texture_descriptor _Other)
inline
613  {
615  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
IUnknown * _M_data_ptr
Definition: amprt.h:558
void _Set_texture_ptr(_In_opt_ _Texture *_Texture_ptr) __CPU_ONLY
Definition: amprt.h:674
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
Concurrency::details::_Texture_descriptor::_Texture_descriptor ( const _Texture_descriptor _Other,
unsigned int  _Most_detailed_mipmap_level,
unsigned int  _View_mipmap_levels 
)
inline
620  _M_most_detailed_mipmap_level(_Most_detailed_mipmap_level), _M_view_mipmap_levels(_View_mipmap_levels)
621  {
623  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
IUnknown * _M_data_ptr
Definition: amprt.h:558
void _Set_texture_ptr(_In_opt_ _Texture *_Texture_ptr) __CPU_ONLY
Definition: amprt.h:674
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
Concurrency::details::_Texture_descriptor::_Texture_descriptor ( _Texture_descriptor &&  _Other)
inline
641  {
642  *this = std::move(_Other);
643  }
constexpr remove_reference< _Ty >::type && move(_Ty &&_Arg) _NOEXCEPT
Definition: type_traits:1349

Member Function Documentation

bool Concurrency::details::_Texture_descriptor::_Are_mipmap_levels_overlapping ( const _Texture_descriptor _Other) const
inline
700  {
701  _ASSERTE(_Other);
702 
703  if (this->_Get_texture_ptr() != _Other->_Get_texture_ptr())
704  {
705  return false;
706  }
707 
710  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
#define _ASSERTE(expr)
Definition: crtdbg.h:707
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Ret_ _Texture * _Get_texture_ptr() const __CPU_ONLY
Definition: amprt.h:653
unsigned int Concurrency::details::_Texture_descriptor::_Get_most_detailed_mipmap_level ( ) const
inline
660  {
662  }
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Ret_ _Texture* Concurrency::details::_Texture_descriptor::_Get_texture_ptr ( ) const
inline
654  {
656  return _M_texture_ptr;
657  }
#define _ASSERTE(expr)
Definition: crtdbg.h:707
_Texture * _M_texture_ptr
Definition: amprt.h:565
unsigned int Concurrency::details::_Texture_descriptor::_Get_view_mipmap_levels ( ) const
inline
665  {
666  return _M_view_mipmap_levels;
667  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
void Concurrency::details::_Texture_descriptor::_Set_texture_ptr ( _In_opt_ _Texture _Texture_ptr)
inline
675  {
677  {
678  if (_M_texture_ptr != NULL) {
679  reinterpret_cast<_Reference_counter*>(_M_texture_ptr)->_Remove_reference();
680  }
681 
683 
684  if (_M_texture_ptr != NULL) {
685  reinterpret_cast<_Reference_counter*>(_M_texture_ptr)->_Add_reference();
686  }
687  }
688  }
details::_Reference_counted_obj_ptr< details::_Texture > _Texture_ptr
Definition: amprt.h:309
Definition: type_traits:160
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
void Concurrency::details::_Texture_descriptor::_Set_texture_ptr ( _In_opt_ _Texture )
inline
692  {
693  // No need to set the texture ptr on the GPU
695  }
_Texture * _M_texture_ptr
Definition: amprt.h:565
#define NULL
Definition: corecrt.h:158
void Concurrency::details::_Texture_descriptor::_Set_view_mipmap_levels ( unsigned int  _View_mipmap_levels)
inline
670  {
671  _M_view_mipmap_levels = _View_mipmap_levels;
672  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
_Texture_descriptor& Concurrency::details::_Texture_descriptor::operator= ( const _Texture_descriptor _Other)
inline
627  {
628  if (this != &_Other)
629  {
630  _M_data_ptr = _Other._M_data_ptr;
634  }
635 
636  return *this;
637  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
IUnknown * _M_data_ptr
Definition: amprt.h:558
void _Set_texture_ptr(_In_opt_ _Texture *_Texture_ptr) __CPU_ONLY
Definition: amprt.h:674
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565
bool Concurrency::details::_Texture_descriptor::operator== ( const _Texture_descriptor _Other) const
inline
646  {
647  return _M_texture_ptr == _Other._M_texture_ptr
648  && _M_data_ptr == _Other._M_data_ptr
651  }
unsigned int _M_view_mipmap_levels
Definition: amprt.h:575
IUnknown * _M_data_ptr
Definition: amprt.h:558
unsigned int _M_most_detailed_mipmap_level
Definition: amprt.h:569
_Texture * _M_texture_ptr
Definition: amprt.h:565

Member Data Documentation

IUnknown* Concurrency::details::_Texture_descriptor::_M_data_ptr
mutable
unsigned int Concurrency::details::_Texture_descriptor::_M_most_detailed_mipmap_level
private
_Texture* Concurrency::details::_Texture_descriptor::_M_texture_ptr
private
unsigned int Concurrency::details::_Texture_descriptor::_M_view_mipmap_levels
private

The documentation for this struct was generated from the following file: