|
Blender V5.0
|
#include <draw_command.hh>
Public Types | |
| enum class | Type : uint8_t { Sampler = 0 , BufferSampler , Image , UniformBuf , StorageBuf , UniformAsStorageBuf , VertexAsStorageBuf , IndexAsStorageBuf } |
Public Member Functions | |
| ResourceBind ()=default | |
| ResourceBind (int slot_, gpu::UniformBuf *res) | |
| ResourceBind (int slot_, gpu::UniformBuf **res) | |
| ResourceBind (int slot_, gpu::StorageBuf *res) | |
| ResourceBind (int slot_, gpu::StorageBuf **res) | |
| ResourceBind (int slot_, gpu::UniformBuf *res, Type) | |
| ResourceBind (int slot_, gpu::UniformBuf **res, Type) | |
| ResourceBind (int slot_, gpu::VertBuf *res, Type) | |
| ResourceBind (int slot_, gpu::VertBuf **res, Type) | |
| ResourceBind (int slot_, gpu::IndexBuf *res, Type) | |
| ResourceBind (int slot_, gpu::IndexBuf **res, Type) | |
| ResourceBind (int slot_, draw::Image *res) | |
| ResourceBind (int slot_, draw::Image **res) | |
| ResourceBind (int slot_, gpu::Texture *res, GPUSamplerState state) | |
| ResourceBind (int slot_, gpu::Texture **res, GPUSamplerState state) | |
| ResourceBind (int slot_, gpu::VertBuf *res) | |
| ResourceBind (int slot_, gpu::VertBuf **res) | |
Commands Execution | |
| void | execute () const |
Commands Serialization for debugging | |
| std::string | serialize () const |
Public Attributes | |
| GPUSamplerState | sampler |
| int | slot |
| bool | is_reference |
| enum blender::draw::command::ResourceBind::Type | type |
| union { | |
| gpu::UniformBuf * uniform_buf | |
| gpu::UniformBuf ** uniform_buf_ref | |
| gpu::StorageBuf * storage_buf | |
| gpu::StorageBuf ** storage_buf_ref | |
| gpu::Texture * texture | |
| gpu::Texture ** texture_ref | |
| gpu::VertBuf * vertex_buf | |
| gpu::VertBuf ** vertex_buf_ref | |
| gpu::IndexBuf * index_buf | |
| gpu::IndexBuf ** index_buf_ref | |
| }; | |
Definition at line 161 of file draw_command.hh.
|
strong |
| Enumerator | |
|---|---|
| Sampler | |
| BufferSampler | |
| Image | |
| UniformBuf | |
| StorageBuf | |
| UniformAsStorageBuf | |
| VertexAsStorageBuf | |
| IndexAsStorageBuf | |
Definition at line 166 of file draw_command.hh.
|
default |
|
inline |
Definition at line 195 of file draw_command.hh.
References false, is_reference, slot, type, and uniform_buf.
|
inline |
Definition at line 197 of file draw_command.hh.
References is_reference, slot, true, type, and uniform_buf_ref.
|
inline |
Definition at line 199 of file draw_command.hh.
References false, is_reference, slot, storage_buf, and type.
|
inline |
Definition at line 201 of file draw_command.hh.
References is_reference, slot, storage_buf_ref, true, and type.
|
inline |
Definition at line 203 of file draw_command.hh.
References false, is_reference, slot, type, and uniform_buf.
|
inline |
Definition at line 205 of file draw_command.hh.
References is_reference, slot, true, type, and uniform_buf_ref.
|
inline |
Definition at line 207 of file draw_command.hh.
References false, is_reference, slot, type, and vertex_buf.
|
inline |
Definition at line 209 of file draw_command.hh.
References is_reference, slot, true, type, and vertex_buf_ref.
|
inline |
Definition at line 211 of file draw_command.hh.
References false, index_buf, is_reference, slot, and type.
|
inline |
Definition at line 213 of file draw_command.hh.
References index_buf_ref, is_reference, slot, true, and type.
|
inline |
Definition at line 215 of file draw_command.hh.
References blender::draw::as_texture(), false, is_reference, slot, texture, and type.
|
inline |
Definition at line 217 of file draw_command.hh.
References blender::draw::as_texture(), is_reference, slot, texture_ref, true, and type.
|
inline |
Definition at line 219 of file draw_command.hh.
References false, is_reference, sampler, slot, state, texture, and type.
|
inline |
Definition at line 221 of file draw_command.hh.
References is_reference, sampler, slot, state, texture_ref, true, and type.
|
inline |
Definition at line 223 of file draw_command.hh.
References false, is_reference, slot, type, and vertex_buf.
|
inline |
Definition at line 225 of file draw_command.hh.
References is_reference, slot, true, type, and vertex_buf_ref.
| void blender::draw::command::ResourceBind::execute | ( | ) | const |
Definition at line 82 of file draw_command.cc.
References BufferSampler, GPU_indexbuf_bind_as_ssbo(), GPU_storagebuf_bind(), GPU_texture_bind_ex(), GPU_texture_image_bind(), GPU_uniformbuf_bind(), GPU_uniformbuf_bind_as_ssbo(), GPU_vertbuf_bind_as_ssbo(), GPU_vertbuf_bind_as_texture(), Image, index_buf, index_buf_ref, IndexAsStorageBuf, is_reference, Sampler, sampler, slot, storage_buf, storage_buf_ref, StorageBuf, texture, texture_ref, type, uniform_buf, uniform_buf_ref, UniformAsStorageBuf, UniformBuf, vertex_buf, vertex_buf_ref, and VertexAsStorageBuf.
| std::string blender::draw::command::ResourceBind::serialize | ( | ) | const |
Definition at line 412 of file draw_command.cc.
References BLI_assert_unreachable, BufferSampler, Image, IndexAsStorageBuf, is_reference, Sampler, sampler, slot, StorageBuf, type, UniformAsStorageBuf, UniformBuf, and VertexAsStorageBuf.
| union { ... } blender::draw::command::ResourceBind |
| gpu::IndexBuf* blender::draw::command::ResourceBind::index_buf |
Definition at line 189 of file draw_command.hh.
Referenced by execute(), and ResourceBind().
| gpu::IndexBuf** blender::draw::command::ResourceBind::index_buf_ref |
Definition at line 190 of file draw_command.hh.
Referenced by execute(), and ResourceBind().
| bool blender::draw::command::ResourceBind::is_reference |
Definition at line 164 of file draw_command.hh.
Referenced by execute(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), and serialize().
| GPUSamplerState blender::draw::command::ResourceBind::sampler |
Definition at line 162 of file draw_command.hh.
Referenced by execute(), ResourceBind(), ResourceBind(), and serialize().
| int blender::draw::command::ResourceBind::slot |
Definition at line 163 of file draw_command.hh.
Referenced by execute(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), ResourceBind(), and serialize().
| gpu::StorageBuf* blender::draw::command::ResourceBind::storage_buf |
Definition at line 182 of file draw_command.hh.
Referenced by execute(), and ResourceBind().
| gpu::StorageBuf** blender::draw::command::ResourceBind::storage_buf_ref |
Definition at line 183 of file draw_command.hh.
Referenced by execute(), and ResourceBind().
| gpu::Texture* blender::draw::command::ResourceBind::texture |
NOTE: Texture is used for both Sampler and Image binds.
Definition at line 185 of file draw_command.hh.
Referenced by execute(), ResourceBind(), and ResourceBind().
| gpu::Texture** blender::draw::command::ResourceBind::texture_ref |
Definition at line 186 of file draw_command.hh.
Referenced by execute(), ResourceBind(), and ResourceBind().
| enum blender::draw::command::ResourceBind::Type blender::draw::command::ResourceBind::type |
| gpu::UniformBuf* blender::draw::command::ResourceBind::uniform_buf |
TODO: Use draw::Texture|StorageBuffer|UniformBuffer as resources as they will give more debug info.
Definition at line 180 of file draw_command.hh.
Referenced by execute(), ResourceBind(), and ResourceBind().
| gpu::UniformBuf** blender::draw::command::ResourceBind::uniform_buf_ref |
Definition at line 181 of file draw_command.hh.
Referenced by execute(), ResourceBind(), and ResourceBind().
| gpu::VertBuf* blender::draw::command::ResourceBind::vertex_buf |
Definition at line 187 of file draw_command.hh.
Referenced by execute(), ResourceBind(), and ResourceBind().
| gpu::VertBuf** blender::draw::command::ResourceBind::vertex_buf_ref |
Definition at line 188 of file draw_command.hh.
Referenced by execute(), ResourceBind(), and ResourceBind().