|
Blender V4.3
|
#include <algorithm>#include <iomanip>#include <iostream>#include <regex>#include <sstream>#include "BLI_ghash.h"#include "BLI_map.hh"#include "BLI_string.h"#include "BLI_string_ref.hh"#include "gpu_material_library.hh"#include "gpu_shader_create_info.hh"#include "gpu_shader_dependency_private.hh"#include "GPU_context.hh"#include "glsl_compositor_source_list.h"#include "glsl_draw_source_list.h"#include "glsl_gpu_source_list.h"Go to the source code of this file.
Classes | |
| struct | blender::gpu::GPUSource |
Namespaces | |
| namespace | blender |
| namespace | blender::gpu |
| namespace | blender::gpu::shader |
Macros | |
| #define | SHADER_SOURCE(datatoc, filename, filepath) |
| #define | find_keyword find_str<true, false> |
| #define | rfind_keyword find_str<true, true> |
| #define | find_token find_str<false, false> |
| #define | rfind_token find_str<false, true> |
| #define | CHECK(test_value, str, ofs, msg) |
| #define | SHADER_SOURCE(datatoc, filename, filepath) |
Typedefs | |
| using | blender::gpu::GPUPrintFormatMap = Map<uint32_t, shader::PrintfFormat> |
| using | blender::gpu::GPUSourceDictionnary = Map<StringRef, struct GPUSource *> |
| using | blender::gpu::GPUFunctionDictionnary = Map<StringRef, GPUFunction *> |
Functions | |
| void | gpu_shader_dependency_init () |
| void | gpu_shader_dependency_exit () |
| GPUFunction * | gpu_material_library_use_function (GSet *used_libraries, const char *name) |
| bool | blender::gpu::shader::gpu_shader_dependency_force_gpu_print_injection () |
| bool | blender::gpu::shader::gpu_shader_dependency_has_printf () |
| const PrintfFormat & | blender::gpu::shader::gpu_shader_dependency_get_printf_format (uint32_t format_hash) |
| BuiltinBits | blender::gpu::shader::gpu_shader_dependency_get_builtins (const StringRefNull shader_source_name) |
| Vector< const char * > | blender::gpu::shader::gpu_shader_dependency_get_resolved_source (const StringRefNull shader_source_name) |
| StringRefNull | blender::gpu::shader::gpu_shader_dependency_get_source (const StringRefNull shader_source_name) |
| StringRefNull | blender::gpu::shader::gpu_shader_dependency_get_filename_from_source_string (const StringRefNull source_string) |
| Find the name of the file from which the given string was generated. | |
Variables | |
| static GPUPrintFormatMap * | g_formats = nullptr |
| static GPUSourceDictionnary * | g_sources = nullptr |
| static GPUFunctionDictionnary * | g_functions = nullptr |
| static bool | force_printf_injection = false |
Shader source dependency builder that make possible to support #include directive inside the shader files.
Definition in file gpu_shader_dependency.cc.
Definition at line 206 of file gpu_shader_dependency.cc.
Referenced by blender::gpu::GPUSource::char_literals_preprocess(), blender::gpu::GPUSource::enum_preprocess(), libmv::euclidean_resection::EuclideanResection(), libmv::euclidean_resection::EuclideanResectionAnsarDaniilidis(), libmv::euclidean_resection::EuclideanResectionEPnP(), blender::gpu::GPUSource::printf_preprocess(), and blender::gpu::GPUSource::string_preprocess().
Definition at line 179 of file gpu_shader_dependency.cc.
Referenced by blender::gpu::GPUSource::enum_preprocess(), blender::gpu::GPUSource::material_functions_parse(), blender::gpu::GPUSource::printf_preprocess(), blender::gpu::GPUSource::small_types_check(), and blender::gpu::GPUSource::string_preprocess().
Definition at line 181 of file gpu_shader_dependency.cc.
Referenced by blender::gpu::GPUSource::char_literals_preprocess(), blender::gpu::GPUSource::enum_preprocess(), blender::gpu::GPUSource::material_functions_parse(), blender::gpu::GPUSource::printf_preprocess(), and blender::gpu::GPUSource::string_preprocess().
Definition at line 180 of file gpu_shader_dependency.cc.
Referenced by blender::gpu::GPUSource::material_functions_parse().
Definition at line 182 of file gpu_shader_dependency.cc.
Referenced by blender::gpu::GPUSource::enum_preprocess(), blender::gpu::GPUSource::printf_preprocess(), and blender::gpu::GPUSource::string_preprocess().
| #define SHADER_SOURCE | ( | datatoc, | |
| filename, | |||
| filepath ) |
Definition at line 30 of file gpu_shader_dependency.cc.
| #define SHADER_SOURCE | ( | datatoc, | |
| filename, | |||
| filepath ) |
Definition at line 30 of file gpu_shader_dependency.cc.
| GPUFunction * gpu_material_library_use_function | ( | GSet * | used_libraries, |
| const char * | name ) |
Definition at line 1159 of file gpu_shader_dependency.cc.
References BLI_assert_msg, BLI_gset_add(), blender::StringRefNull::c_str(), blender::gpu::GPUSource::filename, g_functions, and GPUFunction::source.
Referenced by GPU_link(), and gpu_stack_link_v().
| void gpu_shader_dependency_exit | ( | ) |
Definition at line 1143 of file gpu_shader_dependency.cc.
References g_formats, g_functions, and g_sources.
Referenced by GPU_exit().
| void gpu_shader_dependency_init | ( | ) |
Definition at line 1104 of file gpu_shader_dependency.cc.
References BLI_assert_msg, force_printf_injection, g_formats, g_functions, g_sources, UNUSED_VARS_NDEBUG, and blender::gpu::shader::USE_PRINTF.
Referenced by GPU_init().
|
static |
Definition at line 1102 of file gpu_shader_dependency.cc.
Referenced by blender::gpu::shader::gpu_shader_dependency_force_gpu_print_injection(), and gpu_shader_dependency_init().
|
static |
Definition at line 1099 of file gpu_shader_dependency.cc.
|
static |
Definition at line 1101 of file gpu_shader_dependency.cc.
Referenced by gpu_material_library_use_function(), gpu_shader_dependency_exit(), gpu_shader_dependency_init(), blender::gpu::GPUSource::GPUSource(), blender::gpu::GPUSource::init_dependencies(), and blender::gpu::GPUSource::material_functions_parse().
|
static |
Definition at line 1100 of file gpu_shader_dependency.cc.
Referenced by gpu_shader_dependency_exit(), blender::gpu::shader::gpu_shader_dependency_get_builtins(), blender::gpu::shader::gpu_shader_dependency_get_filename_from_source_string(), blender::gpu::shader::gpu_shader_dependency_get_resolved_source(), blender::gpu::shader::gpu_shader_dependency_get_source(), and gpu_shader_dependency_init().