136 .dependencies = {
NULL},
141 .dependencies = {
NULL},
146 .dependencies = {
NULL},
161 .dependencies = {
NULL},
166 .dependencies = {
NULL},
171 .dependencies = {
NULL},
181 .dependencies = {
NULL},
186 .dependencies = {
NULL},
191 .dependencies = {
NULL},
196 .dependencies = {
NULL},
201 .dependencies = {
NULL},
206 .dependencies = {
NULL},
211 .dependencies = {
NULL},
216 .dependencies = {
NULL},
221 .dependencies = {
NULL},
231 .dependencies = {
NULL},
236 .dependencies = {
NULL},
241 .dependencies = {
NULL},
246 .dependencies = {
NULL},
251 .dependencies = {
NULL},
256 .dependencies = {
NULL},
261 .dependencies = {
NULL},
271 .dependencies = {
NULL},
281 .dependencies = {
NULL},
286 .dependencies = {
NULL},
291 .dependencies = {
NULL},
301 .dependencies = {
NULL},
311 .dependencies = {
NULL},
316 .dependencies = {
NULL},
341 .dependencies = {
NULL},
346 .dependencies = {
NULL},
351 .dependencies = {
NULL},
356 .dependencies = {
NULL},
361 .dependencies = {
NULL},
366 .dependencies = {
NULL},
371 .dependencies = {
NULL},
376 .dependencies = {
NULL},
381 .dependencies = {
NULL},
386 .dependencies = {
NULL},
391 .dependencies = {
NULL},
396 .dependencies = {
NULL},
406 .dependencies = {
NULL},
411 .dependencies = {
NULL},
416 .dependencies = {
NULL},
421 .dependencies = {
NULL},
426 .dependencies = {
NULL},
443 .dependencies = {
NULL},
453 .dependencies = {
NULL},
458 .dependencies = {
NULL},
463 .dependencies = {
NULL},
478 .dependencies = {
NULL},
483 .dependencies = {
NULL},
515 .dependencies = {
NULL},
520 .dependencies = {
NULL},
525 .dependencies = {
NULL},
530 .dependencies = {
NULL},
550 .dependencies = {
NULL},
555 .dependencies = {
NULL},
560 .dependencies = {
NULL},
570 .dependencies = {
NULL},
575 .dependencies = {
NULL},
686 if (
ELEM(*
str,
' ',
'(',
')',
',',
';',
'\t',
'\n',
'\r')) {
690 if (token &&
len <
max - 1) {
705 if (
ELEM(*
str,
' ',
'(',
',',
';',
'\t',
'\n',
'\r')) {
750 while ((code = strstr(code,
"void "))) {
758 while (*code && *code !=
')') {
811 function->paramqual[
function->totparam] = qual;
812 function->paramtype[
function->totparam] =
type;
813 function->totparam++;
816 fprintf(stderr,
"GPU invalid function parameter in %s.\n", function->name);
821 if (function->name[0] ==
'\0' || function->totparam == 0) {
822 fprintf(stderr,
"GPU functions parse error.\n");
860 for (
int i = 0;
library->dependencies[i]; i++) {
A dynamically sized string ADT.
DynStr * BLI_dynstr_new(void) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
void BLI_dynstr_free(DynStr *ds) ATTR_NONNULL()
char * BLI_dynstr_get_cstring(DynStr *ds) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BLI_dynstr_append(DynStr *__restrict ds, const char *cstr) ATTR_NONNULL()
GHash * BLI_ghash_str_new(const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
bool BLI_gset_haskey(GSet *gs, const void *key) ATTR_WARN_UNUSED_RESULT
void BLI_ghash_insert(GHash *gh, void *key, void *val)
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
bool BLI_gset_add(GSet *gs, void *key)
void * BLI_ghash_lookup(GHash *gh, const void *key) ATTR_WARN_UNUSED_RESULT
bool BLI_str_startswith(const char *__restrict str, const char *__restrict start) ATTR_NONNULL()
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
static FT_Library library
char datatoc_gpu_shader_material_mapping_glsl[]
static GPUMaterialLibrary gpu_shader_material_geometry_library
static GPUMaterialLibrary gpu_shader_material_fractal_noise_library
static GPUMaterialLibrary gpu_shader_material_uv_map_library
static GPUMaterialLibrary gpu_shader_material_blackbody_library
static GPUMaterialLibrary gpu_shader_material_separate_xyz_library
char datatoc_gpu_shader_material_velvet_glsl[]
char datatoc_gpu_shader_material_hash_glsl[]
static GPUMaterialLibrary gpu_shader_material_tex_environment_library
static GPUMaterialLibrary gpu_shader_material_light_falloff_library
static GPUMaterialLibrary gpu_shader_material_map_range_library
static GPUMaterialLibrary gpu_shader_material_combine_hsv_library
static GPUMaterialLibrary gpu_shader_material_object_info_library
static GPUMaterialLibrary gpu_shader_material_refraction_library
static GPUMaterialLibrary gpu_shader_material_tex_sky_library
static GPUMaterialLibrary gpu_shader_material_tex_wave_library
char datatoc_gpu_shader_material_noise_glsl[]
static GPUMaterialLibrary gpu_shader_material_tex_white_noise_library
char datatoc_gpu_shader_material_volume_scatter_glsl[]
char datatoc_gpu_shader_material_refraction_glsl[]
static GPUMaterialLibrary gpu_shader_material_tex_voronoi_library
char datatoc_gpu_shader_material_anisotropic_glsl[]
char datatoc_gpu_shader_material_volume_info_glsl[]
static GPUMaterialLibrary gpu_shader_material_volume_absorption_library
char datatoc_gpu_shader_material_clamp_glsl[]
char datatoc_gpu_shader_material_tex_magic_glsl[]
static GPUMaterialLibrary gpu_shader_material_attribute_library
void gpu_material_library_exit(void)
char datatoc_gpu_shader_material_combine_rgb_glsl[]
static GPUMaterialLibrary gpu_shader_material_output_world_library
static GPUMaterialLibrary gpu_shader_material_texture_coordinates_library
static GPUMaterialLibrary gpu_shader_material_vector_math_library
static GPUMaterialLibrary gpu_shader_material_anisotropic_library
char datatoc_gpu_shader_material_displacement_glsl[]
static GPUMaterialLibrary gpu_shader_material_volume_info_library
char datatoc_gpu_shader_material_diffuse_glsl[]
static GPUMaterialLibrary gpu_shader_material_light_path_library
static void gpu_material_use_library_with_dependencies(GSet *used_libraries, GPUMaterialLibrary *library)
char datatoc_gpu_shader_material_bevel_glsl[]
static GPUMaterialLibrary gpu_shader_material_tex_musgrave_library
char datatoc_gpu_shader_material_math_glsl[]
static GPUMaterialLibrary gpu_shader_material_color_util_library
static GPUMaterialLibrary gpu_shader_material_separate_hsv_library
char datatoc_gpu_shader_material_vector_math_glsl[]
char datatoc_gpu_shader_material_object_info_glsl[]
char datatoc_gpu_shader_material_tex_gradient_glsl[]
char datatoc_gpu_shader_material_glossy_glsl[]
char datatoc_gpu_shader_material_holdout_glsl[]
char datatoc_gpu_shader_material_output_aov_glsl[]
static GPUMaterialLibrary gpu_shader_material_subsurface_scattering_library
char datatoc_gpu_shader_material_particle_info_glsl[]
char datatoc_gpu_shader_material_toon_glsl[]
char datatoc_gpu_shader_material_map_range_glsl[]
char datatoc_gpu_shader_material_attribute_glsl[]
char datatoc_gpu_shader_material_world_normals_glsl[]
char datatoc_gpu_shader_material_combine_hsv_glsl[]
char datatoc_gpu_shader_material_separate_xyz_glsl[]
char datatoc_gpu_shader_material_subsurface_scattering_glsl[]
char datatoc_gpu_shader_material_tex_brick_glsl[]
char datatoc_gpu_shader_material_gamma_glsl[]
static GPUMaterialLibrary gpu_shader_material_normal_library
static GPUMaterialLibrary gpu_shader_material_mix_shader_library
char datatoc_gpu_shader_material_principled_glsl[]
char datatoc_gpu_shader_material_combine_xyz_glsl[]
char datatoc_gpu_shader_material_vector_displacement_glsl[]
GPUFunction * gpu_material_library_use_function(GSet *used_libraries, const char *name)
static GPUMaterialLibrary gpu_shader_material_tex_brick_library
char datatoc_gpu_shader_material_translucent_glsl[]
static GPUMaterialLibrary gpu_shader_material_world_normals_library
char datatoc_gpu_shader_material_light_path_glsl[]
char datatoc_gpu_shader_material_set_glsl[]
char datatoc_gpu_shader_material_color_ramp_glsl[]
static GPUMaterialLibrary gpu_shader_material_transparent_library
static GPUMaterialLibrary gpu_shader_material_noise_library
static GPUMaterialLibrary gpu_shader_material_toon_library
char datatoc_gpu_shader_material_color_util_glsl[]
static GPUMaterialLibrary gpu_shader_material_mix_rgb_library
static GPUMaterialLibrary gpu_shader_material_set_library
static GPUMaterialLibrary gpu_shader_material_bump_library
char datatoc_gpu_shader_material_hue_sat_val_glsl[]
static GPUMaterialLibrary gpu_shader_material_math_library
static GPUMaterialLibrary gpu_shader_material_holdout_library
char datatoc_gpu_shader_material_bright_contrast_glsl[]
static GPUMaterialLibrary gpu_shader_material_hash_library
static GPUMaterialLibrary gpu_shader_material_color_ramp_library
char datatoc_gpu_shader_material_background_glsl[]
void gpu_material_library_init(void)
static GPUMaterialLibrary gpu_shader_material_layer_weight_library
char datatoc_gpu_shader_material_glass_glsl[]
static GPUMaterialLibrary gpu_shader_material_normal_map_library
static GPUMaterialLibrary gpu_shader_material_bevel_library
static GPUMaterialLibrary gpu_shader_material_hue_sat_val_library
char datatoc_gpu_shader_material_tex_checker_glsl[]
static GPUMaterialLibrary gpu_shader_material_vector_curves_library
static GPUMaterialLibrary gpu_shader_material_add_shader_library
char datatoc_gpu_shader_material_blackbody_glsl[]
char datatoc_gpu_shader_material_normal_glsl[]
static GPUMaterialLibrary gpu_shader_material_volume_principled_library
static GPUMaterialLibrary gpu_shader_material_combine_rgb_library
char datatoc_gpu_shader_material_uv_map_glsl[]
static GHash * FUNCTION_HASH
static GPUMaterialLibrary gpu_shader_material_tex_gradient_library
static void gpu_parse_material_library(GHash *hash, GPUMaterialLibrary *library)
char datatoc_gpu_shader_material_layer_weight_glsl[]
static GPUMaterialLibrary gpu_shader_material_gamma_library
static GPUMaterialLibrary gpu_shader_material_glossy_library
static GPUMaterialLibrary gpu_shader_material_squeeze_library
char datatoc_gpu_shader_material_hair_info_glsl[]
static GPUMaterialLibrary gpu_shader_material_wireframe_library
char datatoc_gpu_shader_material_tex_wave_glsl[]
static GPUMaterialLibrary gpu_shader_material_eevee_specular_library
char datatoc_gpu_shader_material_tex_musgrave_glsl[]
char datatoc_gpu_shader_material_shader_to_rgba_glsl[]
static GPUMaterialLibrary gpu_shader_material_shader_to_rgba_library
char datatoc_gpu_shader_material_volume_absorption_glsl[]
static GPUMaterialLibrary gpu_shader_material_bright_contrast_library
char datatoc_gpu_shader_material_tex_environment_glsl[]
static GPUMaterialLibrary gpu_shader_material_background_library
static GPUMaterialLibrary gpu_shader_material_math_util_library
static GPUMaterialLibrary gpu_shader_material_vector_rotate_library
static GPUMaterialLibrary gpu_shader_material_vector_displacement_library
char datatoc_gpu_shader_material_emission_glsl[]
char datatoc_gpu_shader_material_fractal_noise_glsl[]
static GPUMaterialLibrary gpu_shader_material_ambient_occlusion_library
static const char * GPU_DATATYPE_STR[17]
char datatoc_gpu_shader_material_squeeze_glsl[]
static GPUMaterialLibrary gpu_shader_material_velvet_library
static GPUMaterialLibrary * gpu_material_libraries[]
char datatoc_gpu_shader_material_separate_rgb_glsl[]
char datatoc_gpu_shader_material_camera_glsl[]
static GPUMaterialLibrary gpu_shader_material_tangent_library
char datatoc_gpu_shader_material_rgb_to_bw_glsl[]
char datatoc_gpu_shader_material_fresnel_glsl[]
char datatoc_gpu_shader_material_wireframe_glsl[]
static GPUMaterialLibrary gpu_shader_material_output_aov_library
char datatoc_gpu_shader_material_light_falloff_glsl[]
static GPUMaterialLibrary gpu_shader_material_translucent_library
char datatoc_gpu_shader_material_math_util_glsl[]
char datatoc_gpu_shader_material_texture_coordinates_glsl[]
char datatoc_gpu_shader_material_geometry_glsl[]
char datatoc_gpu_shader_material_mix_rgb_glsl[]
static GPUMaterialLibrary gpu_shader_material_emission_library
static GPUMaterialLibrary gpu_shader_material_tex_magic_library
char datatoc_gpu_shader_material_output_world_glsl[]
static GPUMaterialLibrary gpu_shader_material_particle_info_library
char datatoc_gpu_shader_material_eevee_specular_glsl[]
static GPUMaterialLibrary gpu_shader_material_rgb_curves_library
static GPUMaterialLibrary gpu_shader_material_diffuse_library
char datatoc_gpu_shader_material_bump_glsl[]
static GPUMaterialLibrary gpu_shader_material_camera_library
static GPUMaterialLibrary gpu_shader_material_tex_image_library
const char * gpu_data_type_to_string(const eGPUType type)
char datatoc_gpu_shader_material_add_shader_glsl[]
static GPUMaterialLibrary gpu_shader_material_tex_checker_library
char datatoc_gpu_shader_material_vertex_color_glsl[]
char * gpu_str_skip_token(char *str, char *token, int max)
char datatoc_gpu_shader_material_vector_rotate_glsl[]
static GPUMaterialLibrary gpu_shader_material_mapping_library
char datatoc_gpu_shader_material_tangent_glsl[]
static GPUMaterialLibrary gpu_shader_material_tex_noise_library
char datatoc_gpu_shader_material_normal_map_glsl[]
char datatoc_gpu_shader_material_volume_principled_glsl[]
char datatoc_gpu_shader_material_tex_sky_glsl[]
static GPUMaterialLibrary gpu_shader_material_combine_xyz_library
char datatoc_gpu_shader_material_output_material_glsl[]
char datatoc_gpu_shader_material_mix_shader_glsl[]
static GPUMaterialLibrary gpu_shader_material_displacement_library
char datatoc_gpu_shader_material_tex_white_noise_glsl[]
static GPUMaterialLibrary gpu_shader_material_glass_library
char datatoc_gpu_shader_material_invert_glsl[]
static GPUMaterialLibrary gpu_shader_material_output_material_library
static GPUMaterialLibrary gpu_shader_material_invert_library
char datatoc_gpu_shader_material_tex_image_glsl[]
char datatoc_gpu_shader_material_ambient_occlusion_glsl[]
static GPUMaterialLibrary gpu_shader_material_principled_library
char datatoc_gpu_shader_material_rgb_curves_glsl[]
static GPUMaterialLibrary gpu_shader_material_separate_rgb_library
static GPUMaterialLibrary gpu_shader_material_fresnel_library
char datatoc_gpu_shader_material_vector_curves_glsl[]
static GPUMaterialLibrary gpu_shader_material_hair_info_library
char datatoc_gpu_shader_material_transparent_glsl[]
char * gpu_material_library_generate_code(GSet *used_libraries, const char *frag_lib)
char datatoc_gpu_shader_material_tex_noise_glsl[]
static GPUMaterialLibrary gpu_shader_material_rgb_to_bw_library
static GPUMaterialLibrary gpu_shader_material_vertex_color_library
char datatoc_gpu_shader_material_tex_voronoi_glsl[]
static GPUMaterialLibrary gpu_shader_material_volume_scatter_library
static GPUMaterialLibrary gpu_shader_material_clamp_library
char datatoc_gpu_shader_material_separate_hsv_glsl[]
#define MAX_FUNCTION_NAME
void(* MEM_freeN)(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)