Blender
V3.3
|
#include <algorithm>
#include <iomanip>
#include <iostream>
#include <sstream>
#include "BLI_ghash.h"
#include "BLI_map.hh"
#include "BLI_string_ref.hh"
#include "gpu_material_library.h"
#include "gpu_shader_create_info.hh"
#include "gpu_shader_dependency_private.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 | |
blender | |
blender::gpu | |
blender::gpu::shader | |
Macros | |
#define | SHADER_SOURCE(datatoc, filename, filepath) extern char datatoc[]; |
#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) g_sources->add_new(filename, new GPUSource(filepath, filename, datatoc, g_functions)); |
Typedefs | |
using | blender::gpu::GPUSourceDictionnary = Map< StringRef, struct GPUSource * > |
using | blender::gpu::GPUFunctionDictionnary = Map< StringRef, struct GPUFunction * > |
Functions | |
void | gpu_shader_dependency_init () |
void | gpu_shader_dependency_exit () |
GPUFunction * | gpu_material_library_use_function (GSet *used_libraries, const char *name) |
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) |
Variables | |
static GPUSourceDictionnary * | g_sources = nullptr |
static GPUFunctionDictionnary * | g_functions = nullptr |
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 174 of file gpu_shader_dependency.cc.
#define find_keyword find_str<true, false> |
Definition at line 147 of file gpu_shader_dependency.cc.
#define find_token find_str<false, false> |
Definition at line 149 of file gpu_shader_dependency.cc.
#define rfind_keyword find_str<true, true> |
Definition at line 148 of file gpu_shader_dependency.cc.
#define rfind_token find_str<false, true> |
Definition at line 150 of file gpu_shader_dependency.cc.
#define SHADER_SOURCE | ( | datatoc, | |
filename, | |||
filepath | |||
) | extern char datatoc[]; |
Definition at line 25 of file gpu_shader_dependency.cc.
#define SHADER_SOURCE | ( | datatoc, | |
filename, | |||
filepath | |||
) | g_sources->add_new(filename, new GPUSource(filepath, filename, datatoc, g_functions)); |
Definition at line 25 of file gpu_shader_dependency.cc.
GPUFunction* gpu_material_library_use_function | ( | GSet * | used_libraries, |
const char * | name | ||
) |
Definition at line 642 of file gpu_shader_dependency.cc.
References BLI_assert_msg, BLI_gset_add(), blender::StringRefNull::c_str(), blender::gpu::GPUSource::filename, g_functions, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_default().
Referenced by GPU_link(), and gpu_stack_link_v().
Definition at line 630 of file gpu_shader_dependency.cc.
References g_functions, g_sources, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by GPU_exit().
Definition at line 608 of file gpu_shader_dependency.cc.
References BLI_assert_msg, g_functions, g_sources, UNUSED_VARS_NDEBUG, and blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::values().
Referenced by GPU_init().
|
static |
Definition at line 606 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 605 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().