Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/CMakeLists.txt')
-rw-r--r--source/blender/draw/CMakeLists.txt558
1 files changed, 296 insertions, 262 deletions
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 7b55981ba6b..8dd7e3d7dbf 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -212,6 +212,7 @@ set(SRC
intern/draw_manager_profiling.h
intern/draw_manager_testing.h
intern/draw_manager_text.h
+ intern/draw_shader_shared.h
intern/draw_shader.h
intern/draw_subdivision.h
intern/draw_texture_pool.h
@@ -233,6 +234,7 @@ set(SRC
engines/image/image_space_node.hh
engines/workbench/workbench_engine.h
engines/workbench/workbench_private.h
+ engines/workbench/workbench_shader_shared.h
engines/select/select_engine.h
engines/select/select_private.h
engines/overlay/overlay_engine.h
@@ -245,268 +247,300 @@ set(LIB
bf_windowmanager
)
-data_to_c_simple(engines/eevee/shaders/ambient_occlusion_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/background_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/common_uniforms_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/common_utiltex_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lights_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_geom.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_cube_display_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_cube_display_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_grid_display_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_grid_display_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_grid_fill_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_planar_display_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_planar_display_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lookdev_world_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/closure_eval_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/closure_eval_diffuse_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/closure_eval_glossy_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/closure_eval_refraction_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/closure_eval_translucent_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/closure_type_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_bloom_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_bokeh_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_downsample_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_filter_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_flatten_tiles_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_gather_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_reduce_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_resolve_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_scatter_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_scatter_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_dof_setup_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_reflection_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_reflection_resolve_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_reflection_trace_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_downsample_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_downsample_cube_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_gtao_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_velocity_resolve_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_velocity_tile_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_minmaxz_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_mist_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_motion_blur_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_subsurface_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_translucency_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/effect_temporal_aa.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_geom.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/object_motion_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/object_motion_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/prepass_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/prepass_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_accum_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/shadow_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/bsdf_lut_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/btdf_lut_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/bsdf_common_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/irradiance_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/octahedron_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/cubemap_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/bsdf_sampling_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/random_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/raytrace_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/renderpass_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/renderpass_postprocess_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/cryptomatte_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/ltc_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/ssr_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/surface_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/surface_geom.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/surface_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/surface_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/update_noise_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_accum_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_lib.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_geom.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_vert.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_resolve_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_scatter_frag.glsl SRC)
-data_to_c_simple(engines/eevee/shaders/volumetric_integration_frag.glsl SRC)
-
-data_to_c_simple(engines/workbench/shaders/workbench_cavity_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_common_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_composite_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_curvature_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_data_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_effect_cavity_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_effect_dof_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_effect_outline_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_effect_smaa_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_effect_smaa_vert.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_effect_taa_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_image_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_matcap_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_material_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_merge_infront_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_prepass_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_prepass_hair_vert.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_prepass_vert.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_shader_interface_lib.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_shadow_caps_geom.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_shadow_debug_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_shadow_geom.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_shadow_vert.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_transparent_accum_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_transparent_resolve_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_volume_frag.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_volume_vert.glsl SRC)
-data_to_c_simple(engines/workbench/shaders/workbench_world_light_lib.glsl SRC)
-
-data_to_c_simple(intern/shaders/common_colormanagement_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_globals_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_pointcloud_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_hair_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_hair_refine_vert.glsl SRC)
-data_to_c_simple(intern/shaders/common_hair_refine_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_math_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_math_geom_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_view_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_fxaa_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_smaa_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_fullscreen_vert.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_custom_data_interp_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_ibo_lines_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_ibo_tris_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_lib.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_normals_accumulate_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_normals_finalize_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_patch_evaluation_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_vbo_edge_fac_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_vbo_edituv_strech_angle_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_vbo_edituv_strech_area_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_vbo_lnor_comp.glsl SRC)
-data_to_c_simple(intern/shaders/common_subdiv_vbo_sculpt_data_comp.glsl SRC)
-
-data_to_c_simple(engines/gpencil/shaders/gpencil_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_antialiasing_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_antialiasing_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_common_lib.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_layer_blend_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_mask_invert_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_frag.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_depth_merge_vert.glsl SRC)
-data_to_c_simple(engines/gpencil/shaders/gpencil_vfx_frag.glsl SRC)
-
-data_to_c_simple(engines/select/shaders/selection_id_3D_vert.glsl SRC)
-data_to_c_simple(engines/select/shaders/selection_id_frag.glsl SRC)
-
-data_to_c_simple(engines/basic/shaders/conservative_depth_geom.glsl SRC)
-data_to_c_simple(engines/basic/shaders/depth_vert.glsl SRC)
-data_to_c_simple(engines/basic/shaders/depth_frag.glsl SRC)
-
-data_to_c_simple(engines/overlay/shaders/common_overlay_lib.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/antialiasing_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/antialiasing_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_dof_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_dof_solid_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_envelope_outline_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_envelope_solid_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_envelope_solid_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_shape_outline_geom.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_shape_outline_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_shape_solid_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_shape_solid_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_shape_wire_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_sphere_outline_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_sphere_solid_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_sphere_solid_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_stick_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_stick_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_wire_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/armature_wire_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/background_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/clipbound_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/depth_only_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_curve_handle_geom.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_curve_handle_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_curve_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_curve_wire_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_gpencil_canvas_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_gpencil_guide_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_gpencil_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_lattice_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_lattice_wire_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_common_lib.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_facefill_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_facefill_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_geom.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_normal_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_analysis_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_analysis_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_skin_root_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_mesh_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_particle_strand_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_particle_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_edges_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_edges_geom.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_edges_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_verts_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_verts_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_faces_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_face_dots_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_image_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_image_mask_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_stretching_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/edit_uv_tiled_image_borders_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_groundline_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_lightprobe_grid_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_loose_point_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_loose_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_wire_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/extra_wire_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/facing_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/facing_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/grid_background_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/grid_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/grid_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/image_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/image_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/motion_path_line_geom.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/motion_path_line_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/motion_path_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/outline_detect_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/outline_prepass_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/outline_prepass_geom.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/outline_prepass_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_face_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_point_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_texture_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_texture_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_vertcol_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_vertcol_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_weight_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_weight_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/paint_wire_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/particle_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/particle_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/sculpt_mask_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/sculpt_mask_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/volume_velocity_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/volume_gridlines_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/wireframe_vert.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/wireframe_frag.glsl SRC)
-data_to_c_simple(engines/overlay/shaders/xray_fade_frag.glsl SRC)
-
-data_to_c_simple(engines/image/shaders/engine_image_frag.glsl SRC)
-data_to_c_simple(engines/image/shaders/engine_image_vert.glsl SRC)
+set(GLSL_SRC
+ engines/eevee/shaders/ambient_occlusion_lib.glsl
+ engines/eevee/shaders/background_vert.glsl
+ engines/eevee/shaders/common_uniforms_lib.glsl
+ engines/eevee/shaders/common_utiltex_lib.glsl
+ engines/eevee/shaders/lights_lib.glsl
+ engines/eevee/shaders/lightprobe_lib.glsl
+ engines/eevee/shaders/lightprobe_filter_glossy_frag.glsl
+ engines/eevee/shaders/lightprobe_filter_diffuse_frag.glsl
+ engines/eevee/shaders/lightprobe_filter_visibility_frag.glsl
+ engines/eevee/shaders/lightprobe_geom.glsl
+ engines/eevee/shaders/lightprobe_vert.glsl
+ engines/eevee/shaders/lightprobe_cube_display_frag.glsl
+ engines/eevee/shaders/lightprobe_cube_display_vert.glsl
+ engines/eevee/shaders/lightprobe_grid_display_frag.glsl
+ engines/eevee/shaders/lightprobe_grid_display_vert.glsl
+ engines/eevee/shaders/lightprobe_grid_fill_frag.glsl
+ engines/eevee/shaders/lightprobe_planar_display_frag.glsl
+ engines/eevee/shaders/lightprobe_planar_display_vert.glsl
+ engines/eevee/shaders/lookdev_world_frag.glsl
+ engines/eevee/shaders/closure_eval_lib.glsl
+ engines/eevee/shaders/closure_eval_diffuse_lib.glsl
+ engines/eevee/shaders/closure_eval_glossy_lib.glsl
+ engines/eevee/shaders/closure_eval_refraction_lib.glsl
+ engines/eevee/shaders/closure_eval_translucent_lib.glsl
+ engines/eevee/shaders/closure_type_lib.glsl
+ engines/eevee/shaders/effect_bloom_frag.glsl
+ engines/eevee/shaders/effect_dof_bokeh_frag.glsl
+ engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl
+ engines/eevee/shaders/effect_dof_downsample_frag.glsl
+ engines/eevee/shaders/effect_dof_filter_frag.glsl
+ engines/eevee/shaders/effect_dof_flatten_tiles_frag.glsl
+ engines/eevee/shaders/effect_dof_gather_frag.glsl
+ engines/eevee/shaders/effect_dof_lib.glsl
+ engines/eevee/shaders/effect_dof_reduce_frag.glsl
+ engines/eevee/shaders/effect_dof_resolve_frag.glsl
+ engines/eevee/shaders/effect_dof_scatter_frag.glsl
+ engines/eevee/shaders/effect_dof_scatter_vert.glsl
+ engines/eevee/shaders/effect_dof_setup_frag.glsl
+ engines/eevee/shaders/effect_reflection_lib.glsl
+ engines/eevee/shaders/effect_reflection_resolve_frag.glsl
+ engines/eevee/shaders/effect_reflection_trace_frag.glsl
+ engines/eevee/shaders/effect_downsample_frag.glsl
+ engines/eevee/shaders/effect_downsample_cube_frag.glsl
+ engines/eevee/shaders/effect_gtao_frag.glsl
+ engines/eevee/shaders/effect_velocity_resolve_frag.glsl
+ engines/eevee/shaders/effect_velocity_tile_frag.glsl
+ engines/eevee/shaders/effect_minmaxz_frag.glsl
+ engines/eevee/shaders/effect_mist_frag.glsl
+ engines/eevee/shaders/effect_motion_blur_frag.glsl
+ engines/eevee/shaders/effect_subsurface_frag.glsl
+ engines/eevee/shaders/effect_translucency_frag.glsl
+ engines/eevee/shaders/effect_temporal_aa.glsl
+ engines/eevee/shaders/lightprobe_planar_downsample_frag.glsl
+ engines/eevee/shaders/lightprobe_planar_downsample_geom.glsl
+ engines/eevee/shaders/lightprobe_planar_downsample_vert.glsl
+ engines/eevee/shaders/object_motion_frag.glsl
+ engines/eevee/shaders/object_motion_vert.glsl
+ engines/eevee/shaders/prepass_frag.glsl
+ engines/eevee/shaders/prepass_vert.glsl
+ engines/eevee/shaders/shadow_accum_frag.glsl
+ engines/eevee/shaders/shadow_frag.glsl
+ engines/eevee/shaders/shadow_vert.glsl
+ engines/eevee/shaders/bsdf_lut_frag.glsl
+ engines/eevee/shaders/btdf_lut_frag.glsl
+ engines/eevee/shaders/bsdf_common_lib.glsl
+ engines/eevee/shaders/irradiance_lib.glsl
+ engines/eevee/shaders/octahedron_lib.glsl
+ engines/eevee/shaders/cubemap_lib.glsl
+ engines/eevee/shaders/bsdf_sampling_lib.glsl
+ engines/eevee/shaders/random_lib.glsl
+ engines/eevee/shaders/raytrace_lib.glsl
+ engines/eevee/shaders/renderpass_lib.glsl
+ engines/eevee/shaders/renderpass_postprocess_frag.glsl
+ engines/eevee/shaders/cryptomatte_frag.glsl
+ engines/eevee/shaders/ltc_lib.glsl
+ engines/eevee/shaders/ssr_lib.glsl
+ engines/eevee/shaders/surface_frag.glsl
+ engines/eevee/shaders/surface_geom.glsl
+ engines/eevee/shaders/surface_lib.glsl
+ engines/eevee/shaders/surface_vert.glsl
+ engines/eevee/shaders/update_noise_frag.glsl
+ engines/eevee/shaders/volumetric_accum_frag.glsl
+ engines/eevee/shaders/volumetric_lib.glsl
+ engines/eevee/shaders/volumetric_frag.glsl
+ engines/eevee/shaders/volumetric_geom.glsl
+ engines/eevee/shaders/volumetric_vert.glsl
+ engines/eevee/shaders/volumetric_resolve_frag.glsl
+ engines/eevee/shaders/volumetric_scatter_frag.glsl
+ engines/eevee/shaders/volumetric_integration_frag.glsl
+
+ engines/workbench/shaders/workbench_cavity_lib.glsl
+ engines/workbench/shaders/workbench_common_lib.glsl
+ engines/workbench/shaders/workbench_composite_frag.glsl
+ engines/workbench/shaders/workbench_curvature_lib.glsl
+ engines/workbench/shaders/workbench_data_lib.glsl
+ engines/workbench/shaders/workbench_effect_cavity_frag.glsl
+ engines/workbench/shaders/workbench_effect_dof_frag.glsl
+ engines/workbench/shaders/workbench_effect_outline_frag.glsl
+ engines/workbench/shaders/workbench_effect_smaa_frag.glsl
+ engines/workbench/shaders/workbench_effect_smaa_vert.glsl
+ engines/workbench/shaders/workbench_effect_taa_frag.glsl
+ engines/workbench/shaders/workbench_image_lib.glsl
+ engines/workbench/shaders/workbench_matcap_lib.glsl
+ engines/workbench/shaders/workbench_material_lib.glsl
+ engines/workbench/shaders/workbench_merge_infront_frag.glsl
+ engines/workbench/shaders/workbench_prepass_frag.glsl
+ engines/workbench/shaders/workbench_prepass_hair_vert.glsl
+ engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl
+ engines/workbench/shaders/workbench_prepass_vert.glsl
+ engines/workbench/shaders/workbench_shader_interface_lib.glsl
+ engines/workbench/shaders/workbench_shadow_caps_geom.glsl
+ engines/workbench/shaders/workbench_shadow_debug_frag.glsl
+ engines/workbench/shaders/workbench_shadow_geom.glsl
+ engines/workbench/shaders/workbench_shadow_vert.glsl
+ engines/workbench/shaders/workbench_transparent_accum_frag.glsl
+ engines/workbench/shaders/workbench_transparent_resolve_frag.glsl
+ engines/workbench/shaders/workbench_volume_frag.glsl
+ engines/workbench/shaders/workbench_volume_vert.glsl
+ engines/workbench/shaders/workbench_world_light_lib.glsl
+
+ engines/workbench/workbench_shader_shared.h
+
+ intern/shaders/common_colormanagement_lib.glsl
+ intern/shaders/common_globals_lib.glsl
+ intern/shaders/common_pointcloud_lib.glsl
+ intern/shaders/common_hair_lib.glsl
+ intern/shaders/common_hair_refine_vert.glsl
+ intern/shaders/common_hair_refine_comp.glsl
+ intern/shaders/common_math_lib.glsl
+ intern/shaders/common_math_geom_lib.glsl
+ intern/shaders/common_view_lib.glsl
+ intern/shaders/common_fxaa_lib.glsl
+ intern/shaders/common_smaa_lib.glsl
+ intern/shaders/common_fullscreen_vert.glsl
+
+ intern/shaders/common_subdiv_custom_data_interp_comp.glsl
+ intern/shaders/common_subdiv_ibo_lines_comp.glsl
+ intern/shaders/common_subdiv_ibo_tris_comp.glsl
+ intern/shaders/common_subdiv_lib.glsl
+ intern/shaders/common_subdiv_normals_accumulate_comp.glsl
+ intern/shaders/common_subdiv_normals_finalize_comp.glsl
+ intern/shaders/common_subdiv_patch_evaluation_comp.glsl
+ intern/shaders/common_subdiv_vbo_edge_fac_comp.glsl
+ intern/shaders/common_subdiv_vbo_edituv_strech_angle_comp.glsl
+ intern/shaders/common_subdiv_vbo_edituv_strech_area_comp.glsl
+ intern/shaders/common_subdiv_vbo_lnor_comp.glsl
+ intern/shaders/common_subdiv_vbo_sculpt_data_comp.glsl
+
+ intern/draw_shader_shared.h
+
+ engines/gpencil/shaders/gpencil_frag.glsl
+ engines/gpencil/shaders/gpencil_vert.glsl
+ engines/gpencil/shaders/gpencil_antialiasing_frag.glsl
+ engines/gpencil/shaders/gpencil_antialiasing_vert.glsl
+ engines/gpencil/shaders/gpencil_common_lib.glsl
+ engines/gpencil/shaders/gpencil_layer_blend_frag.glsl
+ engines/gpencil/shaders/gpencil_mask_invert_frag.glsl
+ engines/gpencil/shaders/gpencil_depth_merge_frag.glsl
+ engines/gpencil/shaders/gpencil_depth_merge_vert.glsl
+ engines/gpencil/shaders/gpencil_vfx_frag.glsl
+
+ engines/select/shaders/selection_id_3D_vert.glsl
+ engines/select/shaders/selection_id_frag.glsl
+
+ engines/basic/shaders/conservative_depth_geom.glsl
+ engines/basic/shaders/depth_vert.glsl
+ engines/basic/shaders/depth_frag.glsl
+
+ engines/overlay/shaders/common_overlay_lib.glsl
+ engines/overlay/shaders/antialiasing_frag.glsl
+ engines/overlay/shaders/antialiasing_vert.glsl
+ engines/overlay/shaders/armature_dof_vert.glsl
+ engines/overlay/shaders/armature_dof_solid_frag.glsl
+ engines/overlay/shaders/armature_envelope_outline_vert.glsl
+ engines/overlay/shaders/armature_envelope_solid_frag.glsl
+ engines/overlay/shaders/armature_envelope_solid_vert.glsl
+ engines/overlay/shaders/armature_shape_outline_geom.glsl
+ engines/overlay/shaders/armature_shape_outline_vert.glsl
+ engines/overlay/shaders/armature_shape_solid_frag.glsl
+ engines/overlay/shaders/armature_shape_solid_vert.glsl
+ engines/overlay/shaders/armature_shape_wire_vert.glsl
+ engines/overlay/shaders/armature_sphere_outline_vert.glsl
+ engines/overlay/shaders/armature_sphere_solid_frag.glsl
+ engines/overlay/shaders/armature_sphere_solid_vert.glsl
+ engines/overlay/shaders/armature_stick_frag.glsl
+ engines/overlay/shaders/armature_stick_vert.glsl
+ engines/overlay/shaders/armature_wire_frag.glsl
+ engines/overlay/shaders/armature_wire_vert.glsl
+ engines/overlay/shaders/background_frag.glsl
+ engines/overlay/shaders/clipbound_vert.glsl
+ engines/overlay/shaders/depth_only_vert.glsl
+ engines/overlay/shaders/edit_curve_handle_geom.glsl
+ engines/overlay/shaders/edit_curve_handle_vert.glsl
+ engines/overlay/shaders/edit_curve_point_vert.glsl
+ engines/overlay/shaders/edit_curve_wire_vert.glsl
+ engines/overlay/shaders/edit_gpencil_canvas_vert.glsl
+ engines/overlay/shaders/edit_gpencil_guide_vert.glsl
+ engines/overlay/shaders/edit_gpencil_vert.glsl
+ engines/overlay/shaders/edit_lattice_point_vert.glsl
+ engines/overlay/shaders/edit_lattice_wire_vert.glsl
+ engines/overlay/shaders/edit_mesh_common_lib.glsl
+ engines/overlay/shaders/edit_mesh_facefill_frag.glsl
+ engines/overlay/shaders/edit_mesh_facefill_vert.glsl
+ engines/overlay/shaders/edit_mesh_frag.glsl
+ engines/overlay/shaders/edit_mesh_geom.glsl
+ engines/overlay/shaders/edit_mesh_normal_vert.glsl
+ engines/overlay/shaders/edit_mesh_analysis_frag.glsl
+ engines/overlay/shaders/edit_mesh_analysis_vert.glsl
+ engines/overlay/shaders/edit_mesh_skin_root_vert.glsl
+ engines/overlay/shaders/edit_mesh_vert.glsl
+ engines/overlay/shaders/edit_particle_strand_vert.glsl
+ engines/overlay/shaders/edit_particle_point_vert.glsl
+ engines/overlay/shaders/edit_uv_edges_vert.glsl
+ engines/overlay/shaders/edit_uv_edges_geom.glsl
+ engines/overlay/shaders/edit_uv_edges_frag.glsl
+ engines/overlay/shaders/edit_uv_verts_vert.glsl
+ engines/overlay/shaders/edit_uv_verts_frag.glsl
+ engines/overlay/shaders/edit_uv_faces_vert.glsl
+ engines/overlay/shaders/edit_uv_face_dots_vert.glsl
+ engines/overlay/shaders/edit_uv_image_vert.glsl
+ engines/overlay/shaders/edit_uv_image_mask_frag.glsl
+ engines/overlay/shaders/edit_uv_stretching_vert.glsl
+ engines/overlay/shaders/edit_uv_tiled_image_borders_vert.glsl
+ engines/overlay/shaders/extra_frag.glsl
+ engines/overlay/shaders/extra_vert.glsl
+ engines/overlay/shaders/extra_groundline_vert.glsl
+ engines/overlay/shaders/extra_lightprobe_grid_vert.glsl
+ engines/overlay/shaders/extra_loose_point_frag.glsl
+ engines/overlay/shaders/extra_loose_point_vert.glsl
+ engines/overlay/shaders/extra_point_vert.glsl
+ engines/overlay/shaders/extra_wire_frag.glsl
+ engines/overlay/shaders/extra_wire_vert.glsl
+ engines/overlay/shaders/facing_frag.glsl
+ engines/overlay/shaders/facing_vert.glsl
+ engines/overlay/shaders/grid_background_frag.glsl
+ engines/overlay/shaders/grid_frag.glsl
+ engines/overlay/shaders/grid_vert.glsl
+ engines/overlay/shaders/image_vert.glsl
+ engines/overlay/shaders/image_frag.glsl
+ engines/overlay/shaders/motion_path_line_geom.glsl
+ engines/overlay/shaders/motion_path_line_vert.glsl
+ engines/overlay/shaders/motion_path_point_vert.glsl
+ engines/overlay/shaders/outline_detect_frag.glsl
+ engines/overlay/shaders/outline_prepass_frag.glsl
+ engines/overlay/shaders/outline_prepass_geom.glsl
+ engines/overlay/shaders/outline_prepass_vert.glsl
+ engines/overlay/shaders/paint_face_vert.glsl
+ engines/overlay/shaders/paint_point_vert.glsl
+ engines/overlay/shaders/paint_texture_frag.glsl
+ engines/overlay/shaders/paint_texture_vert.glsl
+ engines/overlay/shaders/paint_vertcol_frag.glsl
+ engines/overlay/shaders/paint_vertcol_vert.glsl
+ engines/overlay/shaders/paint_weight_frag.glsl
+ engines/overlay/shaders/paint_weight_vert.glsl
+ engines/overlay/shaders/paint_wire_vert.glsl
+ engines/overlay/shaders/particle_vert.glsl
+ engines/overlay/shaders/particle_frag.glsl
+ engines/overlay/shaders/sculpt_mask_vert.glsl
+ engines/overlay/shaders/sculpt_mask_frag.glsl
+ engines/overlay/shaders/volume_velocity_vert.glsl
+ engines/overlay/shaders/volume_gridlines_vert.glsl
+ engines/overlay/shaders/wireframe_vert.glsl
+ engines/overlay/shaders/wireframe_frag.glsl
+ engines/overlay/shaders/xray_fade_frag.glsl
+
+ engines/image/shaders/engine_image_frag.glsl
+ engines/image/shaders/engine_image_vert.glsl
+)
+
+set(GLSL_C)
+foreach(GLSL_FILE ${GLSL_SRC})
+ data_to_c_simple(${GLSL_FILE} GLSL_C)
+endforeach()
+
+blender_add_lib(bf_draw_shaders "${GLSL_C}" "" "" "")
+
+list(APPEND LIB
+ bf_draw_shaders
+)
+
+set(GLSL_SOURCE_CONTENT "")
+foreach(GLSL_FILE ${GLSL_SRC})
+ get_filename_component(GLSL_FILE_NAME ${GLSL_FILE} NAME)
+ string(REPLACE "." "_" GLSL_FILE_NAME_UNDERSCORES ${GLSL_FILE_NAME})
+ string(APPEND GLSL_SOURCE_CONTENT "SHADER_SOURCE\(datatoc_${GLSL_FILE_NAME_UNDERSCORES}, \"${GLSL_FILE_NAME}\"\)\n")
+endforeach()
+
+set(glsl_source_list_file "${CMAKE_CURRENT_BINARY_DIR}/glsl_draw_source_list.h")
+file(GENERATE OUTPUT ${glsl_source_list_file} CONTENT "${GLSL_SOURCE_CONTENT}")
+list(APPEND SRC ${glsl_source_list_file})
+list(APPEND INC ${CMAKE_CURRENT_BINARY_DIR})
+
+target_include_directories(bf_draw_shaders PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
list(APPEND INC
)