|
Blender V5.0
|
#include <gl_shader_interface.hh>
Inherits blender::gpu::ShaderInterface.
Public Member Functions | |
| MEM_CXX_CLASS_ALLOC_FUNCS ("GLShaderInterface") | |
Creation / Destruction | |
| GLShaderInterface (GLuint program, const shader::ShaderCreateInfo &info) | |
| GLShaderInterface (GLuint program) | |
| ~GLShaderInterface () | |
Batch Reference | |
| void | ref_add (GLVaoCache *ref) |
| void | ref_remove (GLVaoCache *ref) |
| Public Member Functions inherited from blender::gpu::ShaderInterface | |
| ShaderInterface () | |
| virtual | ~ShaderInterface () |
| void | debug_print () const |
| const ShaderInput * | attr_get (const StringRefNull name) const |
| const ShaderInput * | attr_get (const int binding) const |
| const ShaderInput * | ubo_get (const StringRefNull name) const |
| const ShaderInput * | ubo_get (const int binding) const |
| const ShaderInput * | uniform_get (const StringRefNull name) const |
| const ShaderInput * | texture_get (const int binding) const |
| const ShaderInput * | ssbo_get (const StringRefNull name) const |
| const ShaderInput * | ssbo_get (const int binding) const |
| const ShaderInput * | constant_get (const StringRefNull name) const |
| const char * | input_name_get (const ShaderInput *input) const |
| int32_t | uniform_builtin (const GPUUniformBuiltin builtin) const |
| int32_t | ubo_builtin (const GPUUniformBlockBuiltin builtin) const |
| uint | valid_bindings_get (const ShaderInput *const inputs, const uint inputs_len) const |
Implementation of Shader interface using OpenGL.
Definition at line 30 of file gl_shader_interface.hh.
| blender::gpu::GLShaderInterface::GLShaderInterface | ( | GLuint | program, |
| const shader::ShaderCreateInfo & | info ) |
Definition at line 387 of file gl_shader_interface.cc.
References blender::gpu::ShaderInterface::attr_len_, blender::gpu::ShaderInterface::attr_types_, ShaderCreateInfo::Resource::bind_type, blender::gpu::ShaderInput::binding, BLI_assert_msg, blender::gpu::ShaderInterface::builtin_blocks_, blender::gpu::ShaderInterface::builtin_uniform_block_name(), blender::gpu::ShaderInterface::builtin_uniform_name(), blender::gpu::ShaderInterface::builtins_, StringRefNull::c_str(), blender::gpu::ShaderInterface::constant_len_, blender::gpu::ShaderInterface::copy_input_name(), blender::gpu::ShaderInterface::enabled_attr_mask_, blender::gpu::ShaderInterface::enabled_ima_mask_, blender::gpu::ShaderInterface::enabled_ssbo_mask_, blender::gpu::ShaderInterface::enabled_tex_mask_, blender::gpu::ShaderInterface::enabled_ubo_mask_, blender::gpu::GLContext::explicit_location_support, blender::gpu::shader::ShaderCreateInfo::geometry_resources_, GPU_NUM_UNIFORM_BLOCKS, GPU_NUM_UNIFORMS, blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE, ShaderCreateInfo::VertIn::index, input, blender::gpu::ShaderInterface::inputs_, blender::gpu::shader::ShaderCreateInfo::interface_names_size_, blender::gpu::ShaderInput::location, MEM_calloc_arrayN(), MEM_mallocN(), blender::gpu::shader::SpecializationConstant::name, ShaderCreateInfo::PushConst::name, ShaderCreateInfo::VertIn::name, blender::gpu::ShaderInterface::name_buffer_, blender::gpu::shader::ShaderCreateInfo::push_constants_, blender::gpu::shader::ShaderCreateInfo::resources_get_all_(), blender::gpu::shader::ShaderCreateInfo::Resource::SAMPLER, blender::gpu::ShaderInterface::set_image_formats_from_info(), ShaderCreateInfo::Resource::slot, blender::gpu::ShaderInterface::sort_inputs(), blender::gpu::shader::ShaderCreateInfo::specialization_constants_, blender::gpu::ShaderInterface::ssbo_attr_mask_, blender::gpu::ShaderInterface::ssbo_len_, blender::gpu::shader::ShaderCreateInfo::Resource::STORAGE_BUFFER, ShaderCreateInfo::VertIn::type, blender::gpu::ShaderInterface::ubo_get(), blender::gpu::ShaderInterface::ubo_len_, blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER, blender::gpu::ShaderInterface::uniform_get(), blender::gpu::ShaderInterface::uniform_len_, and blender::gpu::shader::ShaderCreateInfo::vertex_inputs_.
| blender::gpu::GLShaderInterface::GLShaderInterface | ( | GLuint | program | ) |
Definition at line 202 of file gl_shader_interface.cc.
References blender::gpu::ShaderInterface::attr_len_, blender::gpu::ShaderInterface::attr_types_, blender::gpu::ShaderInput::binding, BLI_assert_msg, BLI_BITMAP_ENABLE, BLI_BITMAP_NEW, BLI_BITMAP_TEST, blender::gpu::block_binding(), blender::gpu::ShaderInterface::builtin_blocks_, blender::gpu::ShaderInterface::builtin_uniform_block_name(), blender::gpu::ShaderInterface::builtin_uniform_name(), blender::gpu::ShaderInterface::builtins_, blender::gpu::ShaderInterface::enabled_attr_mask_, blender::gpu::ShaderInterface::enabled_ima_mask_, blender::gpu::ShaderInterface::enabled_ssbo_mask_, blender::gpu::ShaderInterface::enabled_tex_mask_, blender::gpu::ShaderInterface::enabled_ubo_mask_, GPU_NUM_UNIFORM_BLOCKS, GPU_NUM_UNIFORMS, blender::gpu::gpu_type_from_gl_type(), i, blender::gpu::image_binding(), input, blender::gpu::ShaderInterface::inputs_, max_ii(), MEM_calloc_arrayN(), MEM_freeN(), MEM_malloc_arrayN(), MEM_mallocN(), MEM_reallocN, name, blender::gpu::ShaderInterface::name_buffer_, blender::gpu::sampler_binding(), blender::gpu::ShaderInterface::set_input_name(), size(), blender::gpu::ShaderInterface::sort_inputs(), blender::gpu::ssbo_binding(), blender::gpu::ShaderInterface::ssbo_len_, blender::gpu::ShaderInterface::ubo_get(), blender::gpu::ShaderInterface::ubo_len_, and blender::gpu::ShaderInterface::uniform_len_.
| blender::gpu::GLShaderInterface::~GLShaderInterface | ( | ) |
Definition at line 547 of file gl_shader_interface.cc.
| blender::gpu::GLShaderInterface::MEM_CXX_CLASS_ALLOC_FUNCS | ( | "GLShaderInterface" | ) |
| void blender::gpu::GLShaderInterface::ref_add | ( | GLVaoCache * | ref | ) |
Definition at line 562 of file gl_shader_interface.cc.
References i.
| void blender::gpu::GLShaderInterface::ref_remove | ( | GLVaoCache * | ref | ) |
Definition at line 573 of file gl_shader_interface.cc.
References i.