Blender
V3.3
|
#include <gpu_state_private.hh>
Public Member Functions | |
virtual | ~StateManager () |
virtual void | apply_state ()=0 |
virtual void | force_state ()=0 |
virtual void | issue_barrier (eGPUBarrier barrier_bits)=0 |
virtual void | texture_bind (Texture *tex, eGPUSamplerState 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 |
bool | use_bgl = false |
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 137 of file gpu_state_private.hh.
StateManager::StateManager | ( | ) |
Definition at line 382 of file gpu_state.cc.
References blender::gpu::GPUState::blend, blender::gpu::GPUState::clip_distances, blender::gpu::GPUState::culling_test, blender::gpu::GPUStateMutable::depth_range, blender::gpu::GPUState::depth_test, GPU_BLEND_NONE, GPU_CULL_NONE, GPU_DEPTH_NONE, GPU_STENCIL_NONE, GPU_STENCIL_OP_NONE, GPU_VERTEX_LAST, GPU_WRITE_COLOR, blender::gpu::GPUState::invert_facing, blender::gpu::GPUState::line_smooth, blender::gpu::GPUStateMutable::line_width, blender::gpu::GPUState::logic_op_xor, mutable_state, blender::gpu::GPUStateMutable::point_size, blender::gpu::GPUState::polygon_smooth, blender::gpu::GPUState::provoking_vert, blender::gpu::GPUState::shadow_bias, state, blender::gpu::GPUStateMutable::stencil_compare_mask, blender::gpu::GPUState::stencil_op, blender::gpu::GPUStateMutable::stencil_reference, blender::gpu::GPUState::stencil_test, blender::gpu::GPUStateMutable::stencil_write_mask, and blender::gpu::GPUState::write_mask.
|
inlinevirtual |
Definition at line 145 of file gpu_state_private.hh.
|
pure virtual |
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by blender::gpu::GLBatch::bind(), blender::gpu::GLFrameBuffer::blit_to(), blender::gpu::GLFrameBuffer::clear(), blender::gpu::GLFrameBuffer::clear_attachment(), blender::gpu::GLImmediate::end(), GPU_apply_state(), and GPU_bgl_start().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_bgl_end().
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_texture_image_bind().
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_texture_image_unbind().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_texture_image_unbind_all().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_memory_barrier().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_texture_bind(), and GPU_texture_bind_ex().
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_texture_unbind(), blender::gpu::GLTexture::~GLTexture(), and blender::gpu::MTLTexture::~MTLTexture().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_texture_unbind_all().
Implemented in blender::gpu::GLStateManager, and blender::gpu::MTLStateManager.
Referenced by GPU_unpack_row_length_set().
GPUStateMutable blender::gpu::StateManager::mutable_state |
Definition at line 140 of file gpu_state_private.hh.
Referenced by blender::gpu::MTLStateManager::apply_state(), blender::gpu::GLStateManager::apply_state(), blender::gpu::MTLStateManager::force_state(), blender::gpu::GLStateManager::force_state(), blender::gpu::GLStateManager::GLStateManager(), GPU_depth_range(), GPU_line_width_get(), GPU_point_size(), GPU_program_point_size(), GPU_stencil_mask_get(), blender::gpu::MTLStateManager::MTLStateManager(), and StateManager().
GPUState blender::gpu::StateManager::state |
Definition at line 139 of file gpu_state_private.hh.
Referenced by blender::gpu::MTLStateManager::apply_state(), blender::gpu::GLStateManager::apply_state(), blender::gpu::MTLStateManager::force_state(), blender::gpu::GLStateManager::force_state(), blender::gpu::GLStateManager::GLStateManager(), GPU_blend_get(), GPU_color_mask(), GPU_depth_mask(), GPU_depth_mask_get(), GPU_depth_test_get(), GPU_face_culling_get(), GPU_state_set(), GPU_stencil_test_get(), GPU_write_mask_get(), blender::gpu::MTLStateManager::MTLStateManager(), and StateManager().
bool blender::gpu::StateManager::use_bgl = false |
Definition at line 141 of file gpu_state_private.hh.
Referenced by blender::gpu::GLStateManager::apply_state(), GPU_bgl_end(), GPU_bgl_get(), and GPU_bgl_start().