Blender V5.0
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 ()=default
virtual void apply_state ()=0
virtual void force_state ()=0
virtual void issue_barrier (GPUBarrier 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
std::array< TextureWriteFormat, GPU_MAX_IMAGEimage_formats

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 139 of file gpu_state_private.hh.

Constructor & Destructor Documentation

◆ StateManager()

◆ ~StateManager()

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

Member Function Documentation

◆ apply_state()

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

◆ 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 ( GPUBarrier 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

◆ image_formats

◆ mutable_state

◆ state


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