|
Blender V4.3
|
#include <gpu_state_private.hh>
Inherited by blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
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, GPUSamplerState 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 138 of file gpu_state_private.hh.
| StateManager::StateManager | ( | ) |
Definition at line 406 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 146 of file gpu_state_private.hh.
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by blender::gpu::GLBatch::bind(), blender::gpu::GLFrameBuffer::blit_to(), blender::gpu::GLFrameBuffer::clear(), blender::gpu::GLFrameBuffer::clear_attachment(), blender::gpu::GLImmediate::end(), blender::gpu::MTLContext::ensure_render_pipeline_state(), GPU_apply_state(), and GPU_bgl_start().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_bgl_end().
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_texture_image_bind().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_texture_image_unbind(), and blender::gpu::GLTexture::~GLTexture().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_texture_image_unbind_all().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_memory_barrier().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_texture_bind(), and GPU_texture_bind_ex().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_texture_unbind(), blender::gpu::GLTexture::~GLTexture(), and blender::gpu::MTLTexture::~MTLTexture().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_texture_unbind_all().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by GPU_unpack_row_length_set().
| GPUStateMutable blender::gpu::StateManager::mutable_state |
Definition at line 141 of file gpu_state_private.hh.
Referenced by blender::gpu::GLStateManager::apply_state(), blender::gpu::MTLStateManager::apply_state(), blender::gpu::VKShader::ensure_and_get_graphics_pipeline(), blender::gpu::GLStateManager::force_state(), blender::gpu::MTLStateManager::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 140 of file gpu_state_private.hh.
Referenced by blender::gpu::GLStateManager::apply_state(), blender::gpu::MTLStateManager::apply_state(), blender::gpu::VKShader::ensure_and_get_graphics_pipeline(), blender::gpu::GLStateManager::force_state(), blender::gpu::MTLStateManager::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 142 of file gpu_state_private.hh.
Referenced by blender::gpu::GLStateManager::apply_state(), GPU_bgl_end(), GPU_bgl_get(), and GPU_bgl_start().