Blender V4.5
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 ()=default
 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, GPUSamplerState 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 29 of file gl_state.hh.

Constructor & Destructor Documentation

◆ GLStateManager()

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

Member Function Documentation

◆ apply_state()

◆ bound_image_slots()

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

Definition at line 644 of file gl_state.cc.

References ARRAY_SIZE, and i.

◆ bound_texture_slots()

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

Definition at line 561 of file gl_state.cc.

References ARRAY_SIZE, and i.

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

References blender::gpu::StateManager::mutable_state, blender::gpu::StateManager::state, and this.

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

References ARRAY_SIZE, and i.

◆ image_unbind_all()

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

Implements blender::gpu::StateManager.

Definition at line 609 of file gl_state.cc.

References ARRAY_SIZE, and i.

◆ issue_barrier()

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

Implements blender::gpu::StateManager.

Definition at line 661 of file gl_state.cc.

References blender::gpu::to_gl().

◆ texture_bind()

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

◆ texture_bind_temp()

◆ texture_unbind()

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

Implements blender::gpu::StateManager.

Definition at line 499 of file gl_state.cc.

References ARRAY_SIZE, and i.

◆ texture_unbind_all()

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

Implements blender::gpu::StateManager.

Definition at line 517 of file gl_state.cc.

References ARRAY_SIZE, and i.

◆ texture_unpack_row_length_set()

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

Implements blender::gpu::StateManager.

Definition at line 556 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 32 of file gl_state.hh.

Referenced by apply_state().


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