|
Blender V4.5
|
#include <gl_shader.hh>
Inherits blender::gpu::Shader.
Friends | |
| class | GLSubprocessShaderCompiler |
| class | GLShaderCompiler |
Shader stage creation | |
| void | vertex_shader_from_glsl (MutableSpan< StringRefNull > sources) override |
| void | geometry_shader_from_glsl (MutableSpan< StringRefNull > sources) override |
| void | fragment_shader_from_glsl (MutableSpan< StringRefNull > sources) override |
| void | compute_shader_from_glsl (MutableSpan< StringRefNull > sources) override |
| bool | finalize (const shader::ShaderCreateInfo *info=nullptr) override |
| bool | post_finalize (const shader::ShaderCreateInfo *info=nullptr) |
Specialization Constants | |
| GLSourcesBaked | get_sources () |
Additional Inherited Members | |
Static Public Member Functions inherited from blender::gpu::Shader | |
| static void | set_srgb_uniform (Context *ctx, GPUShader *shader) |
| static void | set_framebuffer_srgb_target (int use_srgb_to_linear) |
Public Attributes inherited from blender::gpu::Shader | |
| ShaderInterface * | interface = nullptr |
| uint16_t | fragment_output_bits = 0 |
| std::unique_ptr< const shader::SpecializationConstants > | constants |
| bool | is_polyline = false |
Protected Member Functions inherited from blender::gpu::Shader | |
| void | print_log (Span< StringRefNull > sources, const char *log, const char *stage, bool error, GPULogParser *parser) |
Protected Attributes inherited from blender::gpu::Shader | |
| char | name [64] |
| Shader * | parent_shader_ = nullptr |
Implementation of shader compilation and uniforms handling using OpenGL.
Definition at line 69 of file gl_shader.hh.
| GLShader::GLShader | ( | const char * | name | ) |
Definition at line 54 of file gl_shader.cc.
References BLI_assert, and blender::gpu::GLContext::get().
| GLShader::~GLShader | ( | ) |
Definition at line 62 of file gl_shader.cc.
References BLI_assert, and blender::gpu::GLContext::get().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1426 of file gl_shader.cc.
|
overridevirtual |
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1364 of file gl_shader.cc.
References blender::gpu::Shader::constants.
| std::string GLShader::constants_declare | ( | const shader::SpecializationConstants & | constants_state | ) | const |
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1371 of file gl_shader.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), geometry_shader_from_glsl(), info, blender::gpu::Shader::name, and post_finalize().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 788 of file gl_shader.cc.
References GPUSamplerState::default_sampler(), ELEM, blender::gpu::GLContext::framebuffer_fetch_support, info, input, blender::Span< T >::is_empty(), blender::gpu::main_function_wrapper(), blender::gpu::GLContext::native_barycentric_support, output, blender::gpu::print_interface(), blender::gpu::print_resource(), blender::gpu::shader::to_component_count(), and blender::gpu::to_string().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1357 of file gl_shader.cc.
References blender::gpu::Shader::constants.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 942 of file gl_shader.cc.
References blender::gpu::find_interface_by_name(), info, and blender::gpu::print_interface().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 912 of file gl_shader.cc.
References info, and blender::gpu::to_string().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1350 of file gl_shader.cc.
References blender::gpu::Shader::constants.
Referenced by finalize().
| GLSourcesBaked GLShader::get_sources | ( | ) |
Definition at line 1673 of file gl_shader.cc.
References blender::gpu::GLSourcesBaked::comp, result, and blender::gpu::GLSources::to_string().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 91 of file gl_shader.cc.
References blender::gpu::Shader::constants, blender::gpu::Shader::name, and blender::gpu::debug::object_label().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 70 of file gl_shader.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::gpu::Shader::constants, info, blender::gpu::Shader::name, and blender::gpu::debug::object_label().
|
inline |
Definition at line 161 of file gl_shader.hh.
Referenced by blender::gpu::GLTexture::check_feedback_loop().
| bool GLShader::post_finalize | ( | const shader::ShaderCreateInfo * | info = nullptr | ) |
Definition at line 1394 of file gl_shader.cc.
References info, log, new(), and blender::gpu::Shader::print_log().
Referenced by finalize().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 599 of file gl_shader.cc.
References BLI_assert_unreachable, info, blender::gpu::print_resource(), print_resource_alias(), and blender::gpu::to_string().
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1432 of file gl_shader.cc.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1445 of file gl_shader.cc.
References BLI_assert, and data.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 1472 of file gl_shader.cc.
References BLI_assert, and data.
|
overridevirtual |
Implements blender::gpu::Shader.
Definition at line 721 of file gl_shader.cc.
References blender::gpu::GLContext::clip_control_support, blender::gpu::GLContext::explicit_location_support, GPU_DEVICE_ATI, GPU_DRIVER_OFFICIAL, GPU_OS_ANY, GPU_type_matches(), info, blender::gpu::main_function_wrapper(), blender::gpu::GLContext::native_barycentric_support, blender::gpu::print_interface(), and blender::gpu::to_string().
|
overridevirtual |
Return true on success.
Implements blender::gpu::Shader.
Definition at line 1343 of file gl_shader.cc.
References blender::gpu::Shader::constants.
|
inlineoverridevirtual |
Implements blender::gpu::Shader.
Definition at line 145 of file gl_shader.hh.
|
friend |
Definition at line 73 of file gl_shader.hh.
|
friend |
Definition at line 72 of file gl_shader.hh.