Blender  V3.3
Public Member Functions | List of all members
blender::draw::TextureFromPool Class Reference

#include <DRW_gpu_wrapper.hh>

Inheritance diagram for blender::draw::TextureFromPool:
blender::draw::Texture blender::NonMovable blender::NonCopyable

Public Member Functions

 TextureFromPool (const char *name="gpu::Texture")
 
void acquire (int2 extent, eGPUTextureFormat format, void *owner_)
 
void release (void)
 
void sync (void)
 
bool ensure_1d (int, int, eGPUTextureFormat, float *)=delete
 
bool ensure_1d_array (int, int, int, eGPUTextureFormat, float *)=delete
 
bool ensure_2d (int, int, int, eGPUTextureFormat, float *)=delete
 
bool ensure_2d_array (int, int, int, int, eGPUTextureFormat, float *)=delete
 
bool ensure_3d (int, int, int, int, eGPUTextureFormat, float *)=delete
 
bool ensure_cube (int, int, eGPUTextureFormat, float *)=delete
 
bool ensure_cube_array (int, int, int, eGPUTextureFormat, float *)=delete
 
void filter_mode (bool)=delete
 
void free ()=delete
 
GPUTexturemip_view (int)=delete
 
GPUTexturelayer_view (int)=delete
 
GPUTexturestencil_view ()=delete
 
- Public Member Functions inherited from blender::draw::Texture
 Texture (const char *name="gpu::Texture")
 
 Texture (const char *name, eGPUTextureFormat format, int extent, float *data=nullptr, bool cubemap=false, int mip_len=1)
 
 Texture (const char *name, eGPUTextureFormat format, int extent, int layers, float *data=nullptr, bool cubemap=false, int mip_len=1)
 
 Texture (const char *name, eGPUTextureFormat format, int2 extent, float *data=nullptr, int mip_len=1)
 
 Texture (const char *name, eGPUTextureFormat format, int2 extent, int layers, float *data=nullptr, int mip_len=1)
 
 Texture (const char *name, eGPUTextureFormat format, int3 extent, float *data=nullptr, int mip_len=1)
 
 ~Texture ()
 
 operator GPUTexture * () const
 
GPUTexture ** operator& ()
 
Textureoperator= (Texture &&a)
 
bool ensure_1d (eGPUTextureFormat format, int extent, float *data=nullptr, int mip_len=1)
 
bool ensure_1d_array (eGPUTextureFormat format, int extent, int layers, float *data=nullptr, int mip_len=1)
 
bool ensure_2d (eGPUTextureFormat format, int2 extent, float *data=nullptr, int mip_len=1)
 
bool ensure_2d_array (eGPUTextureFormat format, int2 extent, int layers, float *data=nullptr, int mip_len=1)
 
bool ensure_3d (eGPUTextureFormat format, int3 extent, float *data=nullptr, int mip_len=1)
 
bool ensure_cube (eGPUTextureFormat format, int extent, float *data=nullptr, int mip_len=1)
 
bool ensure_cube_array (eGPUTextureFormat format, int extent, int layers, float *data=nullptr, int mip_len=1)
 
bool ensure_mip_views (bool cube_as_array=false)
 
GPUTexturemip_view (int miplvl)
 
bool ensure_layer_views (bool cube_as_array=false)
 
GPUTexturelayer_view (int layer)
 
GPUTexturestencil_view (bool cube_as_array=false)
 
bool is_valid (void) const
 
int width (void) const
 
int height (void) const
 
bool depth (void) const
 
bool is_stencil (void) const
 
bool is_integer (void) const
 
bool is_cube (void) const
 
bool is_array (void) const
 
int3 size (int miplvl=0) const
 
void clear (float4 values)
 
void clear (uint4 values)
 
void clear (int4 values)
 
template<typename T >
Tread (eGPUDataFormat format, int miplvl=0)
 
void filter_mode (bool do_filter)
 
void free ()
 

Additional Inherited Members

- Static Public Member Functions inherited from blender::draw::Texture
static void swap (Texture &a, Texture &b)
 
- Protected Attributes inherited from blender::draw::Texture
GPUTexturetx_ = nullptr
 
GPUTexturestencil_view_ = nullptr
 
Vector< GPUTexture *, 0 > mip_views_
 
Vector< GPUTexture *, 0 > layer_views_
 
const char * name_
 

Detailed Description

Definition at line 780 of file DRW_gpu_wrapper.hh.

Constructor & Destructor Documentation

◆ TextureFromPool()

blender::draw::TextureFromPool::TextureFromPool ( const char *  name = "gpu::Texture")
inline

Definition at line 785 of file DRW_gpu_wrapper.hh.

Member Function Documentation

◆ acquire()

void blender::draw::TextureFromPool::acquire ( int2  extent,
eGPUTextureFormat  format,
void owner_ 
)
inline

◆ ensure_1d()

bool blender::draw::TextureFromPool::ensure_1d ( int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

Remove methods that are forbidden with this type of textures.

◆ ensure_1d_array()

bool blender::draw::TextureFromPool::ensure_1d_array ( int  ,
int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

◆ ensure_2d()

bool blender::draw::TextureFromPool::ensure_2d ( int  ,
int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

◆ ensure_2d_array()

bool blender::draw::TextureFromPool::ensure_2d_array ( int  ,
int  ,
int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

◆ ensure_3d()

bool blender::draw::TextureFromPool::ensure_3d ( int  ,
int  ,
int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

◆ ensure_cube()

bool blender::draw::TextureFromPool::ensure_cube ( int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

◆ ensure_cube_array()

bool blender::draw::TextureFromPool::ensure_cube_array ( int  ,
int  ,
int  ,
eGPUTextureFormat  ,
float  
)
delete

◆ filter_mode()

void blender::draw::TextureFromPool::filter_mode ( bool  )
delete

◆ free()

void blender::draw::TextureFromPool::free ( )
delete

◆ layer_view()

GPUTexture* blender::draw::TextureFromPool::layer_view ( int  )
delete

◆ mip_view()

GPUTexture* blender::draw::TextureFromPool::mip_view ( int  )
delete

◆ release()

void blender::draw::TextureFromPool::release ( void  )
inline

Definition at line 809 of file DRW_gpu_wrapper.hh.

References blender::draw::Texture::tx_.

◆ stencil_view()

GPUTexture* blender::draw::TextureFromPool::stencil_view ( )
delete

◆ sync()

void blender::draw::TextureFromPool::sync ( void  )
inline

Clears any reference. Workaround for pool texture not being able to release on demand. Needs to be called at during the sync phase.

Definition at line 822 of file DRW_gpu_wrapper.hh.


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