|
Blender V4.3
|
#include <mtl_context.hh>
Public Member Functions | |
| MTLRenderPassState (MTLContext &context, MTLCommandBufferManager &command_buffer_manager) | |
Render Pass State for active RenderCommandEncoder | |
| void | reset_state () |
| void | bind_vertex_texture (id< MTLTexture > tex, uint slot) |
| void | bind_fragment_texture (id< MTLTexture > tex, uint slot) |
| void | bind_vertex_sampler (MTLSamplerBinding &sampler_binding, bool use_argument_buffer_for_samplers, uint slot) |
| void | bind_fragment_sampler (MTLSamplerBinding &sampler_binding, bool use_argument_buffer_for_samplers, uint slot) |
| void | bind_vertex_buffer (id< MTLBuffer > buffer, uint64_t buffer_offset, uint index) |
| void | bind_fragment_buffer (id< MTLBuffer > buffer, uint64_t buffer_offset, uint index) |
| void | bind_vertex_bytes (const void *bytes, uint64_t length, uint index) |
| void | bind_fragment_bytes (const void *bytes, uint64_t length, uint index) |
Friends | |
| class | MTLContext |
Definition at line 105 of file mtl_context.hh.
|
inline |
Definition at line 109 of file mtl_context.hh.
| void blender::gpu::MTLRenderPassState::bind_fragment_buffer | ( | id< MTLBuffer > | buffer, |
| uint64_t | buffer_offset, | ||
| uint | index ) |
Definition at line 937 of file mtl_command_buffer.mm.
References BLI_assert, cached_fragment_buffer_bindings, cmd, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::BufferBindingCached::is_bytes, blender::gpu::BufferBindingCached::metal_buffer, MTL_MAX_BUFFER_BINDINGS, and blender::gpu::BufferBindingCached::offset.
Referenced by bind_fragment_bytes(), blender::gpu::MTLContext::ensure_buffer_bindings(), and blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::bind_fragment_bytes | ( | const void * | bytes, |
| uint64_t | length, | ||
| uint | index ) |
Definition at line 1024 of file mtl_command_buffer.mm.
References bind_fragment_buffer(), BLI_assert, cached_fragment_buffer_bindings, cmd, ctx, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::MTLContext::get_scratchbuffer_manager(), blender::gpu::BufferBindingCached::is_bytes, length(), blender::gpu::BufferBindingCached::metal_buffer, blender::gpu::MTLBufferRange::metal_buffer, MTL_MAX_BUFFER_BINDINGS, MTL_MAX_SET_BYTES_SIZE, blender::gpu::BufferBindingCached::offset, and blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range_aligned().
Referenced by blender::gpu::MTLContext::ensure_buffer_bindings().
| void blender::gpu::MTLRenderPassState::bind_fragment_sampler | ( | MTLSamplerBinding & | sampler_binding, |
| bool | use_argument_buffer_for_samplers, | ||
| uint | slot ) |
Definition at line 823 of file mtl_command_buffer.mm.
References blender::gpu::MTLContextGlobalShaderPipelineState::active_shader, blender::gpu::SamplerStateBindingCached::binding_state, BLI_assert, cached_fragment_sampler_state_bindings, cmd, ctx, blender::gpu::DEFAULT_SAMPLER_STATE, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::MTLContext::get_default_sampler_state(), blender::gpu::MTLShader::get_interface(), blender::gpu::MTLContext::get_sampler_from_state(), blender::gpu::SamplerStateBindingCached::is_arg_buffer_binding, MTL_MAX_TEXTURE_SLOTS, blender::gpu::MTLSamplerArray::mtl_sampler, blender::gpu::MTLSamplerArray::mtl_sampler_flags, blender::gpu::MTLContext::pipeline_state, blender::gpu::sampler_binding(), blender::gpu::SamplerStateBindingCached::sampler_state, blender::gpu::MTLSamplerState::state, and UNUSED_VARS_NDEBUG.
Referenced by blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::bind_fragment_texture | ( | id< MTLTexture > | tex, |
| uint | slot ) |
Definition at line 762 of file mtl_command_buffer.mm.
References BLI_assert, cached_fragment_texture_bindings, cmd, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::TextureBindingCached::metal_texture, and tex.
Referenced by blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::bind_vertex_buffer | ( | id< MTLBuffer > | buffer, |
| uint64_t | buffer_offset, | ||
| uint | index ) |
Definition at line 905 of file mtl_command_buffer.mm.
References BLI_assert, cached_vertex_buffer_bindings, cmd, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::BufferBindingCached::is_bytes, blender::gpu::BufferBindingCached::metal_buffer, MTL_MAX_BUFFER_BINDINGS, and blender::gpu::BufferBindingCached::offset.
Referenced by blender::gpu::MTLBatch::bind(), bind_vertex_bytes(), blender::gpu::MTLImmediate::end(), blender::gpu::MTLContext::ensure_buffer_bindings(), blender::gpu::MTLContext::ensure_render_pipeline_state(), blender::gpu::MTLContext::ensure_texture_bindings(), and blender::gpu::MTLShader::ssbo_vertex_fetch_bind_attributes_end().
| void blender::gpu::MTLRenderPassState::bind_vertex_bytes | ( | const void * | bytes, |
| uint64_t | length, | ||
| uint | index ) |
Definition at line 999 of file mtl_command_buffer.mm.
References bind_vertex_buffer(), BLI_assert, cached_vertex_buffer_bindings, cmd, ctx, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::MTLContext::get_scratchbuffer_manager(), blender::gpu::BufferBindingCached::is_bytes, length(), blender::gpu::BufferBindingCached::metal_buffer, blender::gpu::MTLBufferRange::metal_buffer, MTL_MAX_BUFFER_BINDINGS, MTL_MAX_SET_BYTES_SIZE, blender::gpu::BufferBindingCached::offset, and blender::gpu::MTLScratchBufferManager::scratch_buffer_allocate_range_aligned().
Referenced by blender::gpu::MTLContext::ensure_buffer_bindings().
| void blender::gpu::MTLRenderPassState::bind_vertex_sampler | ( | MTLSamplerBinding & | sampler_binding, |
| bool | use_argument_buffer_for_samplers, | ||
| uint | slot ) |
Definition at line 783 of file mtl_command_buffer.mm.
References blender::gpu::MTLContextGlobalShaderPipelineState::active_shader, blender::gpu::SamplerStateBindingCached::binding_state, BLI_assert, cached_vertex_sampler_state_bindings, cmd, ctx, blender::gpu::DEFAULT_SAMPLER_STATE, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::MTLContext::get_default_sampler_state(), blender::gpu::MTLShader::get_interface(), blender::gpu::MTLContext::get_sampler_from_state(), blender::gpu::SamplerStateBindingCached::is_arg_buffer_binding, MTL_MAX_TEXTURE_SLOTS, blender::gpu::MTLSamplerArray::mtl_sampler, blender::gpu::MTLSamplerArray::mtl_sampler_flags, blender::gpu::MTLContext::pipeline_state, blender::gpu::sampler_binding(), blender::gpu::SamplerStateBindingCached::sampler_state, blender::gpu::MTLSamplerState::state, and UNUSED_VARS_NDEBUG.
Referenced by blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::bind_vertex_texture | ( | id< MTLTexture > | tex, |
| uint | slot ) |
Definition at line 752 of file mtl_command_buffer.mm.
References BLI_assert, cached_vertex_texture_bindings, cmd, blender::gpu::MTLCommandBufferManager::get_active_render_command_encoder(), blender::gpu::TextureBindingCached::metal_texture, and tex.
Referenced by blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::reset_state | ( | ) |
Definition at line 691 of file mtl_command_buffer.mm.
References bound_ds_state, bound_pso, cached_fragment_buffer_bindings, cached_fragment_sampler_state_bindings, cached_fragment_texture_bindings, cached_vertex_buffer_bindings, cached_vertex_sampler_state_bindings, cached_vertex_texture_bindings, cmd, fb(), blender::gpu::MTLCommandBufferManager::get_active_framebuffer(), blender::gpu::SamplerStateBindingCached::is_arg_buffer_binding, blender::gpu::BufferBindingCached::is_bytes, last_bound_shader_state, last_scissor_rect, last_used_stencil_ref_value, blender::gpu::BufferBindingCached::metal_buffer, blender::gpu::TextureBindingCached::metal_texture, MTL_MAX_BUFFER_BINDINGS, MTL_MAX_TEXTURE_SLOTS, blender::gpu::BufferBindingCached::offset, blender::gpu::SamplerStateBindingCached::sampler_state, blender::gpu::MTLBoundShaderState::set(), and tex.
Referenced by blender::gpu::MTLCommandBufferManager::ensure_begin_render_command_encoder(), and blender::gpu::MTLCommandBufferManager::prepare().
|
friend |
Definition at line 106 of file mtl_context.hh.
| id<MTLDepthStencilState> blender::gpu::MTLRenderPassState::bound_ds_state = nil |
Definition at line 119 of file mtl_context.hh.
Referenced by blender::gpu::MTLContext::ensure_depth_stencil_state(), and reset_state().
| id<MTLRenderPipelineState> blender::gpu::MTLRenderPassState::bound_pso = nil |
Definition at line 118 of file mtl_context.hh.
Referenced by blender::gpu::MTLContext::ensure_render_pipeline_state(), and reset_state().
| BufferBindingCached blender::gpu::MTLRenderPassState::cached_fragment_buffer_bindings[MTL_MAX_BUFFER_BINDINGS] |
Definition at line 124 of file mtl_context.hh.
Referenced by bind_fragment_buffer(), bind_fragment_bytes(), blender::gpu::MTLContext::ensure_buffer_bindings(), and reset_state().
| SamplerStateBindingCached blender::gpu::MTLRenderPassState::cached_fragment_sampler_state_bindings[MTL_MAX_TEXTURE_SLOTS] |
Definition at line 128 of file mtl_context.hh.
Referenced by bind_fragment_sampler(), and reset_state().
| TextureBindingCached blender::gpu::MTLRenderPassState::cached_fragment_texture_bindings[MTL_MAX_TEXTURE_SLOTS] |
Definition at line 126 of file mtl_context.hh.
Referenced by bind_fragment_texture(), and reset_state().
| BufferBindingCached blender::gpu::MTLRenderPassState::cached_vertex_buffer_bindings[MTL_MAX_BUFFER_BINDINGS] |
Definition at line 123 of file mtl_context.hh.
Referenced by blender::gpu::MTLBatch::bind(), bind_vertex_buffer(), bind_vertex_bytes(), blender::gpu::MTLImmediate::end(), blender::gpu::MTLContext::ensure_buffer_bindings(), and reset_state().
| SamplerStateBindingCached blender::gpu::MTLRenderPassState::cached_vertex_sampler_state_bindings[MTL_MAX_TEXTURE_SLOTS] |
Definition at line 127 of file mtl_context.hh.
Referenced by bind_vertex_sampler(), and reset_state().
| TextureBindingCached blender::gpu::MTLRenderPassState::cached_vertex_texture_bindings[MTL_MAX_TEXTURE_SLOTS] |
Definition at line 125 of file mtl_context.hh.
Referenced by bind_vertex_texture(), and reset_state().
| MTLCommandBufferManager& blender::gpu::MTLRenderPassState::cmd |
Definition at line 115 of file mtl_context.hh.
Referenced by bind_fragment_buffer(), bind_fragment_bytes(), bind_fragment_sampler(), bind_fragment_texture(), bind_vertex_buffer(), bind_vertex_bytes(), bind_vertex_sampler(), bind_vertex_texture(), and reset_state().
| MTLContext& blender::gpu::MTLRenderPassState::ctx |
Definition at line 114 of file mtl_context.hh.
Referenced by bind_fragment_bytes(), bind_fragment_sampler(), bind_vertex_bytes(), and bind_vertex_sampler().
| MTLBoundShaderState blender::gpu::MTLRenderPassState::last_bound_shader_state |
Definition at line 117 of file mtl_context.hh.
Referenced by blender::gpu::MTLContext::ensure_buffer_bindings(), and reset_state().
| MTLScissorRect blender::gpu::MTLRenderPassState::last_scissor_rect |
Definition at line 121 of file mtl_context.hh.
Referenced by blender::gpu::MTLContext::ensure_render_pipeline_state(), and reset_state().
| uint blender::gpu::MTLRenderPassState::last_used_stencil_ref_value = 0 |
Definition at line 120 of file mtl_context.hh.
Referenced by blender::gpu::MTLContext::ensure_depth_stencil_state(), and reset_state().