|
Blender V5.0
|
#include <gpu_state_private.hh>
Inherited by blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Public Member Functions | |
| virtual | ~StateManager ()=default |
| virtual void | apply_state ()=0 |
| virtual void | force_state ()=0 |
| virtual void | issue_barrier (GPUBarrier 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 |
| std::array< TextureWriteFormat, GPU_MAX_IMAGE > | image_formats |
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 139 of file gpu_state_private.hh.
| StateManager::StateManager | ( | ) |
Definition at line 358 of file gpu_state.cc.
References GPU_BLEND_NONE, GPU_CULL_NONE, GPU_DEPTH_NONE, GPU_STENCIL_NONE, GPU_STENCIL_OP_NONE, GPU_VERTEX_LAST, GPU_WRITE_COLOR, image_formats, blender::gpu::Invalid, mutable_state, and state.
Referenced by blender::gpu::MTLStateManager::MTLStateManager().
|
virtualdefault |
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
Referenced by blender::gpu::GLBatch::bind(), blender::gpu::GLImmediate::end(), and GPU_apply_state().
|
pure virtual |
Implemented in blender::gpu::GLStateManager, blender::gpu::MTLStateManager, and blender::gpu::VKStateManager.
|
pure virtual |
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.
References len.
Referenced by GPU_unpack_row_length_set().
| std::array<TextureWriteFormat, GPU_MAX_IMAGE> blender::gpu::StateManager::image_formats |
Definition at line 145 of file gpu_state_private.hh.
Referenced by blender::gpu::BindSpaceImages< Offset >::bind(), blender::gpu::debug_validate_binding_image_format(), blender::gpu::GLStateManager::image_bind(), blender::gpu::MTLStateManager::image_bind(), blender::gpu::GLStateManager::image_unbind(), blender::gpu::GLStateManager::image_unbind_all(), blender::gpu::MTLStateManager::image_unbind_all(), blender::gpu::VKStateManager::image_unbind_all(), StateManager(), and blender::gpu::BindSpaceImages< Offset >::unbind().
| GPUStateMutable blender::gpu::StateManager::mutable_state |
Definition at line 142 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(), StateManager(), and blender::gpu::VKContext::update_pipeline_data().
| GPUState blender::gpu::StateManager::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_blend_get(), GPU_color_mask(), GPU_depth_mask(), GPU_depth_mask_get(), GPU_depth_test_get(), GPU_face_culling_get(), GPU_line_smooth_get(), GPU_state_set(), GPU_stencil_test_get(), GPU_write_mask_get(), blender::gpu::MTLStateManager::MTLStateManager(), and StateManager().