|
Blender V5.0
|
#include <draw_command.hh>
Public Member Functions | |
| void | clear () |
| void | append_draw (Vector< Header, 0 > &headers, Vector< Undetermined, 0 > &commands, gpu::Batch *batch, uint instance_len, uint vertex_len, uint vertex_first, ResourceIndexRange index_range, uint custom_id, GPUPrimType expanded_prim_type, uint16_t expanded_prim_len) |
Commands buffers binding / command / resource ID generation | |
| void | generate_commands (Vector< Header, 0 > &headers, Vector< Undetermined, 0 > &commands, VisibilityBuf &visibility_buf, int visibility_word_per_draw, int view_len, bool use_custom_ids) |
| void | bind (RecordingState &state) |
Definition at line 618 of file draw_command.hh.
|
inline |
Definition at line 664 of file draw_command.hh.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append_and_get_index(), blender::draw::command::DrawGroup::back_facing_counter, batch, BLI_assert, BLI_assert_msg, blender::draw::command::DrawGroup::desc, blender::draw::command::DrawMulti, blender::draw::command::DrawGroup::expand_prim_len, blender::draw::command::DrawGroup::expand_prim_type, blender::draw::command::DrawGroup::front_facing_counter, blender::draw::command::DrawGroup::front_facing_len, blender::draw::command::DrawGroup::gpu_batch, blender::draw::command::DrawMulti::group_first, blender::draw::ResourceIndexRange::has_inverted_handedness(), blender::draw::ResourceIndexRange::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::draw::command::DrawGroup::len, blender::draw::command::DrawGroup::next, blender::draw::command::DrawMulti::uuid, blender::draw::command::DrawGroup::vertex_first, and blender::draw::command::DrawGroup::vertex_len.
| void blender::draw::command::DrawMultiBuf::bind | ( | RecordingState & | state | ) |
Definition at line 870 of file draw_command.cc.
References DRW_RESOURCE_ID_SLOT, and GPU_storagebuf_bind().
|
inline |
Definition at line 651 of file draw_command.hh.
| void blender::draw::command::DrawMultiBuf::generate_commands | ( | Vector< Header, 0 > & | headers, |
| Vector< Undetermined, 0 > & | commands, | ||
| VisibilityBuf & | visibility_buf, | ||
| int | visibility_word_per_draw, | ||
| int | view_len, | ||
| bool | use_custom_ids ) |
Definition at line 789 of file draw_command.cc.
References BLI_assert, divide_ceil_u(), DRW_COMMAND_GROUP_SIZE, DRW_RESOURCE_ID_SLOT, DRW_shader_draw_command_generate_get(), GPU_BARRIER_SHADER_STORAGE, GPU_batch_draw_expanded_parameter_get(), GPU_batch_draw_parameter_get(), GPU_compute_dispatch(), GPU_debug_group_begin(), GPU_debug_group_end(), GPU_memory_barrier(), GPU_PRIM_NONE, GPU_shader_bind(), GPU_shader_get_ssbo_binding(), GPU_shader_uniform_1b(), GPU_shader_uniform_1i(), GPU_storagebuf_bind(), GPU_storagebuf_sync_as_indirect_buffer(), log2_ceil_u(), blender::IndexRange::size(), blender::IndexRange::start(), and UNUSED_VARS_NDEBUG.