|
Blender V4.5
|
#include <DRW_gpu_wrapper.hh>
Inherits blender::draw::Texture, and blender::NonMovable.
Public Member Functions | |
| TextureFromPool (const char *name="gpu::Texture") | |
| void | acquire (int2 extent, eGPUTextureFormat format, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL) |
| void | release () |
| TextureFromPool * | ptr () |
| bool | ensure_1d (int, int, eGPUTextureFormat, eGPUTextureUsage, const float *)=delete |
| bool | ensure_1d_array (int, int, int, eGPUTextureFormat, eGPUTextureUsage, const float *)=delete |
| bool | ensure_2d (int, int, int, eGPUTextureFormat, eGPUTextureUsage, float *)=delete |
| bool | ensure_2d_array (int, int, int, int, eGPUTextureFormat, eGPUTextureUsage, const float *)=delete |
| bool | ensure_3d (int, int, int, int, eGPUTextureFormat, eGPUTextureUsage, const float *)=delete |
| bool | ensure_cube (int, int, eGPUTextureFormat, eGPUTextureUsage, const float *)=delete |
| bool | ensure_cube_array (int, int, int, eGPUTextureFormat, eGPUTextureUsage, const float *)=delete |
| void | filter_mode (bool)=delete |
| void | free ()=delete |
| GPUTexture * | mip_view (int)=delete |
| GPUTexture * | layer_view (int)=delete |
| GPUTexture * | stencil_view ()=delete |
Public Member Functions inherited from blender::draw::Texture | |
| Texture (const char *name="gpu::Texture") | |
| Texture (const char *name, eGPUTextureFormat format, eGPUTextureUsage usage, int extent, const float *data=nullptr, bool cubemap=false, int mip_len=1) | |
| Texture (const char *name, eGPUTextureFormat format, eGPUTextureUsage usage, int extent, int layers, const float *data=nullptr, bool cubemap=false, int mip_len=1) | |
| Texture (const char *name, eGPUTextureFormat format, eGPUTextureUsage usage, int2 extent, const float *data=nullptr, int mip_len=1) | |
| Texture (const char *name, eGPUTextureFormat format, eGPUTextureUsage usage, int2 extent, int layers, const float *data=nullptr, int mip_len=1) | |
| Texture (const char *name, eGPUTextureFormat format, eGPUTextureUsage usage, int3 extent, const float *data=nullptr, int mip_len=1) | |
| Texture (Texture &&other)=default | |
| ~Texture () | |
| GPUTexture * | gpu_texture () |
| operator GPUTexture * () const | |
| GPUTexture ** | operator& () |
| Texture * | ptr () |
| Texture & | operator= (Texture &&a) |
| bool | ensure_1d (eGPUTextureFormat format, int extent, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1) |
| bool | ensure_1d_array (eGPUTextureFormat format, int extent, int layers, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1) |
| bool | ensure_2d (eGPUTextureFormat format, int2 extent, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1) |
| bool | ensure_2d_array (eGPUTextureFormat format, int2 extent, int layers, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1) |
| bool | ensure_3d (eGPUTextureFormat format, int3 extent, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1) |
| bool | ensure_cube (eGPUTextureFormat format, int extent, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, float *data=nullptr, int mip_len=1) |
| bool | ensure_cube_array (eGPUTextureFormat format, int extent, int layers, eGPUTextureUsage usage=GPU_TEXTURE_USAGE_GENERAL, const float *data=nullptr, int mip_len=1) |
| bool | ensure_mip_views (bool cube_as_array=false) |
| GPUTexture * | mip_view (int miplvl) |
| int | mip_count () const |
| bool | ensure_layer_views (bool cube_as_array=false) |
| GPUTexture * | layer_view (int layer) |
| GPUTexture * | stencil_view (bool cube_as_array=false) |
| GPUTexture * | layer_range_view (int layer_start, int layer_len, bool cube_as_array=false) |
| bool | is_valid () const |
| int | width () const |
| int | height () const |
| int | depth () const |
| int | pixel_count () const |
| bool | is_depth () const |
| bool | is_stencil () const |
| bool | is_integer () const |
| bool | is_cube () const |
| bool | is_array () const |
| int3 | size (int miplvl=0) const |
| void | clear (float4 values) |
| void | clear (uint4 values) |
| void | clear (int4 values) |
| void | debug_clear () |
| template<typename T > | |
| T * | read (eGPUDataFormat format, int miplvl=0) |
| void | filter_mode (bool do_filter) |
| void | free () |
Static Public Member Functions | |
| static void | swap (TextureFromPool &a, Texture &b) |
| static void | swap (Texture &a, TextureFromPool &b) |
| static void | swap (TextureFromPool &a, TextureFromPool &b) |
Static Public Member Functions inherited from blender::draw::Texture | |
| static void | swap (Texture &a, Texture &b) |
Additional Inherited Members | |
Protected Member Functions inherited from blender::draw::Texture | |
| void | free_texture_views () |
Protected Attributes inherited from blender::draw::Texture | |
| GPUTexture * | tx_ = nullptr |
| GPUTexture * | stencil_view_ = nullptr |
| Vector< GPUTexture *, 0 > | mip_views_ |
| Vector< GPUTexture *, 0 > | layer_views_ |
| GPUTexture * | layer_range_view_ = nullptr |
| const char * | name_ |
Definition at line 1066 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 1068 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 1071 of file DRW_gpu_wrapper.hh.
References blender::gpu::TexturePool::acquire_texture(), BLI_assert, blender::draw::Texture::debug_clear(), G, G_DEBUG_GPU, blender::gpu::TexturePool::get(), and UNPACK2.
Referenced by blender::draw::overlay::Resources::acquire(), blender::eevee::RenderBuffers::acquire(), blender::draw::gpencil::Instance::acquire_resources(), blender::eevee::RayTraceModule::alloc_dummy(), blender::eevee::RayTraceModule::alloc_only(), blender::draw::overlay::Wireframe::copy_depth(), blender::workbench::AntiAliasingPass::draw(), blender::workbench::DofPass::draw(), blender::workbench::Instance::draw(), blender::workbench::OpaquePass::draw(), blender::workbench::TransparentPass::draw(), blender::draw::overlay::Outline::draw_line_only_ex(), blender::eevee::DeferredLayer::render(), blender::eevee::DepthOfField::render(), blender::eevee::MotionBlurModule::render(), blender::eevee::RayTraceModule::render(), blender::eevee::SubsurfaceModule::render(), and blender::eevee::Film::write_viewport_compositor_passes().
|
delete |
Remove methods that are forbidden with this type of textures.
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
|
inline |
WORKAROUND: used when needing a ref to the Texture and not the GPUTexture.
Definition at line 1114 of file DRW_gpu_wrapper.hh.
|
inline |
Definition at line 1084 of file DRW_gpu_wrapper.hh.
References blender::gpu::TexturePool::get(), and blender::gpu::TexturePool::release_texture().
Referenced by blender::workbench::AntiAliasingPass::draw(), blender::workbench::DofPass::draw(), blender::workbench::Instance::draw(), blender::workbench::OpaquePass::draw(), blender::workbench::TransparentPass::draw(), blender::draw::overlay::Wireframe::draw_line(), blender::draw::overlay::Outline::draw_line_only_ex(), blender::draw::overlay::Resources::release(), blender::eevee::RayTraceResultTexture::release(), blender::eevee::RenderBuffers::release(), blender::draw::gpencil::Instance::release_resources(), blender::eevee::DeferredLayer::render(), blender::eevee::DepthOfField::render(), blender::eevee::MotionBlurModule::render(), blender::eevee::RayTraceModule::render(), blender::eevee::ShadingView::render(), and blender::eevee::SubsurfaceModule::render().
|
delete |
|
inlinestatic |
Definition at line 1104 of file DRW_gpu_wrapper.hh.
|
inlinestatic |
Swap the content of the two textures. Also change ownership accordingly if needed.
Definition at line 1098 of file DRW_gpu_wrapper.hh.
References b, blender::gpu::TexturePool::get(), blender::gpu::TexturePool::give_texture_ownership(), blender::draw::Texture::swap(), and blender::gpu::TexturePool::take_texture_ownership().
Referenced by blender::eevee::RayTraceResultTexture::release(), and blender::eevee::DepthOfField::render().
|
inlinestatic |
Definition at line 1108 of file DRW_gpu_wrapper.hh.
References b, and blender::draw::Texture::swap().