|
Blender V4.5
|
#include <iomanip>#include "BKE_appdir.hh"#include "BKE_global.hh"#include "BLI_fileops.h"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "BLI_time.h"#include "BLI_vector.hh"#include "BLI_system.h"#include "GPU_capabilities.hh"#include "GPU_debug.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 UNUSED_FUNCTION | 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 StringRefNull | glsl_patch_vertex_get () |
| static StringRefNull | glsl_patch_geometry_get () |
| static StringRefNull | glsl_patch_fragment_get () |
| static StringRefNull | glsl_patch_compute_get () |
Variables | |
| char | datatoc_glsl_shader_defines_glsl [] |
|
static |
Definition at line 930 of file gl_shader.cc.
Referenced by blender::gpu::VKShader::geometry_layout_declare().
|
static |
Used for shader patching. Init once.
Definition at line 1189 of file gl_shader.cc.
References blender::gpu::GLContext::clip_control_support, and datatoc_glsl_shader_defines_glsl.
|
static |
Used for shader patching. Init once.
Definition at line 1151 of file gl_shader.cc.
References blender::gpu::GLContext::clip_control_support, datatoc_glsl_shader_defines_glsl, blender::gpu::GLContext::framebuffer_fetch_support, GPU_stencil_export_support(), blender::gpu::GLContext::layered_rendering_support, and blender::gpu::GLContext::native_barycentric_support.
|
static |
Used for shader patching. Init once.
Definition at line 1120 of file gl_shader.cc.
References blender::gpu::GLContext::clip_control_support, datatoc_glsl_shader_defines_glsl, blender::gpu::GLContext::layered_rendering_support, and blender::gpu::GLContext::native_barycentric_support.
|
static |
Used for shader patching. Init once.
Definition at line 1074 of file gl_shader.cc.
References blender::gpu::GLContext::clip_control_support, datatoc_glsl_shader_defines_glsl, blender::gpu::GLContext::layered_rendering_support, blender::gpu::GLContext::native_barycentric_support, and blender::gpu::GLContext::shader_draw_parameters_support.
|
static |
Definition at line 702 of file gl_shader.cc.
|
static |
Definition at line 352 of file gl_shader.cc.
References blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE.
|
static |
Definition at line 578 of file gl_shader.cc.
References inout, blender::gpu::shader::StageInterfaceInfo::inouts, blender::gpu::shader::StageInterfaceInfo::instance_name, blender::StringRefBase::is_empty(), blender::gpu::shader::StageInterfaceInfo::name, and blender::gpu::to_string().
Referenced by blender::gpu::VKShader::geometry_layout_declare().
|
static |
Definition at line 481 of file gl_shader.cc.
References blender::gpu::shader::no_restrict, blender::gpu::shader::read, and blender::gpu::shader::write.
|
static |
Definition at line 495 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 555 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().
|
static |
Definition at line 187 of file gl_shader.cc.
References BLI_assert_unreachable, blender::gpu::shader::bool_t, blender::gpu::shader::char2_t, blender::gpu::shader::char3_t, blender::gpu::shader::char4_t, blender::gpu::shader::char_t, blender::gpu::shader::float2_t, blender::gpu::shader::float3_10_10_10_2_t, blender::gpu::shader::float3_t, blender::gpu::shader::float3x3_t, blender::gpu::shader::float4_t, blender::gpu::shader::float4x4_t, blender::gpu::shader::float_t, blender::gpu::shader::int2_t, blender::gpu::shader::int3_t, blender::gpu::shader::int4_t, blender::gpu::shader::int_t, blender::gpu::shader::short2_t, blender::gpu::shader::short3_t, blender::gpu::shader::short4_t, blender::gpu::shader::short_t, to_component_type(), blender::gpu::shader::uchar2_t, blender::gpu::shader::uchar3_t, blender::gpu::shader::uchar4_t, blender::gpu::shader::uchar_t, blender::gpu::shader::uint2_t, blender::gpu::shader::uint3_t, blender::gpu::shader::uint4_t, blender::gpu::shader::uint_t, blender::gpu::shader::ushort2_t, blender::gpu::shader::ushort3_t, blender::gpu::shader::ushort4_t, and blender::gpu::shader::ushort_t.
Referenced by to_component_type().
|
static |
Definition at line 338 of file gl_shader.cc.
References blender::gpu::shader::ANY, blender::gpu::shader::GREATER, and blender::gpu::shader::LESS.
|
static |
Definition at line 234 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 108 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(), blender::ed::spreadsheet::estimate_max_column_width(), full_device_info_description(), RenderScheduler::full_report(), blender::gpu::VKShader::geometry_interface_declare(), MANTA::getFrame(), MANTA::getTimestep(), 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 306 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 324 of file gl_shader.cc.
References blender::gpu::shader::LINE_STRIP, blender::gpu::shader::POINTS, and blender::gpu::shader::TRIANGLE_STRIP.
Definition at line 122 of file gl_shader.cc.
References BLI_assert_unreachable, blender::gpu::shader::bool_t, blender::gpu::shader::char2_t, blender::gpu::shader::char3_t, blender::gpu::shader::char4_t, blender::gpu::shader::char_t, blender::gpu::shader::float2_t, blender::gpu::shader::float3_10_10_10_2_t, blender::gpu::shader::float3_t, blender::gpu::shader::float3x3_t, blender::gpu::shader::float4_t, blender::gpu::shader::float4x4_t, blender::gpu::shader::float_t, blender::gpu::shader::int2_t, blender::gpu::shader::int3_t, blender::gpu::shader::int4_t, blender::gpu::shader::int_t, blender::gpu::shader::short2_t, blender::gpu::shader::short3_t, blender::gpu::shader::short4_t, blender::gpu::shader::short_t, blender::gpu::shader::uchar2_t, blender::gpu::shader::uchar3_t, blender::gpu::shader::uchar4_t, blender::gpu::shader::uchar_t, blender::gpu::shader::uint2_t, blender::gpu::shader::uint3_t, blender::gpu::shader::uint4_t, blender::gpu::shader::uint_t, blender::gpu::shader::ushort2_t, blender::gpu::shader::ushort3_t, blender::gpu::shader::ushort4_t, and blender::gpu::shader::ushort_t.
| char datatoc_glsl_shader_defines_glsl[] |
Definition at line 47 of file gl_shader.cc.
Referenced by glsl_patch_compute_get(), glsl_patch_fragment_get(), glsl_patch_geometry_get(), glsl_patch_vertex_get(), and blender::gpu::VKDevice::init_glsl_patch().