|
Blender V4.3
|
#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_, GPUUniformBuf *res) | |
| ResourceBind (int slot_, GPUUniformBuf **res) | |
| ResourceBind (int slot_, GPUStorageBuf *res) | |
| ResourceBind (int slot_, GPUStorageBuf **res) | |
| ResourceBind (int slot_, GPUUniformBuf *res, Type) | |
| ResourceBind (int slot_, GPUUniformBuf **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_, GPUTexture *res, GPUSamplerState state) | |
| ResourceBind (int slot_, GPUTexture **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 { | ||
| GPUUniformBuf * uniform_buf | ||
| GPUUniformBuf ** uniform_buf_ref | ||
| GPUStorageBuf * storage_buf | ||
| GPUStorageBuf ** storage_buf_ref | ||
| GPUTexture * texture | ||
| GPUTexture ** texture_ref | ||
| gpu::VertBuf * vertex_buf | ||
| gpu::VertBuf ** vertex_buf_ref | ||
| gpu::IndexBuf * index_buf | ||
| gpu::IndexBuf ** index_buf_ref | ||
| }; | ||
Definition at line 149 of file draw_command.hh.
|
strong |
| Enumerator | |
|---|---|
| Sampler | |
| BufferSampler | |
| Image | |
| UniformBuf | |
| StorageBuf | |
| UniformAsStorageBuf | |
| VertexAsStorageBuf | |
| IndexAsStorageBuf | |
Definition at line 154 of file draw_command.hh.
|
default |
|
inline |
Definition at line 183 of file draw_command.hh.
|
inline |
Definition at line 185 of file draw_command.hh.
|
inline |
Definition at line 187 of file draw_command.hh.
|
inline |
Definition at line 189 of file draw_command.hh.
Definition at line 191 of file draw_command.hh.
Definition at line 193 of file draw_command.hh.
|
inline |
Definition at line 195 of file draw_command.hh.
|
inline |
Definition at line 197 of file draw_command.hh.
|
inline |
Definition at line 199 of file draw_command.hh.
|
inline |
Definition at line 201 of file draw_command.hh.
|
inline |
Definition at line 203 of file draw_command.hh.
|
inline |
Definition at line 205 of file draw_command.hh.
|
inline |
Definition at line 207 of file draw_command.hh.
|
inline |
Definition at line 209 of file draw_command.hh.
|
inline |
Definition at line 211 of file draw_command.hh.
|
inline |
Definition at line 213 of file draw_command.hh.
| void blender::draw::command::ResourceBind::execute | ( | ) | const |
Definition at line 78 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, 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 382 of file draw_command.cc.
References BLI_assert_unreachable, BufferSampler, Image, IndexAsStorageBuf, is_reference, Sampler, sampler, slot, StorageBuf, GPUSamplerState::to_string(), UniformAsStorageBuf, UniformBuf, and VertexAsStorageBuf.
| union { ... } blender::draw::command::ResourceBind |
| gpu::IndexBuf* blender::draw::command::ResourceBind::index_buf |
Definition at line 177 of file draw_command.hh.
Referenced by execute().
| gpu::IndexBuf** blender::draw::command::ResourceBind::index_buf_ref |
Definition at line 178 of file draw_command.hh.
Referenced by execute().
| bool blender::draw::command::ResourceBind::is_reference |
Definition at line 152 of file draw_command.hh.
Referenced by execute(), and serialize().
| GPUSamplerState blender::draw::command::ResourceBind::sampler |
Definition at line 150 of file draw_command.hh.
Referenced by execute(), and serialize().
| int blender::draw::command::ResourceBind::slot |
Definition at line 151 of file draw_command.hh.
Referenced by execute(), and serialize().
| GPUStorageBuf* blender::draw::command::ResourceBind::storage_buf |
Definition at line 170 of file draw_command.hh.
Referenced by execute().
| GPUStorageBuf** blender::draw::command::ResourceBind::storage_buf_ref |
Definition at line 171 of file draw_command.hh.
Referenced by execute().
| GPUTexture* blender::draw::command::ResourceBind::texture |
NOTE: Texture is used for both Sampler and Image binds.
Definition at line 173 of file draw_command.hh.
Referenced by execute().
| GPUTexture** blender::draw::command::ResourceBind::texture_ref |
Definition at line 174 of file draw_command.hh.
Referenced by execute().
| enum blender::draw::command::ResourceBind::Type blender::draw::command::ResourceBind::type |
| GPUUniformBuf* blender::draw::command::ResourceBind::uniform_buf |
TODO: Use draw::Texture|StorageBuffer|UniformBuffer as resources as they will give more debug info.
Definition at line 168 of file draw_command.hh.
Referenced by execute().
| GPUUniformBuf** blender::draw::command::ResourceBind::uniform_buf_ref |
Definition at line 169 of file draw_command.hh.
Referenced by execute().
| gpu::VertBuf* blender::draw::command::ResourceBind::vertex_buf |
Definition at line 175 of file draw_command.hh.
Referenced by execute().
| gpu::VertBuf** blender::draw::command::ResourceBind::vertex_buf_ref |
Definition at line 176 of file draw_command.hh.
Referenced by execute().