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:
authorJeroen Bakker <jeroen@blender.org>2022-01-17 16:34:28 +0300
committerJeroen Bakker <jeroen@blender.org>2022-01-17 16:34:28 +0300
commitedee5a947b7ea3e1324aa334a22c7c9bbf47f5f7 (patch)
treeb8f15e66277700ccdc5d6c8b7c7eb3728f91182f /source/blender/draw
parent8fb2ff458ba579dba08bfdf57d043ad158b5db07 (diff)
Revert "GPUShaderCreateInfo for interface abstraction"
This reverts commit 8fb2ff458ba579dba08bfdf57d043ad158b5db07. Missing some files.
Diffstat (limited to 'source/blender/draw')
-rw-r--r--source/blender/draw/CMakeLists.txt558
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl13
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl5
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_frag.glsl4
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_info.hh28
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_image_lib.glsl2
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl4
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl6
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_prepass_info.hh136
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl4
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl6
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl8
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl2
-rw-r--r--source/blender/draw/engines/workbench/workbench_shader_shared.h48
-rw-r--r--source/blender/draw/intern/draw_manager.c24
-rw-r--r--source/blender/draw/intern/draw_shader_shared.h41
-rw-r--r--source/blender/draw/intern/shaders/common_fullscreen_vert.glsl2
-rw-r--r--source/blender/draw/intern/shaders/common_pointcloud_lib.glsl4
-rw-r--r--source/blender/draw/intern/shaders/common_view_lib.glsl18
-rw-r--r--source/blender/draw/intern/shaders/draw_fullscreen_info.hh8
-rw-r--r--source/blender/draw/intern/shaders/draw_object_infos_info.hh5
-rw-r--r--source/blender/draw/intern/shaders/draw_view_info.hh40
22 files changed, 291 insertions, 675 deletions
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 8dd7e3d7dbf..7b55981ba6b 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -212,7 +212,6 @@ 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
@@ -234,7 +233,6 @@ 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
@@ -247,300 +245,268 @@ set(LIB
bf_windowmanager
)
-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})
+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)
list(APPEND INC
)
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
index 9b142fe56b5..8cbc8608f5b 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_common_lib.glsl
@@ -3,6 +3,10 @@
#define CAVITY_BUFFER_RANGE 4.0
+#ifdef WORKBENCH_ENCODE_NORMALS
+
+# define WB_Normal vec2
+
/* From http://aras-p.info/texts/CompactNormalStorage.html
* Using Method #4: Spheremap Transform */
vec3 workbench_normal_decode(vec4 enc)
@@ -18,7 +22,7 @@ vec3 workbench_normal_decode(vec4 enc)
/* From http://aras-p.info/texts/CompactNormalStorage.html
* Using Method #4: Spheremap Transform */
-vec2 workbench_normal_encode(bool front_face, vec3 n)
+WB_Normal workbench_normal_encode(bool front_face, vec3 n)
{
n = normalize(front_face ? n : -n);
float p = sqrt(n.z * 8.0 + 8.0);
@@ -26,6 +30,13 @@ vec2 workbench_normal_encode(bool front_face, vec3 n)
return n.xy;
}
+#else
+# define WB_Normal vec3
+/* Well just do nothing... */
+# define workbench_normal_encode(f, a) (a)
+# define workbench_normal_decode(a) (a.xyz)
+#endif /* WORKBENCH_ENCODE_NORMALS */
+
/* Encoding into the alpha of a RGBA16F texture. (10bit mantissa) */
#define TARGET_BITCOUNT 8u
#define METALLIC_BITS 3u /* Metallic channel is less important. */
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
index c784c8b2db9..2e229d4d83a 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
@@ -1,5 +1,3 @@
-
-#ifndef WORKBENCH_SHADER_SHARED_H
struct LightData {
vec4 direction;
vec4 specular_color;
@@ -39,10 +37,9 @@ struct WorldData {
int _pad2;
};
-# define viewport_size_inv viewport_size.zw
+#define viewport_size_inv viewport_size.zw
layout(std140) uniform world_block
{
WorldData world_data;
};
-#endif
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_frag.glsl
index 0b571040df5..328d50e69e0 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_frag.glsl
@@ -4,8 +4,6 @@
#pragma BLENDER_REQUIRE(workbench_cavity_lib.glsl)
#pragma BLENDER_REQUIRE(workbench_curvature_lib.glsl)
-#ifndef DRW_SHADER_SHARED_H
-
uniform sampler2D depthBuffer;
uniform sampler2D normalBuffer;
uniform usampler2D objectIdBuffer;
@@ -14,8 +12,6 @@ in vec4 uvcoordsvar;
out vec4 fragColor;
-#endif
-
void main()
{
float cavity = 0.0, edges = 0.0, curvature = 0.0;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_info.hh b/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_info.hh
deleted file mode 100644
index 31e5f5e7641..00000000000
--- a/source/blender/draw/engines/workbench/shaders/workbench_effect_cavity_info.hh
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#include "gpu_shader_create_info.hh"
-
-GPU_SHADER_CREATE_INFO(workbench_effect_cavity_common)
- .fragment_out(0, Type::VEC4, "fragColor")
- .sampler(0, ImageType::FLOAT_2D, "depthBuffer")
- .sampler(1, ImageType::FLOAT_2D, "normalBuffer")
- .sampler(2, ImageType::UINT_2D, "objectIdBuffer")
- .uniform_buf(3, "vec4", "samples_coords[512]")
- .fragment_source("workbench_effect_cavity_frag.glsl")
- .additional_info("draw_fullscreen")
- .additional_info("draw_view");
-
-GPU_SHADER_CREATE_INFO(workbench_effect_cavity)
- .do_static_compilation(true)
- .define("USE_CAVITY")
- .additional_info("workbench_effect_cavity_common");
-
-GPU_SHADER_CREATE_INFO(workbench_effect_curvature)
- .do_static_compilation(true)
- .define("USE_CURVATURE")
- .additional_info("workbench_effect_cavity_common");
-
-GPU_SHADER_CREATE_INFO(workbench_effect_cavity_curvature)
- .do_static_compilation(true)
- .define("USE_CAVITY")
- .define("USE_CURVATURE")
- .additional_info("workbench_effect_cavity_common");
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_image_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_image_lib.glsl
index 49e3f57ab2e..57d648d3565 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_image_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_image_lib.glsl
@@ -25,14 +25,12 @@ bool node_tex_tile_lookup(inout vec3 co, sampler2DArray ima, sampler1DArray map)
return true;
}
-#ifndef WORKBENCH_SHADER_SHARED_H
uniform sampler2DArray imageTileArray;
uniform sampler1DArray imageTileData;
uniform sampler2D imageTexture;
uniform float imageTransparencyCutoff = 0.1;
uniform bool imagePremult;
-#endif
vec3 workbench_image_color(vec2 uvs)
{
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
index 7a3ebc4035e..6d24b001d4d 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
@@ -4,11 +4,9 @@
#pragma BLENDER_REQUIRE(workbench_common_lib.glsl)
#pragma BLENDER_REQUIRE(workbench_image_lib.glsl)
-#ifndef WORKBENCH_SHADER_SHARED_H
layout(location = 0) out vec4 materialData;
-layout(location = 1) out vec2 normalData;
+layout(location = 1) out WB_Normal normalData;
layout(location = 2) out uint objectId;
-#endif
uniform bool useMatcap = false;
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl
index c3faa3957ef..3e1ea14f47c 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_hair_vert.glsl
@@ -5,10 +5,8 @@
#pragma BLENDER_REQUIRE(workbench_material_lib.glsl)
#pragma BLENDER_REQUIRE(workbench_image_lib.glsl)
-#ifndef WORKBENCH_SHADER_SHARED_H
uniform samplerBuffer ac; /* active color layer */
uniform samplerBuffer au; /* active texture layer */
-#endif
/* From http://libnoise.sourceforge.net/noisegen/index.html */
float integer_noise(int n)
@@ -73,10 +71,8 @@ void main()
normal_interp = normalize(normal_world_to_view(nor));
-#ifndef WORKBENCH_SHADER_SHARED_H
-# ifdef OPAQUE_MATERIAL
+#ifdef OPAQUE_MATERIAL
float metallic, roughness;
-# endif
#endif
workbench_material_data_get(resource_handle, color_interp, alpha_interp, roughness, metallic);
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_info.hh b/source/blender/draw/engines/workbench/shaders/workbench_prepass_info.hh
deleted file mode 100644
index 1dd706c9460..00000000000
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_info.hh
+++ /dev/null
@@ -1,136 +0,0 @@
-
-#include "gpu_shader_create_info.hh"
-
-/* -------------------------------------------------------------------- */
-/** \name Object Type
- * \{ */
-
-GPU_SHADER_CREATE_INFO(workbench_mesh)
- .vertex_in(0, Type::VEC3, "pos")
- .vertex_in(1, Type::VEC3, "nor")
- .vertex_in(2, Type::VEC4, "ac")
- .vertex_in(3, Type::VEC2, "au")
- .vertex_source("workbench_prepass_vert.glsl")
- .additional_info("draw_mesh");
-
-GPU_SHADER_CREATE_INFO(workbench_hair)
- .sampler(0, ImageType::FLOAT_BUFFER, "ac", Frequency::BATCH)
- .sampler(1, ImageType::FLOAT_BUFFER, "au", Frequency::BATCH)
- .vertex_source("workbench_prepass_hair_vert.glsl")
- .additional_info("draw_hair");
-
-GPU_SHADER_CREATE_INFO(workbench_pointcloud)
- .vertex_source("workbench_prepass_pointcloud_vert.glsl")
- .additional_info("draw_pointcloud");
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Texture Type
- * \{ */
-
-GPU_SHADER_CREATE_INFO(workbench_texture_none).define("TEXTURE_NONE");
-
-GPU_SHADER_CREATE_INFO(workbench_texture_single)
- .sampler(2, ImageType::FLOAT_2D, "imageTexture", Frequency::BATCH)
- .push_constant(1, Type::BOOL, "imagePremult")
- .push_constant(2, Type::FLOAT, "imageTransparencyCutoff")
- .define("V3D_SHADING_TEXTURE_COLOR");
-
-GPU_SHADER_CREATE_INFO(workbench_texture_tile)
- .sampler(2, ImageType::FLOAT_2D_ARRAY, "imageTileArray", Frequency::BATCH)
- .sampler(3, ImageType::FLOAT_1D_ARRAY, "imageTileData", Frequency::BATCH)
- .push_constant(1, Type::BOOL, "imagePremult")
- .push_constant(2, Type::FLOAT, "imageTransparencyCutoff")
- .define("TEXTURE_IMAGE_ARRAY");
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Lighting Type
- * \{ */
-
-GPU_SHADER_CREATE_INFO(workbench_lighting_studio).define("V3D_LIGHTING_STUDIO");
-GPU_SHADER_CREATE_INFO(workbench_lighting_matcap).define("V3D_LIGHTING_MATCAP");
-GPU_SHADER_CREATE_INFO(workbench_lighting_flat).define("V3D_LIGHTING_FLAT");
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Material Interface
- * \{ */
-
-GPU_SHADER_INTERFACE_INFO(workbench_material_iface, "")
- .smooth(Type::VEC3, "normal_interp")
- .smooth(Type::VEC3, "color_interp")
- .smooth(Type::FLOAT, "alpha_interp")
- .smooth(Type::VEC2, "uv_interp")
- .flat(Type::INT, "object_id")
- .flat(Type::FLOAT, "roughness")
- .flat(Type::FLOAT, "metallic");
-
-GPU_SHADER_CREATE_INFO(workbench_material).vertex_out(workbench_material_iface);
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Pipeline Type
- * \{ */
-
-GPU_SHADER_CREATE_INFO(workbench_transparent_accum)
- /* Note: Blending will be skipped on objectId because output is a
- non-normalized integer buffer. */
- .fragment_out(0, Type::VEC4, "transparentAccum")
- .fragment_out(1, Type::VEC4, "revealageAccum")
- .fragment_out(2, Type::UINT, "objectId")
- .uniform_buf(4, "WorldData", "world_data", Frequency::PASS)
- .typedef_source("workbench_shader_shared.h")
- .fragment_source("workbench_transparent_accum_frag.glsl")
- .additional_info("workbench_material");
-
-GPU_SHADER_CREATE_INFO(workbench_opaque)
- .fragment_out(0, Type::VEC4, "materialData")
- .fragment_out(1, Type::VEC2, "normalData")
- .fragment_out(2, Type::UINT, "objectId")
- .uniform_buf(4, "WorldData", "world_data", Frequency::PASS)
- .typedef_source("workbench_shader_shared.h")
- .fragment_source("workbench_prepass_frag.glsl")
- .additional_info("workbench_material");
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Variations Declaration
- * \{ */
-
-#define WORKBENCH_SURFACETYPE_VARIATIONS(prefix, ...) \
- GPU_SHADER_CREATE_INFO(prefix##_mesh) \
- .additional_info("workbench_mesh", __VA_ARGS__) \
- .do_static_compilation(true); \
- GPU_SHADER_CREATE_INFO(prefix##_hair) \
- .additional_info("workbench_hair", __VA_ARGS__) \
- .do_static_compilation(true); \
- GPU_SHADER_CREATE_INFO(prefix##_ptcloud) \
- .additional_info("workbench_pointcloud", __VA_ARGS__) \
- .do_static_compilation(true);
-
-#define WORKBENCH_PIPELINE_VARIATIONS(prefix, ...) \
- WORKBENCH_SURFACETYPE_VARIATIONS(prefix##_transp_studio, \
- "workbench_transparent_accum", \
- "workbench_lighting_studio", \
- __VA_ARGS__) \
- WORKBENCH_SURFACETYPE_VARIATIONS(prefix##_transp_matcap, \
- "workbench_transparent_accum", \
- "workbench_lighting_matcap", \
- __VA_ARGS__) \
- WORKBENCH_SURFACETYPE_VARIATIONS(prefix##_transp_flat, \
- "workbench_transparent_accum", \
- "workbench_lighting_flat", \
- __VA_ARGS__) \
- WORKBENCH_SURFACETYPE_VARIATIONS(prefix##_opaque, "workbench_opaque", __VA_ARGS__)
-
-WORKBENCH_PIPELINE_VARIATIONS(workbench_tex_none, "workbench_texture_none")
-WORKBENCH_PIPELINE_VARIATIONS(workbench_tex_single, "workbench_texture_single")
-WORKBENCH_PIPELINE_VARIATIONS(workbench_tex_tile, "workbench_texture_tile")
-
-/** \} */
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl
index 8efe10b8236..6f61874b8f5 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_pointcloud_vert.glsl
@@ -21,10 +21,8 @@ void main()
uv_interp = vec2(0.0);
-#ifndef WORKBENCH_SHADER_SHARED_H
-# ifdef OPAQUE_MATERIAL
+#ifdef OPAQUE_MATERIAL
float metallic, roughness;
-# endif
#endif
workbench_material_data_get(resource_handle, color_interp, alpha_interp, roughness, metallic);
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
index 1f6a8a63944..1192081caf1 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_vert.glsl
@@ -5,12 +5,10 @@
#pragma BLENDER_REQUIRE(workbench_material_lib.glsl)
#pragma BLENDER_REQUIRE(workbench_image_lib.glsl)
-#ifndef WORKBENCH_SHADER_SHARED_H
in vec3 pos;
in vec3 nor;
in vec4 ac; /* active color */
in vec2 au; /* active texture layer */
-#endif
void main()
{
@@ -25,10 +23,8 @@ void main()
normal_interp = normalize(normal_object_to_view(nor));
-#ifndef WORKBENCH_SHADER_SHARED_H
-# ifdef OPAQUE_MATERIAL
+#ifdef OPAQUE_MATERIAL
float metallic, roughness;
-# endif
#endif
workbench_material_data_get(resource_handle, color_interp, alpha_interp, roughness, metallic);
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl b/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
index 178e61c8a8d..6bfa351aeb0 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_shader_interface_lib.glsl
@@ -1,17 +1,15 @@
-#ifndef WORKBENCH_SHADER_SHARED_H
IN_OUT ShaderStageInterface
{
vec3 normal_interp;
vec3 color_interp;
float alpha_interp;
vec2 uv_interp;
-# ifdef TRANSPARENT_MATERIAL
+#ifdef TRANSPARENT_MATERIAL
flat float roughness;
flat float metallic;
-# else
+#else
flat float packed_rough_metal;
-# endif
+#endif
flat int object_id;
};
-#endif
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl
index 0062cbe17a2..3f113fd4b2e 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_transparent_accum_frag.glsl
@@ -6,7 +6,6 @@
#pragma BLENDER_REQUIRE(workbench_matcap_lib.glsl)
#pragma BLENDER_REQUIRE(workbench_world_light_lib.glsl)
-#ifndef WORKBENCH_SHADER_SHARED_H
/* Revealage is actually stored in transparentAccum alpha channel.
* This is a workaround to older hardware not having separate blend equation per render target. */
layout(location = 0) out vec4 transparentAccum;
@@ -14,7 +13,6 @@ layout(location = 1) out vec4 revealageAccum;
/* NOTE: Blending will be skipped on objectId because output is a non-normalized integer buffer. */
layout(location = 2) out uint objectId;
-#endif
/* Special function only to be used with calculate_transparent_weight(). */
float linear_zdepth(float depth, vec4 viewvecs[2], mat4 proj_mat)
diff --git a/source/blender/draw/engines/workbench/workbench_shader_shared.h b/source/blender/draw/engines/workbench/workbench_shader_shared.h
deleted file mode 100644
index 42d38e54d9a..00000000000
--- a/source/blender/draw/engines/workbench/workbench_shader_shared.h
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#ifndef GPU_SHADER
-# include "gpu_shader_shared_utils.h"
-#endif
-
-#define WORKBENCH_SHADER_SHARED_H
-
-struct LightData {
- float4 direction;
- float4 specular_color;
- float4 diffuse_color_wrap; /* rgb: diffuse col a: wrapped lighting factor */
-};
-
-struct WorldData {
- float4 viewport_size;
- float4 object_outline_color;
- float4 shadow_direction_vs;
- float shadow_focus;
- float shadow_shift;
- float shadow_mul;
- float shadow_add;
- /* - 16 bytes alignment - */
- LightData lights[4];
- float4 ambient_color;
-
- int cavity_sample_start;
- int cavity_sample_end;
- float cavity_sample_count_inv;
- float cavity_jitter_scale;
-
- float cavity_valley_factor;
- float cavity_ridge_factor;
- float cavity_attenuation;
- float cavity_distance;
-
- float curvature_ridge;
- float curvature_valley;
- float ui_scale;
- float _pad0;
-
- int matcap_orientation;
- bool use_specular;
- int _pad1;
- int _pad2;
-};
-
-#define viewport_size_inv viewport_size.zw
-#define packed_rough_metal roughness
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 276a8cc3a13..7365ebf59c2 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -70,7 +70,6 @@
#include "GPU_framebuffer.h"
#include "GPU_immediate.h"
#include "GPU_matrix.h"
-#include "GPU_shader_shared.h"
#include "GPU_state.h"
#include "GPU_uniform_buffer.h"
#include "GPU_viewport.h"
@@ -2757,15 +2756,11 @@ void DRW_draw_depth_object(
GPU_framebuffer_clear_depth(depth_fb, 1.0f);
GPU_depth_test(GPU_DEPTH_LESS_EQUAL);
- struct GPUClipPlanes planes;
- const bool use_clipping_planes = RV3D_CLIPPING_ENABLED(v3d, rv3d);
- if (use_clipping_planes) {
+ const float(*world_clip_planes)[4] = NULL;
+ if (RV3D_CLIPPING_ENABLED(v3d, rv3d)) {
GPU_clip_distances(6);
ED_view3d_clipping_local(rv3d, object->obmat);
- for (int i = 0; i < 6; i++) {
- copy_v4_v4(planes.world[i], rv3d->clip_local[i]);
- }
- copy_m4_m4(planes.ModelMatrix, object->obmat);
+ world_clip_planes = rv3d->clip_local;
}
drw_batch_cache_validate(object);
@@ -2787,19 +2782,14 @@ void DRW_draw_depth_object(
BLI_task_graph_work_and_wait(task_graph);
BLI_task_graph_free(task_graph);
- const eGPUShaderConfig sh_cfg = use_clipping_planes ? GPU_SHADER_CFG_CLIPPED :
- GPU_SHADER_CFG_DEFAULT;
+ const eGPUShaderConfig sh_cfg = world_clip_planes ? GPU_SHADER_CFG_CLIPPED :
+ GPU_SHADER_CFG_DEFAULT;
GPU_batch_program_set_builtin_with_config(batch, GPU_SHADER_3D_DEPTH_ONLY, sh_cfg);
-
- GPUUniformBuf *ubo = NULL;
- if (use_clipping_planes) {
- ubo = GPU_uniformbuf_create_ex(sizeof(struct GPUClipPlanes), &planes, __func__);
- GPU_batch_uniformbuf_bind(batch, "clipPlanes", ubo);
+ if (world_clip_planes != NULL) {
+ GPU_batch_uniform_4fv_array(batch, "WorldClipPlanes", 6, world_clip_planes);
}
GPU_batch_draw(batch);
- GPU_uniformbuf_free(ubo);
-
} break;
case OB_CURVE:
case OB_SURF:
diff --git a/source/blender/draw/intern/draw_shader_shared.h b/source/blender/draw/intern/draw_shader_shared.h
deleted file mode 100644
index aa117f44e84..00000000000
--- a/source/blender/draw/intern/draw_shader_shared.h
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#ifndef GPU_SHADER
-# include "gpu_shader_shared_utils.h"
-#endif
-
-#define DRW_SHADER_SHARED_H
-
-#define DRW_RESOURCE_CHUNK_LEN 512
-
-struct ViewInfos {
- /* View matrices */
- float4x4 persmat;
- float4x4 persinv;
- float4x4 viewmat;
- float4x4 viewinv;
- float4x4 winmat;
- float4x4 wininv;
-
- float4 clipplanes[6];
- float4 viewvecs[2];
- /* Should not be here. Not view dependent (only main view). */
- float4 viewcamtexcofac;
-};
-BLI_STATIC_ASSERT_ALIGN(ViewInfos, 16)
-
-/* TODO(fclem) Mass rename. */
-#define ViewProjectionMatrix drw_view.persmat
-#define ViewProjectionMatrixInverse drw_view.persinv
-#define ViewMatrix drw_view.viewmat
-#define ViewMatrixInverse drw_view.viewinv
-#define ProjectionMatrix drw_view.winmat
-#define ProjectionMatrixInverse drw_view.wininv
-#define clipPlanes drw_view.clipplanes
-#define ViewVecs drw_view.viewvecs
-#define CameraTexCoFactors drw_view.viewcamtexcofac
-
-struct ObjectMatrices {
- float4x4 drw_modelMatrix;
- float4x4 drw_modelMatrixInverse;
-};
-BLI_STATIC_ASSERT_ALIGN(ViewInfos, 16)
diff --git a/source/blender/draw/intern/shaders/common_fullscreen_vert.glsl b/source/blender/draw/intern/shaders/common_fullscreen_vert.glsl
index 53ec38fea0b..8a7fb97d98c 100644
--- a/source/blender/draw/intern/shaders/common_fullscreen_vert.glsl
+++ b/source/blender/draw/intern/shaders/common_fullscreen_vert.glsl
@@ -1,7 +1,5 @@
-#ifndef USE_GPU_SHADER_CREATE_INFO
out vec4 uvcoordsvar;
-#endif
void main()
{
diff --git a/source/blender/draw/intern/shaders/common_pointcloud_lib.glsl b/source/blender/draw/intern/shaders/common_pointcloud_lib.glsl
index 2da16d3f6a9..74b989441a2 100644
--- a/source/blender/draw/intern/shaders/common_pointcloud_lib.glsl
+++ b/source/blender/draw/intern/shaders/common_pointcloud_lib.glsl
@@ -2,8 +2,6 @@
/* NOTE: To be used with UNIFORM_RESOURCE_ID and INSTANCED_ATTR as define. */
#pragma BLENDER_REQUIRE(common_view_lib.glsl)
-#ifndef DRW_SHADER_SHARED_H
-
in vec4 pos; /* Position and radius. */
/* ---- Instanced attribs ---- */
@@ -11,8 +9,6 @@ in vec4 pos; /* Position and radius. */
in vec3 pos_inst;
in vec3 nor;
-#endif
-
mat3 pointcloud_get_facing_matrix(vec3 p)
{
mat3 facing_mat;
diff --git a/source/blender/draw/intern/shaders/common_view_lib.glsl b/source/blender/draw/intern/shaders/common_view_lib.glsl
index b0d405165f2..e9912ba7d9a 100644
--- a/source/blender/draw/intern/shaders/common_view_lib.glsl
+++ b/source/blender/draw/intern/shaders/common_view_lib.glsl
@@ -1,7 +1,5 @@
-/* Temporary until we fully make the switch. */
-#ifndef DRW_SHADER_SHARED_H
-
-# define DRW_RESOURCE_CHUNK_LEN 512
+#define COMMON_VIEW_LIB
+#define DRW_RESOURCE_CHUNK_LEN 512
/* keep in sync with DRWManager.view_data */
layout(std140) uniform viewBlock
@@ -24,8 +22,6 @@ layout(std140) uniform viewBlock
vec4 CameraTexCoFactors;
};
-#endif /* DRW_SHADER_SHARED_H */
-
#define ViewNear (ViewVecs[0].w)
#define ViewFar (ViewVecs[1].w)
@@ -145,10 +141,6 @@ flat in int resourceIDFrag;
/* clang-format off */
#if !defined(GPU_INTEL) && !defined(GPU_DEPRECATED_AMD_DRIVER) && !defined(OS_MAC) && !defined(INSTANCED_ATTR)
/* clang-format on */
-
-/* Temporary until we fully make the switch. */
-# ifndef DRW_SHADER_SHARED_H
-
struct ObjectMatrices {
mat4 drw_modelMatrix;
mat4 drw_modelMatrixInverse;
@@ -158,23 +150,17 @@ layout(std140) uniform modelBlock
{
ObjectMatrices drw_matrices[DRW_RESOURCE_CHUNK_LEN];
};
-# endif /* DRW_SHADER_SHARED_H */
# define ModelMatrix (drw_matrices[resource_id].drw_modelMatrix)
# define ModelMatrixInverse (drw_matrices[resource_id].drw_modelMatrixInverse)
#else /* GPU_INTEL */
-
-/* Temporary until we fully make the switch. */
-# ifndef DRW_SHADER_SHARED_H
/* Intel GPU seems to suffer performance impact when the model matrix is in UBO storage.
* So for now we just force using the legacy path. */
/* Note that this is also a workaround of a problem on osx (amd or nvidia)
* and older amd driver on windows. */
uniform mat4 ModelMatrix;
uniform mat4 ModelMatrixInverse;
-# endif /* DRW_SHADER_SHARED_H */
-
#endif
#define resource_handle (resourceChunk * DRW_RESOURCE_CHUNK_LEN + resource_id)
diff --git a/source/blender/draw/intern/shaders/draw_fullscreen_info.hh b/source/blender/draw/intern/shaders/draw_fullscreen_info.hh
deleted file mode 100644
index 803ad69ffb7..00000000000
--- a/source/blender/draw/intern/shaders/draw_fullscreen_info.hh
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#include "gpu_shader_create_info.hh"
-
-GPU_SHADER_INTERFACE_INFO(fullscreen_iface, "").smooth(Type::VEC4, "uvcoordsvar");
-
-GPU_SHADER_CREATE_INFO(draw_fullscreen)
- .vertex_out(fullscreen_iface)
- .vertex_source("common_fullscreen_vert.glsl");
diff --git a/source/blender/draw/intern/shaders/draw_object_infos_info.hh b/source/blender/draw/intern/shaders/draw_object_infos_info.hh
deleted file mode 100644
index 10b3754eebb..00000000000
--- a/source/blender/draw/intern/shaders/draw_object_infos_info.hh
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#include "gpu_shader_create_info.hh"
-
-GPU_SHADER_CREATE_INFO(draw_object_infos)
- .uniform_buf(1, "ObjectInfos", "drw_infos[DRW_RESOURCE_CHUNK_LEN]", Frequency::BATCH);
diff --git a/source/blender/draw/intern/shaders/draw_view_info.hh b/source/blender/draw/intern/shaders/draw_view_info.hh
deleted file mode 100644
index a92284efa5b..00000000000
--- a/source/blender/draw/intern/shaders/draw_view_info.hh
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#include "gpu_shader_create_info.hh"
-
-/* -------------------------------------------------------------------- */
-/** \name Draw View
- * \{ */
-
-GPU_SHADER_CREATE_INFO(draw_view)
- .uniform_buf(0, "ViewInfos", "drw_view", Frequency::PASS)
- .typedef_source("draw_shader_shared.h");
-
-GPU_SHADER_CREATE_INFO(draw_view_instanced_attr)
- .push_constant(0, Type::MAT4, "ModelMatrix")
- .push_constant(16, Type::MAT4, "ModelMatrixInverse")
- .additional_info("draw_view");
-
-/** \} */
-
-/* -------------------------------------------------------------------- */
-/** \name Geometry Type
- * \{ */
-
-GPU_SHADER_CREATE_INFO(draw_mesh)
- .uniform_buf(8, "ObjectMatrices", "drw_matrices[DRW_RESOURCE_CHUNK_LEN]", Frequency::BATCH)
- .additional_info("draw_view");
-
-GPU_SHADER_CREATE_INFO(draw_hair)
- /* TODO(fclem) Finish */
- .uniform_buf(8, "ObjectMatrices", "drw_matrices[DRW_RESOURCE_CHUNK_LEN]", Frequency::BATCH)
- .additional_info("draw_view");
-
-GPU_SHADER_CREATE_INFO(draw_pointcloud)
- .vertex_in(0, Type::VEC4, "pos")
- .vertex_in(1, Type::VEC3, "pos_inst")
- .vertex_in(2, Type::VEC3, "nor")
- .define("UNIFORM_RESOURCE_ID")
- .define("INSTANCED_ATTR")
- .additional_info("draw_view_instanced_attr");
-
-/** \} */