Blender  V2.93
Public Attributes | List of all members
blender::gpu::GLStateManager Class Reference

#include <gl_state.hh>

Inherits blender::gpu::StateManager.

Public Member Functions

Memory barrier
void issue_barrier (eGPUBarrier barrier_bits) override
 
- Public Member Functions inherited from blender::gpu::StateManager
virtual ~StateManager ()
 
 StateManager ()
 

Public Attributes

GLFrameBufferactive_fb = nullptr
 
- Public Attributes inherited from blender::gpu::StateManager
GPUState state
 
GPUStateMutable mutable_state
 
bool use_bgl = false
 

GLStateManager

 GLStateManager ()
 
void apply_state (void) override
 
void force_state (void) override
 

Texture State Management

void texture_bind (Texture *tex, eGPUSamplerState sampler, int unit) override
 
void texture_bind_temp (GLTexture *tex)
 
void texture_unbind (Texture *tex) override
 
void texture_unbind_all (void) override
 
void texture_unpack_row_length_set (uint len) override
 
uint64_t bound_texture_slots (void)
 

Image Binding (from image load store)

void image_bind (Texture *tex, int unit) override
 
void image_unbind (Texture *tex) override
 
void image_unbind_all (void) override
 
uint8_t bound_image_slots (void)
 

Detailed Description

State manager keeping track of the draw state and applying it before drawing. Opengl Implementation.

Definition at line 43 of file gl_state.hh.

Constructor & Destructor Documentation

◆ GLStateManager()

blender::gpu::GLStateManager::GLStateManager ( )

Member Function Documentation

◆ apply_state()

void blender::gpu::GLStateManager::apply_state ( void  )
overridevirtual

◆ bound_image_slots()

uint8_t blender::gpu::GLStateManager::bound_image_slots ( void  )

Definition at line 641 of file gl_state.cc.

References ARRAY_SIZE.

◆ bound_texture_slots()

uint64_t blender::gpu::GLStateManager::bound_texture_slots ( void  )

Definition at line 558 of file gl_state.cc.

References ARRAY_SIZE.

◆ force_state()

void blender::gpu::GLStateManager::force_state ( void  )
overridevirtual

◆ image_bind()

void blender::gpu::GLStateManager::image_bind ( Texture tex,
int  unit 
)
overridevirtual

◆ image_unbind()

void blender::gpu::GLStateManager::image_unbind ( Texture tex)
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 589 of file gl_state.cc.

References ARRAY_SIZE, and tex.

◆ image_unbind_all()

void blender::gpu::GLStateManager::image_unbind_all ( void  )
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 606 of file gl_state.cc.

References ARRAY_SIZE.

◆ issue_barrier()

void blender::gpu::GLStateManager::issue_barrier ( eGPUBarrier  barrier_bits)
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 658 of file gl_state.cc.

References blender::gpu::to_gl().

◆ texture_bind()

void blender::gpu::GLStateManager::texture_bind ( Texture tex,
eGPUSamplerState  sampler,
int  unit 
)
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 465 of file gl_state.cc.

References BLI_assert, G, G_DEBUG_GPU, GPU_max_textures(), and tex.

◆ texture_bind_temp()

void blender::gpu::GLStateManager::texture_bind_temp ( GLTexture tex)

◆ texture_unbind()

void blender::gpu::GLStateManager::texture_unbind ( Texture tex)
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 496 of file gl_state.cc.

References ARRAY_SIZE, and tex.

◆ texture_unbind_all()

void blender::gpu::GLStateManager::texture_unbind_all ( void  )
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 514 of file gl_state.cc.

References ARRAY_SIZE.

◆ texture_unpack_row_length_set()

void blender::gpu::GLStateManager::texture_unpack_row_length_set ( uint  len)
overridevirtual

Implements blender::gpu::StateManager.

Definition at line 553 of file gl_state.cc.

References len.

Member Data Documentation

◆ active_fb

GLFrameBuffer* blender::gpu::GLStateManager::active_fb = nullptr

Another reference to the active frame-buffer.

Definition at line 46 of file gl_state.hh.

Referenced by apply_state(), and blender::gpu::GLFrameBuffer::bind().


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