Blender V4.3
blender::gpu::StateManager Class Referenceabstract

#include <gpu_state_private.hh>

Inherited by blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.

Public Member Functions

virtual ~StateManager ()
 
virtual void apply_state ()=0
 
virtual void force_state ()=0
 
virtual void issue_barrier (eGPUBarrier barrier_bits)=0
 
virtual void texture_bind (Texture *tex, GPUSamplerState sampler, int unit)=0
 
virtual void texture_unbind (Texture *tex)=0
 
virtual void texture_unbind_all ()=0
 
virtual void image_bind (Texture *tex, int unit)=0
 
virtual void image_unbind (Texture *tex)=0
 
virtual void image_unbind_all ()=0
 
virtual void texture_unpack_row_length_set (uint len)=0
 
Default State
 StateManager ()
 

Public Attributes

GPUState state
 
GPUStateMutable mutable_state
 
bool use_bgl = false
 

Detailed Description

State manager keeping track of the draw state and applying it before drawing. Base class which is then specialized for each implementation (GL, VK, ...).

Definition at line 138 of file gpu_state_private.hh.

Constructor & Destructor Documentation

◆ StateManager()

◆ ~StateManager()

virtual blender::gpu::StateManager::~StateManager ( )
inlinevirtual

Definition at line 146 of file gpu_state_private.hh.

Member Function Documentation

◆ apply_state()

◆ force_state()

virtual void blender::gpu::StateManager::force_state ( )
pure virtual

◆ image_bind()

virtual void blender::gpu::StateManager::image_bind ( Texture * tex,
int unit )
pure virtual

◆ image_unbind()

virtual void blender::gpu::StateManager::image_unbind ( Texture * tex)
pure virtual

◆ image_unbind_all()

virtual void blender::gpu::StateManager::image_unbind_all ( )
pure virtual

◆ issue_barrier()

virtual void blender::gpu::StateManager::issue_barrier ( eGPUBarrier barrier_bits)
pure virtual

◆ texture_bind()

virtual void blender::gpu::StateManager::texture_bind ( Texture * tex,
GPUSamplerState sampler,
int unit )
pure virtual

◆ texture_unbind()

virtual void blender::gpu::StateManager::texture_unbind ( Texture * tex)
pure virtual

◆ texture_unbind_all()

virtual void blender::gpu::StateManager::texture_unbind_all ( )
pure virtual

◆ texture_unpack_row_length_set()

virtual void blender::gpu::StateManager::texture_unpack_row_length_set ( uint len)
pure virtual

Member Data Documentation

◆ mutable_state

◆ state

◆ use_bgl

bool blender::gpu::StateManager::use_bgl = false

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