|
Blender V4.3
|
#include <iomanip>#include "BKE_appdir.hh"#include "BKE_global.hh"#include "BLI_string.h"#include "BLI_time.h"#include "BLI_vector.hh"#include "BLI_system.h"#include "GPU_capabilities.hh"#include "GPU_platform.hh"#include "gpu_capabilities_private.hh"#include "gpu_shader_dependency_private.hh"#include "gl_debug.hh"#include "gl_vertex_buffer.hh"#include "gl_compilation_subprocess.hh"#include "gl_shader.hh"#include "gl_shader_interface.hh"#include <sstream>#include <stdio.h>Go to the source code of this file.
Functions | |
Create Info | |
| static const char * | to_string (const Interpolation &interp) |
| static const char * | to_string (const Type &type) |
| static Type | to_component_type (const Type &type) |
| static const char * | to_string (const eGPUTextureFormat &type) |
| static const char * | to_string (const PrimitiveIn &layout) |
| static const char * | to_string (const PrimitiveOut &layout) |
| static const char * | to_string (const DepthWrite &value) |
| static void | print_image_type (std::ostream &os, const ImageType &type, const ShaderCreateInfo::Resource::BindType bind_type) |
| static std::ostream & | print_qualifier (std::ostream &os, const Qualifier &qualifiers) |
| static void | print_resource (std::ostream &os, const ShaderCreateInfo::Resource &res, bool auto_resource_location) |
| static void | print_resource_alias (std::ostream &os, const ShaderCreateInfo::Resource &res) |
| static void | print_interface (std::ostream &os, const StringRefNull &prefix, const StageInterfaceInfo &iface, const StringRefNull &suffix="") |
| static std::string | main_function_wrapper (std::string &pre_main, std::string &post_main) |
| static StageInterfaceInfo * | find_interface_by_name (const Span< StageInterfaceInfo * > ifaces, const StringRefNull &name) |
Shader stage creation | |
| static const char * | glsl_patch_default_get () |
| static const char * | glsl_patch_compute_get () |
Variables | |
| char | datatoc_glsl_shader_defines_glsl [] |
|
static |
Definition at line 868 of file gl_shader.cc.
|
static |
Used for shader patching. Init once.
Definition at line 1073 of file gl_shader.cc.
References datatoc_glsl_shader_defines_glsl.
|
static |
Used for shader patching. Init once.
Definition at line 1010 of file gl_shader.cc.
References datatoc_glsl_shader_defines_glsl, blender::gpu::GLContext::derivative_signs, blender::gpu::GLContext::framebuffer_fetch_support, GPU_stencil_export_support(), blender::gpu::GLContext::layered_rendering_support, blender::gpu::GLContext::native_barycentric_support, and blender::gpu::GLContext::shader_draw_parameters_support.
|
static |
Definition at line 651 of file gl_shader.cc.
|
static |
Definition at line 326 of file gl_shader.cc.
References blender::gpu::shader::DEPTH_2D, blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE, blender::gpu::shader::DEPTH_CUBE_ARRAY, blender::gpu::shader::FLOAT_1D, blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::FLOAT_CUBE, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE, blender::gpu::shader::INT_1D, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_2D_ATOMIC, blender::gpu::shader::INT_3D, blender::gpu::shader::INT_3D_ATOMIC, blender::gpu::shader::INT_BUFFER, blender::gpu::shader::INT_CUBE, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::SHADOW_2D, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE, blender::gpu::shader::SHADOW_CUBE_ARRAY, blender::gpu::shader::UINT_1D, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_2D_ATOMIC, blender::gpu::shader::UINT_3D, blender::gpu::shader::UINT_3D_ATOMIC, blender::gpu::shader::UINT_BUFFER, blender::gpu::shader::UINT_CUBE, and blender::gpu::shader::UINT_CUBE_ARRAY.
|
static |
Definition at line 552 of file gl_shader.cc.
References blender::gpu::shader::StageInterfaceInfo::inouts, blender::gpu::shader::StageInterfaceInfo::instance_name, StageInterfaceInfo::InOut::interp, blender::StringRefBase::is_empty(), blender::gpu::shader::StageInterfaceInfo::name, StageInterfaceInfo::InOut::name, blender::gpu::to_string(), and StageInterfaceInfo::InOut::type.
|
static |
Definition at line 455 of file gl_shader.cc.
References blender::gpu::shader::NO_RESTRICT, blender::gpu::shader::READ, and blender::gpu::shader::WRITE.
|
static |
Definition at line 469 of file gl_shader.cc.
References ShaderCreateInfo::Resource::bind_type, blender::gpu::GLContext::explicit_location_support, ShaderCreateInfo::Image::format, blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE, ShaderCreateInfo::Resource::image, ShaderCreateInfo::Image::name, ShaderCreateInfo::Sampler::name, blender::gpu::print_image_type(), blender::gpu::print_qualifier(), ShaderCreateInfo::Image::qualifiers, blender::gpu::shader::ShaderCreateInfo::Resource::SAMPLER, ShaderCreateInfo::Resource::sampler, ShaderCreateInfo::Resource::slot, blender::gpu::shader::ShaderCreateInfo::Resource::STORAGE_BUFFER, ShaderCreateInfo::Resource::storagebuf, blender::gpu::to_string(), ShaderCreateInfo::Image::type, ShaderCreateInfo::Sampler::type, blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER, and ShaderCreateInfo::Resource::uniformbuf.
|
static |
Definition at line 529 of file gl_shader.cc.
References ShaderCreateInfo::Resource::bind_type, blender::gpu::shader::ShaderCreateInfo::Resource::STORAGE_BUFFER, ShaderCreateInfo::Resource::storagebuf, blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER, and ShaderCreateInfo::Resource::uniformbuf.
Referenced by blender::gpu::GLShader::resources_declare().
Definition at line 161 of file gl_shader.cc.
References BLI_assert_unreachable, blender::gpu::shader::BOOL, blender::gpu::shader::CHAR, blender::gpu::shader::CHAR2, blender::gpu::shader::CHAR3, blender::gpu::shader::CHAR4, blender::gpu::shader::FLOAT, blender::gpu::shader::INT, blender::gpu::shader::IVEC2, blender::gpu::shader::IVEC3, blender::gpu::shader::IVEC4, blender::gpu::shader::MAT3, blender::gpu::shader::MAT4, blender::gpu::shader::SHORT, blender::gpu::shader::SHORT2, blender::gpu::shader::SHORT3, blender::gpu::shader::SHORT4, blender::gpu::shader::UCHAR, blender::gpu::shader::UCHAR2, blender::gpu::shader::UCHAR3, blender::gpu::shader::UCHAR4, blender::gpu::shader::UINT, blender::gpu::shader::USHORT, blender::gpu::shader::USHORT2, blender::gpu::shader::USHORT3, blender::gpu::shader::USHORT4, blender::gpu::shader::UVEC2, blender::gpu::shader::UVEC3, blender::gpu::shader::UVEC4, blender::gpu::shader::VEC2, blender::gpu::shader::VEC3, blender::gpu::shader::VEC3_101010I2, and blender::gpu::shader::VEC4.
|
static |
Definition at line 312 of file gl_shader.cc.
References blender::gpu::shader::ANY, blender::gpu::shader::GREATER, and blender::gpu::shader::LESS.
|
static |
Definition at line 208 of file gl_shader.cc.
References GPU_R11F_G11F_B10F, GPU_R16, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGBA16, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8I, and GPU_RGBA8UI.
|
static |
Definition at line 82 of file gl_shader.cc.
References blender::gpu::shader::FLAT, interp(), blender::gpu::shader::NO_PERSPECTIVE, and blender::gpu::shader::SMOOTH.
Referenced by blender::ed::space_node::create_inspection_string_for_geometry_info(), draw_horizontal_scale_indicators(), draw_vertical_scale_indicators(), full_device_info_description(), RenderScheduler::full_report(), MANTA::getFrame(), MANTA::getTimestep(), blender::deg::ComponentNode::OperationIDKey::identifier(), merge_channels_metadata(), TileManager::open_tile_output(), blender::gpu::debug::VKDebuggingTools::print_labels(), BlenderSession::stamp_view_layer_metadata(), TileManager::TileManager(), and MANTA::updatePointers().
|
static |
Definition at line 280 of file gl_shader.cc.
References blender::gpu::shader::LINES, blender::gpu::shader::LINES_ADJACENCY, blender::gpu::shader::POINTS, blender::gpu::shader::TRIANGLES, and blender::gpu::shader::TRIANGLES_ADJACENCY.
|
static |
Definition at line 298 of file gl_shader.cc.
References blender::gpu::shader::LINE_STRIP, blender::gpu::shader::POINTS, and blender::gpu::shader::TRIANGLE_STRIP.
|
static |
Definition at line 96 of file gl_shader.cc.
References BLI_assert_unreachable, blender::gpu::shader::BOOL, blender::gpu::shader::CHAR, blender::gpu::shader::CHAR2, blender::gpu::shader::CHAR3, blender::gpu::shader::CHAR4, blender::gpu::shader::FLOAT, blender::gpu::shader::INT, blender::gpu::shader::IVEC2, blender::gpu::shader::IVEC3, blender::gpu::shader::IVEC4, blender::gpu::shader::MAT3, blender::gpu::shader::MAT4, blender::gpu::shader::SHORT, blender::gpu::shader::SHORT2, blender::gpu::shader::SHORT3, blender::gpu::shader::SHORT4, blender::gpu::shader::UCHAR, blender::gpu::shader::UCHAR2, blender::gpu::shader::UCHAR3, blender::gpu::shader::UCHAR4, blender::gpu::shader::UINT, blender::gpu::shader::USHORT, blender::gpu::shader::USHORT2, blender::gpu::shader::USHORT3, blender::gpu::shader::USHORT4, blender::gpu::shader::UVEC2, blender::gpu::shader::UVEC3, blender::gpu::shader::UVEC4, blender::gpu::shader::VEC2, blender::gpu::shader::VEC3, blender::gpu::shader::VEC3_101010I2, and blender::gpu::shader::VEC4.
| char datatoc_glsl_shader_defines_glsl[] |
Definition at line 44 of file gl_shader.cc.
Referenced by glsl_patch_compute_get(), glsl_patch_default_get(), and blender::gpu::VKDevice::init_glsl_patch().