Blender  V3.3
Public Attributes | List of all members
blender::gpu::GLStateManager Class Reference

#include <gl_state.hh>

Inheritance diagram for blender::gpu::GLStateManager:
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 () override
 
void force_state () 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 () override
 
void texture_unpack_row_length_set (uint len) override
 
uint64_t bound_texture_slots ()
 

Image Binding (from image load store)

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

Detailed Description

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

Definition at line 28 of file gl_state.hh.

Constructor & Destructor Documentation

◆ GLStateManager()

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

Member Function Documentation

◆ apply_state()

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

◆ bound_image_slots()

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

Definition at line 622 of file gl_state.cc.

References ARRAY_SIZE.

◆ bound_texture_slots()

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

Definition at line 539 of file gl_state.cc.

References ARRAY_SIZE.

◆ force_state()

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

Will set all the states regardless of the current ones.

Implements blender::gpu::StateManager.

Definition at line 69 of file gl_state.cc.

References blender::gpu::GPUState::clip_distances, blender::gpu::StateManager::mutable_state, and blender::gpu::StateManager::state.

◆ 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 570 of file gl_state.cc.

References ARRAY_SIZE, and tex.

◆ image_unbind_all()

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

Implements blender::gpu::StateManager.

Definition at line 587 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 639 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 447 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 477 of file gl_state.cc.

References ARRAY_SIZE, and tex.

◆ texture_unbind_all()

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

Implements blender::gpu::StateManager.

Definition at line 495 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 534 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 31 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: