|
Blender V4.3
|
#include <vk_vertex_attribute_object.hh>
Public Member Functions | |
| VKVertexAttributeObject () | |
| void | clear () |
| VKVertexAttributeObject & | operator= (const VKVertexAttributeObject &other) |
Bind resources | |
| void | bind (render_graph::VKVertexBufferBindings &r_vertex_buffer_bindings) const |
Debugging | |
| void | debug_print () const |
Public Attributes | |
| bool | is_valid = false |
| VkPipelineVertexInputStateCreateInfo | info |
| Vector< VkVertexInputBindingDescription > | bindings |
| Vector< VkVertexInputAttributeDescription > | attributes |
| Vector< VKVertexBuffer * > | vbos |
| Vector< VKBufferWithOffset > | buffers |
Update bindings | |
| void | update_bindings (const VKContext &context, VKBatch &batch) |
| void | update_bindings (VKImmediate &immediate) |
Definition at line 31 of file vk_vertex_attribute_object.hh.
| blender::gpu::VKVertexAttributeObject::VKVertexAttributeObject | ( | ) |
Definition at line 18 of file vk_vertex_attribute_object.cc.
References clear().
| void blender::gpu::VKVertexAttributeObject::bind | ( | render_graph::VKVertexBufferBindings & | r_vertex_buffer_bindings | ) | const |
Definition at line 56 of file vk_vertex_attribute_object.cc.
References attributes, bindings, blender::gpu::render_graph::VKVertexBufferBindings::buffer, blender::gpu::render_graph::VKVertexBufferBindings::buffer_count, buffers, blender::gpu::VKBackend::device, blender::gpu::VKDevice::dummy_buffer, blender::gpu::VKBackend::get(), max_ii(), blender::gpu::render_graph::VKVertexBufferBindings::offset, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and blender::gpu::VKBuffer::vk_handle().
Referenced by blender::gpu::VKBatch::draw(), blender::gpu::VKImmediate::end(), and blender::gpu::VKBatch::multi_draw_indirect().
| void blender::gpu::VKVertexAttributeObject::clear | ( | ) |
Definition at line 23 of file vk_vertex_attribute_object.cc.
References bindings, buffers, blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), info, is_valid, and vbos.
Referenced by update_bindings(), update_bindings(), and VKVertexAttributeObject().
| void blender::gpu::VKVertexAttributeObject::debug_print | ( | ) | const |
Definition at line 322 of file vk_vertex_attribute_object.cc.
References attributes, bindings, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and vbos.
| VKVertexAttributeObject & blender::gpu::VKVertexAttributeObject::operator= | ( | const VKVertexAttributeObject & | other | ) |
Copy assignment operator.
Definition at line 33 of file vk_vertex_attribute_object.cc.
References bindings, buffers, blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), info, is_valid, and vbos.
| void blender::gpu::VKVertexAttributeObject::update_bindings | ( | const VKContext & | context, |
| VKBatch & | batch ) |
Definition at line 89 of file vk_vertex_attribute_object.cc.
References batch, clear(), blender::gpu::VKVertexBuffer::device_format_ensure(), blender::gpu::VKVertexBuffer::device_format_get(), GPU_BATCH_INST_VBO_MAX_LEN, GPU_BATCH_VBO_MAX_LEN, is_valid, blender::gpu::unwrap(), update_bindings(), v, and blender::gpu::VertBuf::vertex_len.
Referenced by blender::gpu::VKBatch::draw(), blender::gpu::VKImmediate::end(), blender::gpu::VKBatch::multi_draw_indirect(), update_bindings(), and update_bindings().
| void blender::gpu::VKVertexAttributeObject::update_bindings | ( | VKImmediate & | immediate | ) |
Definition at line 213 of file vk_vertex_attribute_object.cc.
References BLI_assert, clear(), blender::gpu::VertexFormatConverter::device_format_get(), is_valid, blender::gpu::unwrap(), update_bindings(), and blender::gpu::Immediate::vertex_len.
| Vector<VkVertexInputAttributeDescription> blender::gpu::VKVertexAttributeObject::attributes |
Definition at line 38 of file vk_vertex_attribute_object.hh.
Referenced by bind(), debug_print(), and blender::gpu::VKShader::ensure_and_get_graphics_pipeline().
| Vector<VkVertexInputBindingDescription> blender::gpu::VKVertexAttributeObject::bindings |
Definition at line 37 of file vk_vertex_attribute_object.hh.
Referenced by bind(), clear(), debug_print(), blender::gpu::VKShader::ensure_and_get_graphics_pipeline(), and operator=().
| Vector<VKBufferWithOffset> blender::gpu::VKVertexAttributeObject::buffers |
Definition at line 42 of file vk_vertex_attribute_object.hh.
Referenced by bind(), clear(), and operator=().
| VkPipelineVertexInputStateCreateInfo blender::gpu::VKVertexAttributeObject::info |
Definition at line 34 of file vk_vertex_attribute_object.hh.
Referenced by clear(), and operator=().
| bool blender::gpu::VKVertexAttributeObject::is_valid = false |
Definition at line 33 of file vk_vertex_attribute_object.hh.
Referenced by clear(), operator=(), update_bindings(), and update_bindings().
| Vector<VKVertexBuffer *> blender::gpu::VKVertexAttributeObject::vbos |
Definition at line 40 of file vk_vertex_attribute_object.hh.
Referenced by clear(), debug_print(), and operator=().