|
Blender V4.3
|
#include <vk_immediate.hh>
Inherits blender::gpu::Immediate.
Public Member Functions | |
| VKImmediate () | |
| virtual | ~VKImmediate () |
| void | deinit (VKDevice &device) |
| void | reset () |
| uchar * | begin () override |
| void | end () override |
Public Member Functions inherited from blender::gpu::Immediate | |
| Immediate () | |
| virtual | ~Immediate () |
Friends | |
| class | VKVertexAttributeObject |
Additional Inherited Members | |
Public Attributes inherited from blender::gpu::Immediate | |
| uchar * | vertex_data = nullptr |
| uint | vertex_idx = 0 |
| uint | vertex_len = 0 |
| uint16_t | unassigned_attr_bits = 0 |
| uint16_t | enabled_attr_bits = 0 |
| GPUPrimType | prim_type = GPU_PRIM_NONE |
| GPUVertFormat | vertex_format = {} |
| GPUShader * | shader = nullptr |
| bool | strict_vertex_len = true |
| Batch * | batch = nullptr |
| std::optional< eGPUBuiltinShader > | prev_builtin_shader |
| std::optional< eGPUBuiltinShader > | builtin_shader_bound |
| float | uniform_color [4] |
Definition at line 31 of file vk_immediate.hh.
| blender::gpu::VKImmediate::VKImmediate | ( | ) |
Definition at line 24 of file vk_immediate.cc.
|
virtual |
Definition at line 25 of file vk_immediate.cc.
References BLI_assert_msg, and blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty().
|
overridevirtual |
Implements blender::gpu::Immediate.
Definition at line 47 of file vk_immediate.cc.
References blender::gpu::VKBackend::device, blender::gpu::VertexFormatConverter::device_format_get(), blender::gpu::VKBackend::get(), blender::gpu::VertexFormatConverter::init(), blender::gpu::VKBuffer::mapped_memory_get(), vertex_buffer_size(), blender::gpu::Immediate::vertex_format, blender::gpu::Immediate::vertex_len, and blender::gpu::VKDevice::workarounds_get().
| void blender::gpu::VKImmediate::deinit | ( | VKDevice & | device | ) |
Definition at line 33 of file vk_immediate.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), and blender::Vector< T, InlineBufferCapacity, Allocator >::pop_last().
Referenced by blender::gpu::VKResourcePool::deinit().
|
overridevirtual |
Implements blender::gpu::Immediate.
Definition at line 60 of file vk_immediate.cc.
References blender::gpu::VKVertexAttributeObject::bind(), BLI_assert, BLI_assert_msg, blender::gpu::VertexFormatConverter::convert(), blender::gpu::render_graph::VKDrawData::first_instance, blender::gpu::render_graph::VKDrawData::first_vertex, blender::gpu::VKContext::get(), GPU_PRIM_NONE, blender::gpu::render_graph::VKDrawData::instance_count, blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::gpu::VertexFormatConverter::needs_conversion(), blender::gpu::render_graph::VKDrawCreateInfo::node_data, blender::gpu::render_graph::VKDrawData::pipeline_data, blender::gpu::Immediate::prim_type, blender::gpu::VertexFormatConverter::reset(), blender::gpu::unwrap(), blender::gpu::VKVertexAttributeObject::update_bindings(), blender::gpu::render_graph::VKDrawData::vertex_buffers, blender::gpu::render_graph::VKDrawData::vertex_count, and blender::gpu::Immediate::vertex_idx.
| void blender::gpu::VKImmediate::reset | ( | ) |
Definition at line 142 of file vk_immediate.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), CLOG_INFO, blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::gpu::LOG, and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
Referenced by blender::gpu::VKResourcePool::reset().
|
friend |
Definition at line 52 of file vk_immediate.hh.