Blender
V3.3
|
#include <gl_state.hh>
Public Member Functions | |
Memory barrier | |
void | issue_barrier (eGPUBarrier barrier_bits) override |
![]() | |
virtual | ~StateManager () |
StateManager () | |
Public Attributes | |
GLFrameBuffer * | active_fb = nullptr |
![]() | |
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 () |
State manager keeping track of the draw state and applying it before drawing. Opengl Implementation.
Definition at line 28 of file gl_state.hh.
blender::gpu::GLStateManager::GLStateManager | ( | ) |
Definition at line 27 of file gl_state.cc.
References blender::gpu::GLContext::fixed_restart_index_support, glDisable, glEnable, blender::gpu::StateManager::mutable_state, and blender::gpu::StateManager::state.
|
overridevirtual |
Implements blender::gpu::StateManager.
Definition at line 57 of file gl_state.cc.
References active_fb, blender::gpu::GLFrameBuffer::apply_state(), blender::gpu::StateManager::mutable_state, blender::gpu::StateManager::state, and blender::gpu::StateManager::use_bgl.
Referenced by blender::gpu::GLBackend::compute_dispatch(), and blender::gpu::GLBackend::compute_dispatch_indirect().
uint8_t blender::gpu::GLStateManager::bound_image_slots | ( | ) |
Definition at line 622 of file gl_state.cc.
References ARRAY_SIZE.
uint64_t blender::gpu::GLStateManager::bound_texture_slots | ( | ) |
Definition at line 539 of file gl_state.cc.
References ARRAY_SIZE.
|
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.
Implements blender::gpu::StateManager.
Definition at line 556 of file gl_state.cc.
References BLI_assert, G, G_DEBUG_GPU, GPU_shader_image_load_store_support(), tex, and blender::gpu::to_gl_internal_format().
Implements blender::gpu::StateManager.
Definition at line 570 of file gl_state.cc.
References ARRAY_SIZE, and tex.
|
overridevirtual |
Implements blender::gpu::StateManager.
Definition at line 587 of file gl_state.cc.
References ARRAY_SIZE.
|
overridevirtual |
Implements blender::gpu::StateManager.
Definition at line 639 of file gl_state.cc.
References blender::gpu::to_gl().
|
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.
Bind the texture to slot 0 for editing purpose. Used by legacy pipeline.
Definition at line 466 of file gl_state.cc.
References tex.
Referenced by blender::gpu::GLTexture::generate_mipmap(), blender::gpu::GLTexture::init_internal(), blender::gpu::GLTexture::mip_range_set(), blender::gpu::GLTexture::read(), blender::gpu::GLTexture::stencil_texture_mode_set(), blender::gpu::GLTexture::swizzle_set(), and blender::gpu::GLTexture::update_sub().
Implements blender::gpu::StateManager.
Definition at line 477 of file gl_state.cc.
References ARRAY_SIZE, and tex.
|
overridevirtual |
Implements blender::gpu::StateManager.
Definition at line 495 of file gl_state.cc.
References ARRAY_SIZE.
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().