|
Blender V5.0
|
#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 103 of file mtl_context.hh.
|
inline |
Definition at line 107 of file mtl_context.hh.
References cmd, ctx, and MTLContext.
| void blender::gpu::MTLRenderPassState::bind_fragment_buffer | ( | id< MTLBuffer > | buffer, |
| uint64_t | buffer_offset, | ||
| uint | index ) |
Definition at line 941 of file mtl_command_buffer.mm.
References BLI_assert, cached_fragment_buffer_bindings, cmd, 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 1028 of file mtl_command_buffer.mm.
References bind_fragment_buffer(), BLI_assert, blender::gpu::MTLBufferRange::buffer_offset, cached_fragment_buffer_bindings, cmd, ctx, blender::gpu::MTLBufferRange::data, length(), blender::gpu::MTLBufferRange::metal_buffer, MTL_MAX_BUFFER_BINDINGS, and MTL_MAX_SET_BYTES_SIZE.
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 827 of file mtl_command_buffer.mm.
References BLI_assert, cached_fragment_sampler_state_bindings, cmd, ctx, blender::gpu::DEFAULT_SAMPLER_STATE, MTL_MAX_TEXTURE_SLOTS, blender::gpu::sampler_binding(), 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 766 of file mtl_command_buffer.mm.
References BLI_assert, cached_fragment_texture_bindings, and cmd.
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 909 of file mtl_command_buffer.mm.
References BLI_assert, cached_vertex_buffer_bindings, cmd, 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(), and blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::bind_vertex_bytes | ( | const void * | bytes, |
| uint64_t | length, | ||
| uint | index ) |
Definition at line 1003 of file mtl_command_buffer.mm.
References bind_vertex_buffer(), BLI_assert, blender::gpu::MTLBufferRange::buffer_offset, cached_vertex_buffer_bindings, cmd, ctx, blender::gpu::MTLBufferRange::data, length(), blender::gpu::MTLBufferRange::metal_buffer, MTL_MAX_BUFFER_BINDINGS, and MTL_MAX_SET_BYTES_SIZE.
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 787 of file mtl_command_buffer.mm.
References BLI_assert, cached_vertex_sampler_state_bindings, cmd, ctx, blender::gpu::DEFAULT_SAMPLER_STATE, MTL_MAX_TEXTURE_SLOTS, blender::gpu::sampler_binding(), 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 756 of file mtl_command_buffer.mm.
References BLI_assert, cached_vertex_texture_bindings, and cmd.
Referenced by blender::gpu::MTLContext::ensure_texture_bindings().
| void blender::gpu::MTLRenderPassState::reset_state | ( | ) |
Definition at line 695 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(), last_bound_shader_state, last_scissor_rect, last_used_stencil_ref_value, MTL_MAX_BUFFER_BINDINGS, and MTL_MAX_TEXTURE_SLOTS.
|
friend |
Definition at line 104 of file mtl_context.hh.
References MTLContext.
Referenced by MTLContext, and MTLRenderPassState().
| id<MTLDepthStencilState> blender::gpu::MTLRenderPassState::bound_ds_state = nil |
Definition at line 117 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 116 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 122 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 126 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 124 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 121 of file mtl_context.hh.
Referenced by bind_vertex_buffer(), bind_vertex_bytes(), 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 125 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 123 of file mtl_context.hh.
Referenced by bind_vertex_texture(), and reset_state().
| MTLCommandBufferManager& blender::gpu::MTLRenderPassState::cmd |
Definition at line 113 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(), MTLRenderPassState(), and reset_state().
| MTLContext& blender::gpu::MTLRenderPassState::ctx |
Definition at line 112 of file mtl_context.hh.
Referenced by bind_fragment_bytes(), bind_fragment_sampler(), bind_vertex_bytes(), bind_vertex_sampler(), and MTLRenderPassState().
| MTLBoundShaderState blender::gpu::MTLRenderPassState::last_bound_shader_state |
Definition at line 115 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 119 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 118 of file mtl_context.hh.
Referenced by blender::gpu::MTLContext::ensure_depth_stencil_state(), and reset_state().