GPU: Shader Create Info GLSL-C++ stubs #3

Closed
Clément Foucault wants to merge 90 commits from create-info-cpp-macros into glsl-include

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
34 changed files with 823 additions and 542 deletions
Showing only changes of commit 69027ddbd9 - Show all commits

View File

@ -15,10 +15,10 @@ GPU_SHADER_CREATE_INFO(eevee_ambient_occlusion_pass)
.push_constant(Type::INT, "out_ao_img_layer_index")
.specialization_constant(Type::INT, "ao_slice_count", 2)
.specialization_constant(Type::INT, "ao_step_count", 8)
.additional_info("draw_view",
"eevee_shared",
"eevee_hiz_data",
"eevee_sampling_data",
"eevee_utility_texture",
"eevee_global_ubo")
.additional_info("draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_hiz_data")
.additional_info("eevee_sampling_data")
.additional_info("eevee_utility_texture")
.additional_info("eevee_global_ubo")
.do_static_compilation(true);

View File

@ -26,13 +26,13 @@ GPU_SHADER_CREATE_INFO(eevee_deferred_thickness_amend)
/* Early fragment test is needed to discard fragment that do not need this processing. */
.early_fragment_test(true)
.fragment_source("eevee_deferred_thickness_amend_frag.glsl")
.additional_info("draw_view",
"draw_fullscreen",
"eevee_sampling_data",
"eevee_shared",
"eevee_light_data",
"eevee_shadow_data",
"eevee_hiz_data");
.additional_info("draw_view")
.additional_info("draw_fullscreen")
.additional_info("eevee_sampling_data")
.additional_info("eevee_shared")
.additional_info("eevee_light_data")
.additional_info("eevee_shadow_data")
.additional_info("eevee_hiz_data");
/** \} */
@ -44,7 +44,8 @@ GPU_SHADER_CREATE_INFO(eevee_gbuffer_data)
GPU_SHADER_CREATE_INFO(eevee_deferred_tile_classify)
.fragment_source("eevee_deferred_tile_classify_frag.glsl")
.additional_info("eevee_shared", "draw_fullscreen")
.additional_info("eevee_shared")
.additional_info("draw_fullscreen")
.subpass_in(1, Type::UINT, "in_gbuffer_header", DEFERRED_GBUFFER_ROG_ID)
.typedef_source("draw_shader_shared.hh")
.push_constant(Type::INT, "current_bit")
@ -70,17 +71,17 @@ GPU_SHADER_CREATE_INFO(eevee_deferred_light)
.define("SPECIALIZED_SHADOW_PARAMS")
.specialization_constant(Type::INT, "shadow_ray_count", 1)
.specialization_constant(Type::INT, "shadow_ray_step_count", 6)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_utility_texture",
"eevee_sampling_data",
"eevee_light_data",
"eevee_shadow_data",
"eevee_hiz_data",
"eevee_lightprobe_data",
"eevee_render_pass_out",
"draw_fullscreen",
"draw_view");
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_utility_texture")
.additional_info("eevee_sampling_data")
.additional_info("eevee_light_data")
.additional_info("eevee_shadow_data")
.additional_info("eevee_hiz_data")
.additional_info("eevee_lightprobe_data")
.additional_info("eevee_render_pass_out")
.additional_info("draw_fullscreen")
.additional_info("draw_view");
GPU_SHADER_CREATE_INFO(eevee_deferred_light_single)
.additional_info("eevee_deferred_light")
@ -109,10 +110,10 @@ GPU_SHADER_CREATE_INFO(eevee_deferred_combine)
.sampler(7, ImageType::FLOAT_2D, "indirect_radiance_3_tx")
.image(5, GPU_RGBA16F, Qualifier::READ_WRITE, ImageType::FLOAT_2D, "radiance_feedback_img")
.fragment_out(0, Type::VEC4, "out_combined")
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_render_pass_out",
"draw_fullscreen")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_render_pass_out")
.additional_info("draw_fullscreen")
.fragment_source("eevee_deferred_combine_frag.glsl")
/* NOTE: Both light IDs have a valid specialized assignment of '-1' so only when default is
* present will we instead dynamically look-up ID from the uniform buffer. */
@ -129,16 +130,16 @@ GPU_SHADER_CREATE_INFO(eevee_deferred_capture_eval)
/* Inputs. */
.fragment_out(0, Type::VEC4, "out_radiance")
.define("LIGHT_CLOSURE_EVAL_COUNT", "1")
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_utility_texture",
"eevee_sampling_data",
"eevee_light_data",
"eevee_shadow_data",
"eevee_hiz_data",
"eevee_volume_probe_data",
"draw_view",
"draw_fullscreen")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_utility_texture")
.additional_info("eevee_sampling_data")
.additional_info("eevee_light_data")
.additional_info("eevee_shadow_data")
.additional_info("eevee_hiz_data")
.additional_info("eevee_volume_probe_data")
.additional_info("draw_view")
.additional_info("draw_fullscreen")
.fragment_source("eevee_deferred_capture_frag.glsl")
.do_static_compilation(true);
@ -149,16 +150,16 @@ GPU_SHADER_CREATE_INFO(eevee_deferred_planar_eval)
.fragment_out(0, Type::VEC4, "out_radiance")
.define("SPHERE_PROBE")
.define("LIGHT_CLOSURE_EVAL_COUNT", "1")
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_utility_texture",
"eevee_sampling_data",
"eevee_light_data",
"eevee_lightprobe_data",
"eevee_shadow_data",
"eevee_hiz_data",
"draw_view",
"draw_fullscreen")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_utility_texture")
.additional_info("eevee_sampling_data")
.additional_info("eevee_light_data")
.additional_info("eevee_lightprobe_data")
.additional_info("eevee_shadow_data")
.additional_info("eevee_hiz_data")
.additional_info("draw_view")
.additional_info("draw_fullscreen")
.fragment_source("eevee_deferred_planar_frag.glsl")
.do_static_compilation(true);
@ -176,6 +177,9 @@ GPU_SHADER_CREATE_INFO(eevee_debug_gbuffer)
.fragment_out(0, Type::VEC4, "out_color_mul", DualBlend::SRC_1)
.push_constant(Type::INT, "debug_mode")
.fragment_source("eevee_debug_gbuffer_frag.glsl")
.additional_info("draw_view", "draw_fullscreen", "eevee_shared", "eevee_gbuffer_data");
.additional_info("draw_view")
.additional_info("draw_fullscreen")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data");
/** \} */

View File

@ -12,7 +12,8 @@
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_bokeh_lut)
.do_static_compilation(true)
.local_group_size(DOF_BOKEH_LUT_SIZE, DOF_BOKEH_LUT_SIZE)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
.image(0, GPU_RG16F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_gather_lut_img")
.image(1, GPU_R16F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_scatter_lut_img")
@ -22,7 +23,8 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_bokeh_lut)
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_setup)
.do_static_compilation(true)
.local_group_size(DOF_DEFAULT_GROUP_SIZE, DOF_DEFAULT_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
.sampler(0, ImageType::FLOAT_2D, "color_tx")
.sampler(1, ImageType::DEPTH_2D, "depth_tx")
@ -33,7 +35,9 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_setup)
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_stabilize)
.do_static_compilation(true)
.local_group_size(DOF_STABILIZE_GROUP_SIZE, DOF_STABILIZE_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view", "eevee_velocity_camera")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_velocity_camera")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
.sampler(0, ImageType::FLOAT_2D, "coc_tx")
.sampler(1, ImageType::FLOAT_2D, "color_tx")
@ -49,7 +53,8 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_stabilize)
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_downsample)
.do_static_compilation(true)
.local_group_size(DOF_DEFAULT_GROUP_SIZE, DOF_DEFAULT_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.sampler(0, ImageType::FLOAT_2D, "color_tx")
.sampler(1, ImageType::FLOAT_2D, "coc_tx")
.image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_color_img")
@ -58,7 +63,8 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_downsample)
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_reduce)
.do_static_compilation(true)
.local_group_size(DOF_REDUCE_GROUP_SIZE, DOF_REDUCE_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
.sampler(0, ImageType::FLOAT_2D, "downsample_tx")
.storage_buf(0, Qualifier::WRITE, "ScatterRect", "scatter_fg_list_buf[]")
@ -84,14 +90,17 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_reduce)
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_tiles_flatten)
.do_static_compilation(true)
.local_group_size(DOF_TILES_FLATTEN_GROUP_SIZE, DOF_TILES_FLATTEN_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.sampler(0, ImageType::FLOAT_2D, "coc_tx")
.image(2, GPU_R11F_G11F_B10F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_tiles_fg_img")
.image(3, GPU_R11F_G11F_B10F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_tiles_bg_img")
.compute_source("eevee_depth_of_field_tiles_flatten_comp.glsl");
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_tiles_dilate)
.additional_info("eevee_shared", "draw_view", "eevee_depth_of_field_tiles_common")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_depth_of_field_tiles_common")
.local_group_size(DOF_TILES_DILATE_GROUP_SIZE, DOF_TILES_DILATE_GROUP_SIZE)
.image(2, GPU_R11F_G11F_B10F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_tiles_fg_img")
.image(3, GPU_R11F_G11F_B10F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_tiles_bg_img")
@ -135,7 +144,7 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_background).define("DOF_FOREGROUND_P
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_foreground).define("DOF_FOREGROUND_PASS", "true");
#define EEVEE_DOF_FINAL_VARIATION(name, ...) \
GPU_SHADER_CREATE_INFO(name).additional_info(__VA_ARGS__).do_static_compilation(true);
GPU_SHADER_CREATE_INFO(name).additional_info("__VA_ARGS__").do_static_compilation(true);
#define EEVEE_DOF_LUT_VARIATIONS(prefix, ...) \
EEVEE_DOF_FINAL_VARIATION(prefix##_lut, "eevee_depth_of_field_lut", __VA_ARGS__) \
@ -152,10 +161,10 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_foreground).define("DOF_FOREGROUND_P
* \{ */
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_gather_common)
.additional_info("eevee_shared",
"draw_view",
"eevee_depth_of_field_tiles_common",
"eevee_sampling_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_depth_of_field_tiles_common")
.additional_info("eevee_sampling_data")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
.local_group_size(DOF_GATHER_GROUP_SIZE, DOF_GATHER_GROUP_SIZE)
.sampler(0, ImageType::FLOAT_2D, "color_tx")
@ -174,7 +183,8 @@ EEVEE_DOF_GROUND_VARIATIONS(eevee_depth_of_field_gather, "eevee_depth_of_field_g
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_hole_fill)
.do_static_compilation(true)
.compute_source("eevee_depth_of_field_hole_fill_comp.glsl")
.additional_info("eevee_depth_of_field_gather_common", "eevee_depth_of_field_no_lut");
.additional_info("eevee_depth_of_field_gather_common")
.additional_info("eevee_depth_of_field_no_lut");
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_filter)
.do_static_compilation(true)
@ -210,7 +220,8 @@ GPU_SHADER_NAMED_INTERFACE_INFO(eevee_depth_of_field_scatter_noperspective_iface
GPU_SHADER_CREATE_INFO(eevee_depth_of_field_scatter)
.do_static_compilation(true)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.sampler(0, ImageType::FLOAT_2D, "occlusion_tx")
.sampler(1, ImageType::FLOAT_2D, "bokeh_lut_tx")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
@ -232,10 +243,10 @@ GPU_SHADER_CREATE_INFO(eevee_depth_of_field_resolve)
.define("DOF_RESOLVE_PASS", "true")
.local_group_size(DOF_RESOLVE_GROUP_SIZE, DOF_RESOLVE_GROUP_SIZE)
.specialization_constant(Type::BOOL, "do_debug_color", false)
.additional_info("eevee_shared",
"draw_view",
"eevee_depth_of_field_tiles_common",
"eevee_sampling_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_depth_of_field_tiles_common")
.additional_info("eevee_sampling_data")
.uniform_buf(6, "DepthOfFieldData", "dof_buf")
.sampler(0, ImageType::DEPTH_2D, "depth_tx")
.sampler(1, ImageType::FLOAT_2D, "color_tx")

View File

@ -42,7 +42,8 @@ GPU_SHADER_CREATE_INFO(eevee_film_frag)
.do_static_compilation(true)
.fragment_out(0, Type::VEC4, "out_color")
.fragment_source("eevee_film_frag.glsl")
.additional_info("draw_fullscreen", "eevee_film")
.additional_info("draw_fullscreen")
.additional_info("eevee_film")
.depth_write(DepthWrite::ANY);
GPU_SHADER_CREATE_INFO(eevee_film_comp)
@ -58,7 +59,8 @@ GPU_SHADER_CREATE_INFO(eevee_film_cryptomatte_post)
.push_constant(Type::INT, "cryptomatte_samples_per_layer")
.local_group_size(FILM_GROUP_SIZE, FILM_GROUP_SIZE)
.compute_source("eevee_film_cryptomatte_post_comp.glsl")
.additional_info("eevee_global_ubo", "eevee_shared");
.additional_info("eevee_global_ubo")
.additional_info("eevee_shared");
GPU_SHADER_CREATE_INFO(eevee_film_copy_frag)
.do_static_compilation(true)
@ -71,7 +73,8 @@ GPU_SHADER_CREATE_INFO(eevee_film_copy_frag)
.fragment_out(0, Type::VEC4, "out_color")
.fragment_source("eevee_film_copy_frag.glsl")
.define("FILM_COPY")
.additional_info("draw_fullscreen", "eevee_film_base");
.additional_info("draw_fullscreen")
.additional_info("eevee_film_base");
/* The combined pass is stored into its own 2D texture with a format of GPU_RGBA16F. */
GPU_SHADER_CREATE_INFO(eevee_film_pass_convert_combined)

View File

@ -39,4 +39,6 @@ GPU_SHADER_CREATE_INFO(eevee_hiz_debug)
.fragment_out(0, Type::VEC4, "out_debug_color_add", DualBlend::SRC_0)
.fragment_out(0, Type::VEC4, "out_debug_color_mul", DualBlend::SRC_1)
.fragment_source("eevee_hiz_debug_frag.glsl")
.additional_info("eevee_shared", "eevee_hiz_data", "draw_fullscreen");
.additional_info("eevee_shared")
.additional_info("eevee_hiz_data")
.additional_info("draw_fullscreen");

View File

@ -23,7 +23,9 @@ GPU_SHADER_CREATE_INFO(eevee_light_data)
GPU_SHADER_CREATE_INFO(eevee_light_culling_select)
.do_static_compilation(true)
.additional_info("eevee_shared", "draw_view", "draw_view_culling")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("draw_view_culling")
.local_group_size(CULLING_SELECT_GROUP_SIZE)
.storage_buf(0, Qualifier::READ_WRITE, "LightCullingData", "light_cull_buf")
.storage_buf(1, Qualifier::READ, "LightData", "in_light_buf[]")
@ -35,7 +37,8 @@ GPU_SHADER_CREATE_INFO(eevee_light_culling_select)
GPU_SHADER_CREATE_INFO(eevee_light_culling_sort)
.do_static_compilation(true)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.storage_buf(0, Qualifier::READ, "LightCullingData", "light_cull_buf")
.storage_buf(1, Qualifier::READ, "LightData", "in_light_buf[]")
.storage_buf(2, Qualifier::WRITE, "LightData", "out_light_buf[]")
@ -46,7 +49,8 @@ GPU_SHADER_CREATE_INFO(eevee_light_culling_sort)
GPU_SHADER_CREATE_INFO(eevee_light_culling_zbin)
.do_static_compilation(true)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.local_group_size(CULLING_ZBIN_GROUP_SIZE)
.storage_buf(0, Qualifier::READ, "LightCullingData", "light_cull_buf")
.storage_buf(1, Qualifier::READ, "LightData", "light_buf[]")
@ -55,7 +59,9 @@ GPU_SHADER_CREATE_INFO(eevee_light_culling_zbin)
GPU_SHADER_CREATE_INFO(eevee_light_culling_tile)
.do_static_compilation(true)
.additional_info("eevee_shared", "draw_view", "draw_view_culling")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("draw_view_culling")
.local_group_size(CULLING_TILE_GROUP_SIZE)
.storage_buf(0, Qualifier::READ, "LightCullingData", "light_cull_buf")
.storage_buf(1, Qualifier::READ, "LightData", "light_buf[]")
@ -64,7 +70,9 @@ GPU_SHADER_CREATE_INFO(eevee_light_culling_tile)
GPU_SHADER_CREATE_INFO(eevee_light_shadow_setup)
.do_static_compilation(true)
.additional_info("eevee_shared", "eevee_sampling_data", "eevee_global_ubo")
.additional_info("eevee_shared")
.additional_info("eevee_sampling_data")
.additional_info("eevee_global_ubo")
.local_group_size(CULLING_SELECT_GROUP_SIZE)
.storage_buf(0, Qualifier::READ, "LightCullingData", "light_cull_buf")
.storage_buf(1, Qualifier::READ_WRITE, "LightData", "light_buf[]")

View File

@ -30,7 +30,8 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_remap)
.storage_buf(1, Qualifier::WRITE, "SphereProbeSunLight", "out_sun[]")
.image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "atlas_img")
.compute_source("eevee_lightprobe_sphere_remap_comp.glsl")
.additional_info("eevee_shared", "eevee_global_ubo")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.do_static_compilation(true);
GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_irradiance)
@ -58,10 +59,10 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_sphere_select)
"SphereProbeData",
"lightprobe_sphere_buf[SPHERE_PROBE_MAX]")
.push_constant(Type::INT, "lightprobe_sphere_count")
.additional_info("eevee_shared",
"eevee_sampling_data",
"eevee_global_ubo",
"eevee_volume_probe_data")
.additional_info("eevee_shared")
.additional_info("eevee_sampling_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_volume_probe_data")
.compute_source("eevee_lightprobe_sphere_select_comp.glsl")
.do_static_compilation(true);
@ -84,7 +85,9 @@ GPU_SHADER_INTERFACE_INFO(eevee_display_lightprobe_sphere_iface)
.flat(Type::INT, "probe_index");
GPU_SHADER_CREATE_INFO(eevee_display_lightprobe_sphere)
.additional_info("eevee_shared", "draw_view", "eevee_lightprobe_sphere_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_lightprobe_sphere_data")
.storage_buf(0, Qualifier::READ, "SphereProbeDisplayData", "display_data_buf[]")
.vertex_source("eevee_display_lightprobe_sphere_vert.glsl")
.vertex_out(eevee_display_lightprobe_sphere_iface)
@ -98,10 +101,10 @@ GPU_SHADER_INTERFACE_INFO(eevee_display_lightprobe_planar_iface)
GPU_SHADER_CREATE_INFO(eevee_display_lightprobe_planar)
.push_constant(Type::IVEC4, "world_coord_packed")
.additional_info("eevee_shared",
"draw_view",
"eevee_lightprobe_planar_data",
"eevee_lightprobe_sphere_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_lightprobe_planar_data")
.additional_info("eevee_lightprobe_sphere_data")
.storage_buf(0, Qualifier::READ, "PlanarProbeDisplayData", "display_data_buf[]")
.vertex_source("eevee_display_lightprobe_planar_vert.glsl")
.vertex_out(eevee_display_lightprobe_planar_iface)

View File

@ -14,7 +14,8 @@ GPU_SHADER_INTERFACE_INFO(eevee_debug_surfel_iface)
.flat(Type::INT, "surfel_index");
GPU_SHADER_CREATE_INFO(eevee_debug_surfels)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.vertex_source("eevee_debug_surfels_vert.glsl")
.vertex_out(eevee_debug_surfel_iface)
.fragment_source("eevee_debug_surfels_frag.glsl")
@ -27,7 +28,8 @@ GPU_SHADER_CREATE_INFO(eevee_debug_surfels)
GPU_SHADER_INTERFACE_INFO(eevee_debug_irradiance_grid_iface).smooth(Type::VEC4, "interp_color");
GPU_SHADER_CREATE_INFO(eevee_debug_irradiance_grid)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.fragment_out(0, Type::VEC4, "out_color")
.vertex_out(eevee_debug_irradiance_grid_iface)
.sampler(0, ImageType::FLOAT_3D, "debug_data_tx")
@ -43,7 +45,8 @@ GPU_SHADER_INTERFACE_INFO(eevee_display_lightprobe_volume_iface)
.flat(Type::IVEC3, "cell");
GPU_SHADER_CREATE_INFO(eevee_display_lightprobe_volume)
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.vertex_source("eevee_display_lightprobe_volume_vert.glsl")
.vertex_out(eevee_display_lightprobe_volume_iface)
.fragment_source("eevee_display_lightprobe_volume_frag.glsl")
@ -74,20 +77,22 @@ GPU_SHADER_CREATE_INFO(eevee_surfel_light)
.define("LIGHT_ITER_FORCE_NO_CULLING")
.define("LIGHT_CLOSURE_EVAL_COUNT", "1")
.local_group_size(SURFEL_GROUP_SIZE)
.additional_info("eevee_shared",
"draw_view",
"eevee_global_ubo",
"eevee_utility_texture",
"eevee_surfel_common",
"eevee_light_data",
"eevee_shadow_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_global_ubo")
.additional_info("eevee_utility_texture")
.additional_info("eevee_surfel_common")
.additional_info("eevee_light_data")
.additional_info("eevee_shadow_data")
.compute_source("eevee_surfel_light_comp.glsl")
.do_static_compilation(true);
GPU_SHADER_CREATE_INFO(eevee_surfel_cluster_build)
.local_group_size(SURFEL_GROUP_SIZE)
.builtins(BuiltinBits::TEXTURE_ATOMIC)
.additional_info("eevee_shared", "eevee_surfel_common", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_surfel_common")
.additional_info("draw_view")
.image(0, GPU_R32I, Qualifier::READ_WRITE, ImageType::INT_3D_ATOMIC, "cluster_list_img")
.compute_source("eevee_surfel_cluster_build_comp.glsl")
.do_static_compilation(true);
@ -95,7 +100,9 @@ GPU_SHADER_CREATE_INFO(eevee_surfel_cluster_build)
GPU_SHADER_CREATE_INFO(eevee_surfel_list_build)
.local_group_size(SURFEL_GROUP_SIZE)
.builtins(BuiltinBits::TEXTURE_ATOMIC)
.additional_info("eevee_shared", "eevee_surfel_common", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_surfel_common")
.additional_info("draw_view")
.storage_buf(0, Qualifier::READ_WRITE, "int", "list_start_buf[]")
.storage_buf(6, Qualifier::READ_WRITE, "SurfelListInfoData", "list_info_buf")
.compute_source("eevee_surfel_list_build_comp.glsl")
@ -103,7 +110,9 @@ GPU_SHADER_CREATE_INFO(eevee_surfel_list_build)
GPU_SHADER_CREATE_INFO(eevee_surfel_list_sort)
.local_group_size(SURFEL_LIST_GROUP_SIZE)
.additional_info("eevee_shared", "eevee_surfel_common", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_surfel_common")
.additional_info("draw_view")
.storage_buf(0, Qualifier::READ_WRITE, "int", "list_start_buf[]")
.storage_buf(6, Qualifier::READ, "SurfelListInfoData", "list_info_buf")
.compute_source("eevee_surfel_list_sort_comp.glsl")
@ -111,10 +120,10 @@ GPU_SHADER_CREATE_INFO(eevee_surfel_list_sort)
GPU_SHADER_CREATE_INFO(eevee_surfel_ray)
.local_group_size(SURFEL_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_surfel_common",
"eevee_lightprobe_sphere_data",
"draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_surfel_common")
.additional_info("eevee_lightprobe_sphere_data")
.additional_info("draw_view")
.push_constant(Type::INT, "radiance_src")
.push_constant(Type::INT, "radiance_dst")
.compute_source("eevee_surfel_ray_comp.glsl")
@ -134,10 +143,10 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_volume_ray)
.local_group_size(IRRADIANCE_GRID_GROUP_SIZE,
IRRADIANCE_GRID_GROUP_SIZE,
IRRADIANCE_GRID_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_surfel_common",
"eevee_lightprobe_sphere_data",
"draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_surfel_common")
.additional_info("eevee_lightprobe_sphere_data")
.additional_info("draw_view")
.push_constant(Type::INT, "radiance_src")
.storage_buf(0, Qualifier::READ, "int", "list_start_buf[]")
.storage_buf(6, Qualifier::READ, "SurfelListInfoData", "list_info_buf")
@ -154,7 +163,9 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_volume_offset)
.local_group_size(IRRADIANCE_GRID_GROUP_SIZE,
IRRADIANCE_GRID_GROUP_SIZE,
IRRADIANCE_GRID_GROUP_SIZE)
.additional_info("eevee_shared", "eevee_surfel_common", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_surfel_common")
.additional_info("draw_view")
.storage_buf(0, Qualifier::READ, "int", "list_start_buf[]")
.storage_buf(6, Qualifier::READ, "SurfelListInfoData", "list_info_buf")
.image(0, GPU_R32I, Qualifier::READ, ImageType::INT_3D_ATOMIC, "cluster_list_img")
@ -173,7 +184,8 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_volume_world)
IRRADIANCE_GRID_BRICK_SIZE,
IRRADIANCE_GRID_BRICK_SIZE)
.define("IRRADIANCE_GRID_UPLOAD")
.additional_info("eevee_shared", "eevee_global_ubo")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.push_constant(Type::INT, "grid_index")
.storage_buf(0, Qualifier::READ, "uint", "bricks_infos_buf[]")
.storage_buf(1, Qualifier::READ, "SphereProbeHarmonic", "harmonic_buf")
@ -187,7 +199,8 @@ GPU_SHADER_CREATE_INFO(eevee_lightprobe_volume_load)
IRRADIANCE_GRID_BRICK_SIZE,
IRRADIANCE_GRID_BRICK_SIZE)
.define("IRRADIANCE_GRID_UPLOAD")
.additional_info("eevee_shared", "eevee_global_ubo")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.push_constant(Type::MAT4, "grid_local_to_world")
.push_constant(Type::INT, "grid_index")
.push_constant(Type::INT, "grid_start_index")
@ -222,7 +235,8 @@ GPU_SHADER_CREATE_INFO(eevee_volume_probe_data)
.define("IRRADIANCE_GRID_SAMPLING");
GPU_SHADER_CREATE_INFO(eevee_lightprobe_data)
.additional_info("eevee_lightprobe_sphere_data", "eevee_volume_probe_data");
.additional_info("eevee_lightprobe_sphere_data")
.additional_info("eevee_volume_probe_data");
GPU_SHADER_CREATE_INFO(eevee_lightprobe_planar_data)
.define("SPHERE_PROBE")

View File

@ -54,10 +54,10 @@ GPU_SHADER_CREATE_INFO(eevee_geom_mesh)
.vertex_in(1, Type::VEC3, "nor")
.vertex_source("eevee_geom_mesh_vert.glsl")
.vertex_out(eevee_surf_iface)
.additional_info("draw_modelmat_new",
"draw_object_infos_new",
"draw_resource_id_varying",
"draw_view");
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_id_varying")
.additional_info("draw_view");
GPU_SHADER_NAMED_INTERFACE_INFO(eevee_surf_point_cloud_iface, point_cloud_interp)
.smooth(Type::FLOAT, "radius")
@ -72,11 +72,11 @@ GPU_SHADER_CREATE_INFO(eevee_geom_point_cloud)
.vertex_out(eevee_surf_iface)
.vertex_out(eevee_surf_point_cloud_iface)
.vertex_out(eevee_surf_point_cloud_flat_iface)
.additional_info("draw_pointcloud_new",
"draw_modelmat_new",
"draw_object_infos_new",
"draw_resource_id_varying",
"draw_view");
.additional_info("draw_pointcloud_new")
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_id_varying")
.additional_info("draw_view");
GPU_SHADER_CREATE_INFO(eevee_geom_volume)
.additional_info("eevee_shared")
@ -84,22 +84,22 @@ GPU_SHADER_CREATE_INFO(eevee_geom_volume)
.vertex_in(0, Type::VEC3, "pos")
.vertex_out(eevee_surf_iface)
.vertex_source("eevee_geom_volume_vert.glsl")
.additional_info("draw_modelmat_new",
"draw_object_infos_new",
"draw_resource_id_varying",
"draw_volume_infos",
"draw_view");
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_id_varying")
.additional_info("draw_volume_infos")
.additional_info("draw_view");
GPU_SHADER_CREATE_INFO(eevee_geom_gpencil)
.additional_info("eevee_shared")
.define("MAT_GEOM_GPENCIL")
.vertex_source("eevee_geom_gpencil_vert.glsl")
.vertex_out(eevee_surf_iface)
.additional_info("draw_gpencil_new",
"draw_modelmat_new",
"draw_object_infos_new",
"draw_resource_id_varying",
"draw_resource_id_new");
.additional_info("draw_gpencil_new")
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_id_varying")
.additional_info("draw_resource_id_new");
GPU_SHADER_NAMED_INTERFACE_INFO(eevee_surf_curve_iface, curve_interp)
.smooth(Type::VEC2, "barycentric_coords")
@ -118,12 +118,12 @@ GPU_SHADER_CREATE_INFO(eevee_geom_curves)
.vertex_out(eevee_surf_iface)
.vertex_out(eevee_surf_curve_iface)
.vertex_out(eevee_surf_curve_flat_iface)
.additional_info("draw_modelmat_new",
"draw_object_infos_new",
"draw_resource_id_varying",
"draw_view",
"draw_hair_new",
"draw_curves_infos");
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_id_varying")
.additional_info("draw_view")
.additional_info("draw_hair_new")
.additional_info("draw_curves_infos");
GPU_SHADER_CREATE_INFO(eevee_geom_world)
.additional_info("eevee_shared")
@ -131,10 +131,10 @@ GPU_SHADER_CREATE_INFO(eevee_geom_world)
.builtins(BuiltinBits::VERTEX_ID)
.vertex_source("eevee_geom_world_vert.glsl")
.vertex_out(eevee_surf_iface)
.additional_info("draw_modelmat_new",
"draw_object_infos_new", /* Unused, but allow debug compilation. */
"draw_resource_id_varying",
"draw_view");
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new") /* Unused, but allow debug compilation. */
.additional_info("draw_resource_id_varying")
.additional_info("draw_view");
/** \} */
@ -172,13 +172,13 @@ GPU_SHADER_CREATE_INFO(eevee_surf_deferred_base)
* limitation of the number of images we can bind on a single shader. */
.image_array_out(GBUF_CLOSURE_SLOT, Qualifier::WRITE, GPU_RGB10_A2, "out_gbuf_closure_img")
.image_array_out(GBUF_NORMAL_SLOT, Qualifier::WRITE, GPU_RG16, "out_gbuf_normal_img")
.additional_info("eevee_global_ubo",
"eevee_utility_texture",
/* Added at runtime because of test shaders not having `node_tree`. */
// "eevee_render_pass_out",
// "eevee_cryptomatte_out",
"eevee_sampling_data",
"eevee_hiz_data");
/* Added at runtime because of test shaders not having `node_tree`. */
// .additional_info("eevee_render_pass_out")
// .additional_info("eevee_cryptomatte_out")
.additional_info("eevee_global_ubo")
.additional_info("eevee_utility_texture")
.additional_info("eevee_sampling_data")
.additional_info("eevee_hiz_data");
GPU_SHADER_CREATE_INFO(eevee_surf_deferred)
.fragment_source("eevee_surf_deferred_frag.glsl")
@ -186,10 +186,10 @@ GPU_SHADER_CREATE_INFO(eevee_surf_deferred)
GPU_SHADER_CREATE_INFO(eevee_surf_deferred_hybrid)
.fragment_source("eevee_surf_hybrid_frag.glsl")
.additional_info("eevee_surf_deferred_base",
"eevee_light_data",
"eevee_lightprobe_data",
"eevee_shadow_data");
.additional_info("eevee_surf_deferred_base")
.additional_info("eevee_light_data")
.additional_info("eevee_lightprobe_data")
.additional_info("eevee_shadow_data");
GPU_SHADER_CREATE_INFO(eevee_surf_forward)
.define("MAT_FORWARD")
@ -199,18 +199,17 @@ GPU_SHADER_CREATE_INFO(eevee_surf_forward)
.fragment_out(0, Type::VEC4, "out_radiance", DualBlend::SRC_0)
.fragment_out(0, Type::VEC4, "out_transmittance", DualBlend::SRC_1)
.fragment_source("eevee_surf_forward_frag.glsl")
.additional_info("eevee_global_ubo",
"eevee_light_data",
"eevee_lightprobe_data",
"eevee_utility_texture",
"eevee_sampling_data",
"eevee_shadow_data",
"eevee_hiz_data",
"eevee_volume_lib"
/* Optionally added depending on the material. */
// "eevee_render_pass_out",
// "eevee_cryptomatte_out",
);
/* Optionally added depending on the material. */
// .additional_info("eevee_render_pass_out")
// .additional_info("eevee_cryptomatte_out")
.additional_info("eevee_global_ubo")
.additional_info("eevee_light_data")
.additional_info("eevee_lightprobe_data")
.additional_info("eevee_utility_texture")
.additional_info("eevee_sampling_data")
.additional_info("eevee_shadow_data")
.additional_info("eevee_hiz_data")
.additional_info("eevee_volume_lib");
GPU_SHADER_CREATE_INFO(eevee_surf_capture)
.define("MAT_CAPTURE")
@ -218,12 +217,15 @@ GPU_SHADER_CREATE_INFO(eevee_surf_capture)
.storage_buf(CAPTURE_BUF_SLOT, Qualifier::READ_WRITE, "CaptureInfoData", "capture_info_buf")
.push_constant(Type::BOOL, "is_double_sided")
.fragment_source("eevee_surf_capture_frag.glsl")
.additional_info("eevee_global_ubo", "eevee_utility_texture");
.additional_info("eevee_global_ubo")
.additional_info("eevee_utility_texture");
GPU_SHADER_CREATE_INFO(eevee_surf_depth)
.define("MAT_DEPTH")
.fragment_source("eevee_surf_depth_frag.glsl")
.additional_info("eevee_global_ubo", "eevee_sampling_data", "eevee_utility_texture");
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("eevee_utility_texture");
GPU_SHADER_CREATE_INFO(eevee_surf_world)
.push_constant(Type::FLOAT, "world_opacity_fade")
@ -232,23 +234,23 @@ GPU_SHADER_CREATE_INFO(eevee_surf_world)
.early_fragment_test(true)
.fragment_out(0, Type::VEC4, "out_background")
.fragment_source("eevee_surf_world_frag.glsl")
.additional_info("eevee_global_ubo",
"eevee_lightprobe_sphere_data",
"eevee_volume_probe_data",
"eevee_sampling_data",
/* Optionally added depending on the material. */
// "eevee_render_pass_out",
// "eevee_cryptomatte_out",
"eevee_utility_texture");
.additional_info("eevee_global_ubo")
.additional_info("eevee_lightprobe_sphere_data")
.additional_info("eevee_volume_probe_data")
.additional_info("eevee_sampling_data")
/* Optionally added depending on the material. */
// .additional_info("eevee_render_pass_out")
// .additional_info("eevee_cryptomatte_out")
.additional_info("eevee_utility_texture");
GPU_SHADER_CREATE_INFO(eevee_renderpass_clear)
.fragment_out(0, Type::VEC4, "out_background")
.fragment_source("eevee_renderpass_clear_frag.glsl")
.additional_info("draw_fullscreen",
"eevee_global_ubo",
"eevee_render_pass_out",
"eevee_cryptomatte_out",
"eevee_shared")
.additional_info("draw_fullscreen")
.additional_info("eevee_global_ubo")
.additional_info("eevee_render_pass_out")
.additional_info("eevee_cryptomatte_out")
.additional_info("eevee_shared")
.do_static_compilation(true);
GPU_SHADER_NAMED_INTERFACE_INFO(eevee_surf_shadow_atomic_iface, shadow_iface)
@ -268,7 +270,9 @@ GPU_SHADER_CREATE_INFO(eevee_surf_shadow)
"ShadowRenderView",
"render_view_buf[SHADOW_VIEW_MAX]")
.fragment_source("eevee_surf_shadow_frag.glsl")
.additional_info("eevee_global_ubo", "eevee_utility_texture", "eevee_sampling_data");
.additional_info("eevee_global_ubo")
.additional_info("eevee_utility_texture")
.additional_info("eevee_sampling_data");
GPU_SHADER_CREATE_INFO(eevee_surf_shadow_atomic)
.additional_info("eevee_surf_shadow")
@ -339,12 +343,12 @@ GPU_SHADER_CREATE_INFO(eevee_surf_volume)
ImageType::UINT_3D_ATOMIC,
"occupancy_img")
.fragment_source("eevee_surf_volume_frag.glsl")
.additional_info("draw_modelmat_new_common",
"draw_view",
"eevee_shared",
"eevee_global_ubo",
"eevee_sampling_data",
"eevee_utility_texture");
.additional_info("draw_modelmat_new_common")
.additional_info("draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("eevee_utility_texture");
GPU_SHADER_CREATE_INFO(eevee_surf_occupancy)
.define("MAT_OCCUPANCY")
@ -364,7 +368,8 @@ GPU_SHADER_CREATE_INFO(eevee_surf_occupancy)
ImageType::UINT_3D_ATOMIC,
"occupancy_img")
.fragment_source("eevee_surf_occupancy_frag.glsl")
.additional_info("eevee_global_ubo", "eevee_sampling_data");
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data");
/** \} */

View File

@ -7,7 +7,9 @@
GPU_SHADER_CREATE_INFO(eevee_motion_blur_tiles_flatten)
.local_group_size(MOTION_BLUR_GROUP_SIZE, MOTION_BLUR_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view", "eevee_velocity_camera")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_velocity_camera")
.uniform_buf(6, "MotionBlurData", "motion_blur_buf")
.sampler(0, ImageType::DEPTH_2D, "depth_tx")
.image(1, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_tiles_img")
@ -36,7 +38,9 @@ GPU_SHADER_CREATE_INFO(eevee_motion_blur_tiles_dilate)
GPU_SHADER_CREATE_INFO(eevee_motion_blur_gather)
.do_static_compilation(true)
.local_group_size(MOTION_BLUR_GROUP_SIZE, MOTION_BLUR_GROUP_SIZE)
.additional_info("eevee_shared", "draw_view", "eevee_sampling_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("eevee_sampling_data")
.uniform_buf(6, "MotionBlurData", "motion_blur_buf")
.sampler(0, ImageType::DEPTH_2D, "depth_tx")
.sampler(1, ImageType::FLOAT_2D, "velocity_tx")

View File

@ -55,7 +55,9 @@ GPU_SHADER_CREATE_INFO(eevee_shadow_tag_update)
.storage_buf(1, Qualifier::READ_WRITE, SHADOW_TILE_DATA_PACKED, "tiles_buf[]")
.storage_buf(5, Qualifier::READ, "ObjectBounds", "bounds_buf[]")
.storage_buf(6, Qualifier::READ, "uint", "resource_ids_buf[]")
.additional_info("eevee_shared", "draw_view", "draw_view_culling")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("draw_view_culling")
.compute_source("eevee_shadow_tag_update_comp.glsl");
GPU_SHADER_CREATE_INFO(eevee_shadow_tag_usage_opaque)
@ -74,12 +76,12 @@ GPU_SHADER_CREATE_INFO(eevee_shadow_tag_usage_surfels)
.storage_buf(6, Qualifier::READ_WRITE, "ShadowTileMapData", "tilemaps_buf[]")
.storage_buf(7, Qualifier::READ_WRITE, SHADOW_TILE_DATA_PACKED, "tiles_buf[]")
.push_constant(Type::INT, "directional_level")
.additional_info("eevee_shared",
"draw_view",
"draw_view_culling",
"eevee_light_data",
"eevee_global_ubo",
"eevee_surfel_common")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("draw_view_culling")
.additional_info("eevee_light_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_surfel_common")
.compute_source("eevee_shadow_tag_usage_surfels_comp.glsl");
GPU_SHADER_NAMED_INTERFACE_INFO(eevee_shadow_tag_transparent_iface, interp)
@ -99,13 +101,13 @@ GPU_SHADER_CREATE_INFO(eevee_shadow_tag_usage_transparent)
.push_constant(Type::INT, "fb_lod")
.vertex_out(eevee_shadow_tag_transparent_iface)
.vertex_out(eevee_shadow_tag_transparent_flat_iface)
.additional_info("eevee_shared",
"draw_resource_id_varying",
"draw_view",
"draw_view_culling",
"draw_modelmat_new",
"eevee_hiz_data",
"eevee_light_data")
.additional_info("eevee_shared")
.additional_info("draw_resource_id_varying")
.additional_info("draw_view")
.additional_info("draw_view_culling")
.additional_info("draw_modelmat_new")
.additional_info("eevee_hiz_data")
.additional_info("eevee_light_data")
.vertex_source("eevee_shadow_tag_usage_vert.glsl")
.fragment_source("eevee_shadow_tag_usage_frag.glsl");
@ -114,13 +116,13 @@ GPU_SHADER_CREATE_INFO(eevee_shadow_tag_usage_volume)
.local_group_size(VOLUME_GROUP_SIZE, VOLUME_GROUP_SIZE, VOLUME_GROUP_SIZE)
.storage_buf(4, Qualifier::READ_WRITE, "ShadowTileMapData", "tilemaps_buf[]")
.storage_buf(5, Qualifier::READ_WRITE, SHADOW_TILE_DATA_PACKED, "tiles_buf[]")
.additional_info("eevee_volume_properties_data",
"eevee_shared",
"draw_view",
"draw_view_culling",
"eevee_hiz_data",
"eevee_light_data",
"eevee_sampling_data")
.additional_info("eevee_volume_properties_data")
.additional_info("eevee_shared")
.additional_info("draw_view")
.additional_info("draw_view_culling")
.additional_info("eevee_hiz_data")
.additional_info("eevee_light_data")
.additional_info("eevee_sampling_data")
.compute_source("eevee_shadow_tag_usage_volume_comp.glsl");
GPU_SHADER_CREATE_INFO(eevee_shadow_page_mask)
@ -208,7 +210,8 @@ GPU_SHADER_CREATE_INFO(eevee_shadow_tilemap_amend)
.storage_buf(LIGHT_BUF_SLOT, Qualifier::READ_WRITE, "LightData", "light_buf[]")
/* The call bind_resources(lights) also uses LIGHT_ZBIN_BUF_SLOT and LIGHT_TILE_BUF_SLOT. */
.storage_buf(4, Qualifier::READ, "ShadowTileMapData", "tilemaps_buf[]")
.additional_info("eevee_shared", "draw_view")
.additional_info("eevee_shared")
.additional_info("draw_view")
.compute_source("eevee_shadow_tilemap_amend_comp.glsl");
/* AtomicMin clear implementation. */

View File

@ -9,7 +9,9 @@ GPU_SHADER_CREATE_INFO(eevee_subsurface_setup)
.do_static_compilation(true)
.local_group_size(SUBSURFACE_GROUP_SIZE, SUBSURFACE_GROUP_SIZE)
.typedef_source("draw_shader_shared.hh")
.additional_info("draw_view", "eevee_shared", "eevee_gbuffer_data")
.additional_info("draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.sampler(2, ImageType::DEPTH_2D, "depth_tx")
.image(0, DEFERRED_RADIANCE_FORMAT, Qualifier::READ, ImageType::UINT_2D, "direct_light_img")
.image(1, RAYTRACE_RADIANCE_FORMAT, Qualifier::READ, ImageType::FLOAT_2D, "indirect_light_img")
@ -22,7 +24,10 @@ GPU_SHADER_CREATE_INFO(eevee_subsurface_setup)
GPU_SHADER_CREATE_INFO(eevee_subsurface_convolve)
.do_static_compilation(true)
.local_group_size(SUBSURFACE_GROUP_SIZE, SUBSURFACE_GROUP_SIZE)
.additional_info("draw_view", "eevee_shared", "eevee_gbuffer_data", "eevee_global_ubo")
.additional_info("draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.sampler(2, ImageType::FLOAT_2D, "radiance_tx")
.sampler(3, ImageType::DEPTH_2D, "depth_tx")
.sampler(4, ImageType::UINT_2D, "object_id_tx")

View File

@ -17,7 +17,9 @@
GPU_SHADER_CREATE_INFO(eevee_ray_tile_classify)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared", "eevee_gbuffer_data", "eevee_global_ubo")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.typedef_source("draw_shader_shared.hh")
.image_out(0, RAYTRACE_TILEMASK_FORMAT, ImageType::UINT_2D_ARRAY, "tile_raytrace_denoise_img")
.image_out(1, RAYTRACE_TILEMASK_FORMAT, ImageType::UINT_2D_ARRAY, "tile_raytrace_tracing_img")
@ -28,7 +30,8 @@ GPU_SHADER_CREATE_INFO(eevee_ray_tile_classify)
GPU_SHADER_CREATE_INFO(eevee_ray_tile_compact)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared", "eevee_global_ubo")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.typedef_source("draw_shader_shared.hh")
.image_in(0, RAYTRACE_TILEMASK_FORMAT, ImageType::UINT_2D_ARRAY, "tile_raytrace_denoise_img")
.image_in(1, RAYTRACE_TILEMASK_FORMAT, ImageType::UINT_2D_ARRAY, "tile_raytrace_tracing_img")
@ -43,12 +46,12 @@ GPU_SHADER_CREATE_INFO(eevee_ray_tile_compact)
GPU_SHADER_CREATE_INFO(eevee_ray_generate)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_global_ubo",
"eevee_sampling_data",
"draw_view",
"eevee_utility_texture")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("draw_view")
.additional_info("eevee_utility_texture")
.image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_ray_data_img")
.storage_buf(4, Qualifier::READ, "uint", "tiles_coord_buf[]")
.specialization_constant(Type::INT, "closure_index", 0)
@ -57,12 +60,12 @@ GPU_SHADER_CREATE_INFO(eevee_ray_generate)
GPU_SHADER_CREATE_INFO(eevee_ray_trace_fallback)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_global_ubo",
"draw_view",
"eevee_sampling_data",
"eevee_lightprobe_data")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("draw_view")
.additional_info("eevee_sampling_data")
.additional_info("eevee_lightprobe_data")
.image(0, GPU_RGBA16F, Qualifier::READ, ImageType::FLOAT_2D, "ray_data_img")
.image(1, RAYTRACE_RAYTIME_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "ray_time_img")
.image(2, RAYTRACE_RADIANCE_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "ray_radiance_img")
@ -75,13 +78,13 @@ GPU_SHADER_CREATE_INFO(eevee_ray_trace_planar)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.define("PLANAR_PROBES")
.additional_info("eevee_shared",
"eevee_global_ubo",
"eevee_sampling_data",
"eevee_gbuffer_data",
"draw_view",
"eevee_lightprobe_data",
"eevee_lightprobe_planar_data")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("eevee_gbuffer_data")
.additional_info("draw_view")
.additional_info("eevee_lightprobe_data")
.additional_info("eevee_lightprobe_planar_data")
.image(0, GPU_RGBA16F, Qualifier::READ_WRITE, ImageType::FLOAT_2D, "ray_data_img")
.image(1, RAYTRACE_RAYTIME_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "ray_time_img")
.image(2, RAYTRACE_RADIANCE_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "ray_radiance_img")
@ -93,13 +96,13 @@ GPU_SHADER_CREATE_INFO(eevee_ray_trace_planar)
GPU_SHADER_CREATE_INFO(eevee_ray_trace_screen)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_global_ubo",
"eevee_sampling_data",
"eevee_gbuffer_data",
"draw_view",
"eevee_hiz_data",
"eevee_lightprobe_data")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("eevee_gbuffer_data")
.additional_info("draw_view")
.additional_info("eevee_hiz_data")
.additional_info("eevee_lightprobe_data")
.image(0, GPU_RGBA16F, Qualifier::READ, ImageType::FLOAT_2D, "ray_data_img")
.image(1, RAYTRACE_RAYTIME_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "ray_time_img")
.image(2, RAYTRACE_RADIANCE_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "ray_radiance_img")
@ -119,12 +122,12 @@ GPU_SHADER_CREATE_INFO(eevee_ray_trace_screen)
GPU_SHADER_CREATE_INFO(eevee_ray_denoise_spatial)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_global_ubo",
"eevee_sampling_data",
"draw_view",
"eevee_utility_texture")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("draw_view")
.additional_info("eevee_utility_texture")
.sampler(3, ImageType::DEPTH_2D, "depth_tx")
.image(0, GPU_RGBA16F, Qualifier::READ, ImageType::FLOAT_2D, "ray_data_img")
.image(1, RAYTRACE_RAYTIME_FORMAT, Qualifier::READ, ImageType::FLOAT_2D, "ray_time_img")
@ -144,7 +147,9 @@ GPU_SHADER_CREATE_INFO(eevee_ray_denoise_spatial)
GPU_SHADER_CREATE_INFO(eevee_ray_denoise_temporal)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared", "eevee_global_ubo", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("draw_view")
.sampler(0, ImageType::FLOAT_2D, "radiance_history_tx")
.sampler(1, ImageType::FLOAT_2D, "variance_history_tx")
.sampler(2, ImageType::UINT_2D_ARRAY, "tilemask_history_tx")
@ -164,11 +169,11 @@ GPU_SHADER_CREATE_INFO(eevee_ray_denoise_temporal)
GPU_SHADER_CREATE_INFO(eevee_ray_denoise_bilateral)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_global_ubo",
"eevee_sampling_data",
"draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("draw_view")
.sampler(1, ImageType::DEPTH_2D, "depth_tx")
.image(1, RAYTRACE_RADIANCE_FORMAT, Qualifier::READ, ImageType::FLOAT_2D, "in_radiance_img")
.image(2, RAYTRACE_RADIANCE_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "out_radiance_img")
@ -181,7 +186,10 @@ GPU_SHADER_CREATE_INFO(eevee_ray_denoise_bilateral)
GPU_SHADER_CREATE_INFO(eevee_horizon_setup)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared", "eevee_gbuffer_data", "eevee_global_ubo", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("draw_view")
.sampler(0, ImageType::DEPTH_2D, "depth_tx")
.sampler(1, ImageType::FLOAT_2D, "in_radiance_tx")
.image(2, RAYTRACE_RADIANCE_FORMAT, Qualifier::WRITE, ImageType::FLOAT_2D, "out_radiance_img")
@ -191,13 +199,13 @@ GPU_SHADER_CREATE_INFO(eevee_horizon_setup)
GPU_SHADER_CREATE_INFO(eevee_horizon_scan)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_global_ubo",
"eevee_sampling_data",
"eevee_utility_texture",
"eevee_hiz_data",
"draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("eevee_utility_texture")
.additional_info("eevee_hiz_data")
.additional_info("draw_view")
.specialization_constant(Type::INT, "fast_gi_slice_count", 2)
.specialization_constant(Type::INT, "fast_gi_step_count", 8)
.specialization_constant(Type::BOOL, "fast_gi_ao_only", false)
@ -232,12 +240,12 @@ GPU_SHADER_CREATE_INFO(eevee_horizon_denoise)
GPU_SHADER_CREATE_INFO(eevee_horizon_resolve)
.do_static_compilation(true)
.local_group_size(RAYTRACE_GROUP_SIZE, RAYTRACE_GROUP_SIZE)
.additional_info("eevee_shared",
"eevee_gbuffer_data",
"eevee_global_ubo",
"eevee_sampling_data",
"eevee_lightprobe_data",
"draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_gbuffer_data")
.additional_info("eevee_global_ubo")
.additional_info("eevee_sampling_data")
.additional_info("eevee_lightprobe_data")
.additional_info("draw_view")
.sampler(1, ImageType::DEPTH_2D, "depth_tx")
.sampler(2, ImageType::FLOAT_2D, "horizon_radiance_0_tx")
.sampler(3, ImageType::FLOAT_2D, "horizon_radiance_1_tx")

View File

@ -8,7 +8,9 @@
/* Used for shaders that need the final accumulated volume transmittance and scattering. */
GPU_SHADER_CREATE_INFO(eevee_volume_lib)
.additional_info("eevee_shared", "eevee_global_ubo", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("draw_view")
.sampler(VOLUME_SCATTERING_TEX_SLOT, ImageType::FLOAT_3D, "volume_scattering_tx")
.sampler(VOLUME_TRANSMITTANCE_TEX_SLOT, ImageType::FLOAT_3D, "volume_transmittance_tx");
@ -65,7 +67,9 @@ GPU_SHADER_CREATE_INFO(eevee_volume_scatter_with_lights)
.do_static_compilation(true);
GPU_SHADER_CREATE_INFO(eevee_volume_occupancy_convert)
.additional_info("eevee_shared", "eevee_global_ubo", "draw_fullscreen")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("draw_fullscreen")
.builtins(BuiltinBits::TEXTURE_ATOMIC)
.image(VOLUME_HIT_DEPTH_SLOT, GPU_R32F, Qualifier::READ, ImageType::FLOAT_3D, "hit_depth_img")
.image(VOLUME_HIT_COUNT_SLOT,
@ -82,7 +86,9 @@ GPU_SHADER_CREATE_INFO(eevee_volume_occupancy_convert)
.do_static_compilation(true);
GPU_SHADER_CREATE_INFO(eevee_volume_integration)
.additional_info("eevee_shared", "eevee_global_ubo", "draw_view")
.additional_info("eevee_shared")
.additional_info("eevee_global_ubo")
.additional_info("draw_view")
.additional_info("eevee_sampling_data")
.compute_source("eevee_volume_integration_comp.glsl")
.local_group_size(VOLUME_INTEGRATION_GROUP_SIZE, VOLUME_INTEGRATION_GROUP_SIZE, 1)

View File

@ -17,7 +17,8 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_composite)
.do_static_compilation(true)
.define("COMPOSITE")
.push_constant(Type::BOOL, "isFirstPass")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_colorize)
.do_static_compilation(true)
@ -26,14 +27,16 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_colorize)
.push_constant(Type::VEC3, "highColor")
.push_constant(Type::FLOAT, "factor")
.push_constant(Type::INT, "mode")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_blur)
.do_static_compilation(true)
.define("BLUR")
.push_constant(Type::VEC2, "offset")
.push_constant(Type::INT, "sampCount")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_transform)
.do_static_compilation(true)
@ -45,7 +48,8 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_transform)
.push_constant(Type::VEC2, "swirlCenter")
.push_constant(Type::FLOAT, "swirlAngle")
.push_constant(Type::FLOAT, "swirlRadius")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_glow)
.do_static_compilation(true)
@ -57,7 +61,8 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_glow)
.push_constant(Type::BOOL, "firstPass")
.push_constant(Type::BOOL, "glowUnder")
.push_constant(Type::INT, "blendMode")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_rim)
.do_static_compilation(true)
@ -69,7 +74,8 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_rim)
.push_constant(Type::INT, "sampCount")
.push_constant(Type::INT, "blendMode")
.push_constant(Type::BOOL, "isFirstPass")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_shadow)
.do_static_compilation(true)
@ -84,7 +90,8 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_shadow)
.push_constant(Type::FLOAT, "wavePhase")
.push_constant(Type::INT, "sampCount")
.push_constant(Type::BOOL, "isFirstPass")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");
GPU_SHADER_CREATE_INFO(gpencil_fx_pixelize)
.do_static_compilation(true)
@ -93,4 +100,5 @@ GPU_SHADER_CREATE_INFO(gpencil_fx_pixelize)
.push_constant(Type::VEC2, "targetPixelOffset")
.push_constant(Type::VEC2, "accumOffset")
.push_constant(Type::INT, "sampCount")
.additional_info("gpencil_fx_common", "draw_fullscreen");
.additional_info("gpencil_fx_common")
.additional_info("draw_fullscreen");

View File

@ -12,7 +12,8 @@ GPU_SHADER_CREATE_INFO(overlay_antialiasing)
.push_constant(Type::BOOL, "doSmoothLines")
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_source("overlay_antialiasing_frag.glsl")
.additional_info("draw_fullscreen", "draw_globals");
.additional_info("draw_fullscreen")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_xray_fade)
.do_static_compilation(true)

View File

@ -29,11 +29,14 @@ GPU_SHADER_CREATE_INFO(overlay_armature_sphere_outline)
.vertex_out(overlay_armature_wire_iface)
.vertex_source("overlay_armature_sphere_outline_vert.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_sphere_outline_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_sphere_outline", "drw_clipped");
.additional_info("overlay_armature_sphere_outline")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_armature_sphere_solid_iface)
.flat(Type::VEC3, "finalStateColor")
@ -51,12 +54,15 @@ GPU_SHADER_CREATE_INFO(overlay_armature_sphere_solid)
.vertex_out(overlay_armature_sphere_solid_iface)
.vertex_source("overlay_armature_sphere_solid_vert.glsl")
.fragment_source("overlay_armature_sphere_solid_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals")
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals")
.depth_write(DepthWrite::ANY);
GPU_SHADER_CREATE_INFO(overlay_armature_sphere_solid_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_sphere_solid", "drw_clipped");
.additional_info("overlay_armature_sphere_solid")
.additional_info("drw_clipped");
/** \} */
@ -89,7 +95,9 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline)
.vertex_source("overlay_armature_shape_outline_vert.glsl")
.geometry_source("overlay_armature_shape_outline_geom.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline_no_geom)
.metal_backend_only(true)
@ -100,7 +108,9 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline_no_geom)
.vertex_out(overlay_armature_shape_outline_no_geom_iface)
.vertex_source("overlay_armature_shape_outline_vert_no_geom.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline_next)
.do_static_compilation(true)
@ -110,19 +120,21 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline_next)
.vertex_out(overlay_armature_shape_outline_no_geom_iface)
.vertex_source("overlay_armature_shape_outline_next_vert.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.additional_info("overlay_frag_output",
"overlay_armature_common",
"gpu_index_load",
"draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("gpu_index_load")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_shape_outline", "drw_clipped");
.additional_info("overlay_armature_shape_outline")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_armature_shape_outline_clipped_no_geom)
.metal_backend_only(true)
.do_static_compilation(true)
.additional_info("overlay_armature_shape_outline_no_geom", "drw_clipped");
.additional_info("overlay_armature_shape_outline_no_geom")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_armature_shape_solid_iface)
.smooth(Type::VEC4, "finalColor")
@ -138,11 +150,14 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_solid)
.vertex_out(overlay_armature_shape_solid_iface)
.vertex_source("overlay_armature_shape_solid_vert.glsl")
.fragment_source("overlay_armature_shape_solid_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_shape_solid_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_shape_solid", "drw_clipped");
.additional_info("overlay_armature_shape_solid")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_armature_shape_wire_next_iface)
.flat(Type::VEC4, "finalColor")
@ -175,11 +190,14 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_wire)
.geometry_source("overlay_armature_shape_wire_geom.glsl")
.fragment_source("overlay_armature_shape_wire_frag.glsl")
.typedef_source("overlay_shader_shared.h")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_shape_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_shape_wire", "drw_clipped");
.additional_info("overlay_armature_shape_wire")
.additional_info("drw_clipped");
#ifdef WITH_METAL_BACKEND
GPU_SHADER_CREATE_INFO(overlay_armature_shape_wire_no_geom)
@ -192,7 +210,9 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_wire_no_geom)
.vertex_source("overlay_armature_shape_wire_vert_no_geom.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.typedef_source("overlay_shader_shared.h")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
#endif
GPU_SHADER_CREATE_INFO(overlay_armature_shape_wire_next)
@ -207,10 +227,10 @@ GPU_SHADER_CREATE_INFO(overlay_armature_shape_wire_next)
.vertex_source("overlay_armature_shape_wire_next_vert.glsl")
.fragment_source("overlay_armature_shape_wire_frag.glsl")
.typedef_source("overlay_shader_shared.h")
.additional_info("overlay_frag_output",
"overlay_armature_common",
"gpu_index_load",
"draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("gpu_index_load")
.additional_info("draw_globals");
/** \} */
@ -232,11 +252,14 @@ GPU_SHADER_CREATE_INFO(overlay_armature_envelope_outline)
.vertex_out(overlay_armature_wire_iface)
.vertex_source("overlay_armature_envelope_outline_vert.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_envelope_outline_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_envelope_outline", "drw_clipped");
.additional_info("overlay_armature_envelope_outline")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_armature_envelope_solid_iface)
.flat(Type::VEC3, "finalStateColor")
@ -257,11 +280,13 @@ GPU_SHADER_CREATE_INFO(overlay_armature_envelope_solid)
.push_constant(Type::BOOL, "isDistance")
.vertex_source("overlay_armature_envelope_solid_vert.glsl")
.fragment_source("overlay_armature_envelope_solid_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common");
GPU_SHADER_CREATE_INFO(overlay_armature_envelope_solid_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_envelope_solid", "drw_clipped");
.additional_info("overlay_armature_envelope_solid")
.additional_info("drw_clipped");
/** \} */
@ -292,11 +317,14 @@ GPU_SHADER_CREATE_INFO(overlay_armature_stick)
.vertex_out(overlay_armature_stick_iface)
.vertex_source("overlay_armature_stick_vert.glsl")
.fragment_source("overlay_armature_stick_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_stick_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_stick", "drw_clipped");
.additional_info("overlay_armature_stick")
.additional_info("drw_clipped");
/** \} */
@ -314,11 +342,14 @@ GPU_SHADER_CREATE_INFO(overlay_armature_dof)
.vertex_out(overlay_armature_wire_iface)
.vertex_source("overlay_armature_dof_vert.glsl")
.fragment_source("overlay_armature_dof_solid_frag.glsl")
.additional_info("overlay_frag_output", "overlay_armature_common", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("overlay_armature_common")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_dof_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_dof", "drw_clipped");
.additional_info("overlay_armature_dof")
.additional_info("drw_clipped");
/** \} */
@ -335,10 +366,13 @@ GPU_SHADER_CREATE_INFO(overlay_armature_wire)
.vertex_out(overlay_armature_wire_iface)
.vertex_source("overlay_armature_wire_vert.glsl")
.fragment_source("overlay_armature_wire_frag.glsl")
.additional_info("overlay_frag_output", "draw_mesh", "draw_globals");
.additional_info("overlay_frag_output")
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_armature_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_armature_wire", "drw_clipped");
.additional_info("overlay_armature_wire")
.additional_info("drw_clipped");
/** \} */

View File

@ -13,7 +13,8 @@ GPU_SHADER_CREATE_INFO(overlay_background)
.push_constant(Type::VEC4, "colorOverride")
.fragment_source("overlay_background_frag.glsl")
.fragment_out(0, Type::VEC4, "fragColor")
.additional_info("draw_fullscreen", "draw_globals");
.additional_info("draw_fullscreen")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_clipbound)
.do_static_compilation(true)

View File

@ -51,7 +51,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_depth)
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_depth_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_depth", "drw_clipped");
.additional_info("overlay_edit_mesh_depth")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_edit_mesh_vert_iface)
.smooth(Type::VEC4, "finalColor")
@ -67,7 +68,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_vert)
.vertex_source("overlay_edit_mesh_vert.glsl")
.vertex_out(overlay_edit_mesh_vert_iface)
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_modelmat", "overlay_edit_mesh_common");
.additional_info("draw_modelmat")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_vert_next)
.do_static_compilation(true)
@ -79,10 +81,10 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_vert_next)
.vertex_source("overlay_edit_mesh_vertex_vert.glsl")
.vertex_out(overlay_edit_mesh_vert_iface)
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"overlay_edit_mesh_common");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_NAMED_INTERFACE_INFO(overlay_edit_mesh_edge_iface, geometry_in)
.smooth(Type::VEC4, "finalColor_")
@ -112,7 +114,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge)
.geometry_layout(PrimitiveIn::LINES, PrimitiveOut::TRIANGLE_STRIP, 4)
.geometry_source("overlay_edit_mesh_geom.glsl")
.fragment_source("overlay_edit_mesh_frag.glsl")
.additional_info("draw_modelmat", "overlay_edit_mesh_common");
.additional_info("draw_modelmat")
.additional_info("overlay_edit_mesh_common");
/* The Non-Geometry shader variant passes directly to fragment. */
#ifdef WITH_METAL_BACKEND
@ -128,7 +131,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_no_geom)
.vertex_out(overlay_edit_mesh_edge_geom_flat_iface)
.vertex_out(overlay_edit_mesh_edge_geom_noperspective_iface)
.fragment_source("overlay_edit_mesh_frag.glsl")
.additional_info("draw_modelmat", "overlay_edit_mesh_common_no_geom");
.additional_info("draw_modelmat")
.additional_info("overlay_edit_mesh_common_no_geom");
#endif
/* Vertex Pull version for overlay next. */
@ -148,11 +152,11 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_next)
.vertex_out(overlay_edit_mesh_edge_geom_noperspective_iface)
.vertex_source("overlay_edit_mesh_edge_vert.glsl")
.fragment_source("overlay_edit_mesh_frag.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"gpu_index_load",
"overlay_edit_mesh_common");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("gpu_index_load")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_flat)
.do_static_compilation(true)
@ -175,7 +179,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_face)
.vertex_source("overlay_edit_mesh_vert.glsl")
.vertex_out(overlay_edit_flat_color_iface)
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_modelmat", "overlay_edit_mesh_common");
.additional_info("draw_modelmat")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_face_next)
.do_static_compilation(true)
@ -186,10 +191,10 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_face_next)
.vertex_source("overlay_edit_mesh_face_vert.glsl")
.vertex_out(overlay_edit_flat_color_iface)
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"overlay_edit_mesh_common");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_facedot)
.do_static_compilation(true)
@ -201,7 +206,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_facedot)
.vertex_source("overlay_edit_mesh_vert.glsl")
.vertex_out(overlay_edit_flat_color_iface)
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_modelmat", "overlay_edit_mesh_common");
.additional_info("draw_modelmat")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_facedot_next)
.do_static_compilation(true)
@ -213,10 +219,10 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_facedot_next)
.vertex_source("overlay_edit_mesh_facedot_vert.glsl")
.vertex_out(overlay_edit_flat_color_iface)
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"overlay_edit_mesh_common");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("overlay_edit_mesh_common");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_normal)
.do_static_compilation(true)
@ -237,7 +243,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_normal)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_mesh_normal_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_modelmat_instanced_attr", "draw_globals");
.additional_info("draw_modelmat_instanced_attr")
.additional_info("draw_globals");
GPU_SHADER_INTERFACE_INFO(overlay_edit_mesh_analysis_iface).smooth(Type::VEC4, "weightColor");
@ -261,53 +268,64 @@ GPU_SHADER_CREATE_INFO(overlay_edit_mesh_skin_root)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_mesh_skin_root_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_modelmat_instanced_attr", "draw_globals");
.additional_info("draw_modelmat_instanced_attr")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_vert_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_vert", "drw_clipped");
.additional_info("overlay_edit_mesh_vert")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_edge", "drw_clipped");
.additional_info("overlay_edit_mesh_edge")
.additional_info("drw_clipped");
#ifdef WITH_METAL_BACKEND
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_clipped_no_geom)
.metal_backend_only(true)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_edge_no_geom", "drw_clipped");
.additional_info("overlay_edit_mesh_edge_no_geom")
.additional_info("drw_clipped");
#endif
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_flat_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_edge_flat", "drw_clipped");
.additional_info("overlay_edit_mesh_edge_flat")
.additional_info("drw_clipped");
#ifdef WITH_METAL_BACKEND
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_edge_flat_clipped_no_geom)
.metal_backend_only(true)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_edge_flat_no_geom", "drw_clipped");
.additional_info("overlay_edit_mesh_edge_flat_no_geom")
.additional_info("drw_clipped");
#endif
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_face_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_face", "drw_clipped");
.additional_info("overlay_edit_mesh_face")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_facedot_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_facedot", "drw_clipped");
.additional_info("overlay_edit_mesh_facedot")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_normal_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_normal", "drw_clipped");
.additional_info("overlay_edit_mesh_normal")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_analysis_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_analysis", "drw_clipped");
.additional_info("overlay_edit_mesh_analysis")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_mesh_skin_root_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_mesh_skin_root", "drw_clipped");
.additional_info("overlay_edit_mesh_skin_root")
.additional_info("drw_clipped");
/** \} */
@ -339,7 +357,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_uv_edges_common)
.push_constant(Type::FLOAT, "dashLength")
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_source("overlay_edit_uv_edges_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_uv_edges)
.additional_info("overlay_edit_uv_edges_common")
@ -391,11 +410,11 @@ GPU_SHADER_CREATE_INFO(overlay_edit_uv_edges_next)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_uv_edges_next_vert.glsl")
.fragment_source("overlay_edit_uv_edges_next_frag.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"gpu_index_load",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("gpu_index_load")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_uv_faces)
.do_static_compilation(true)
@ -406,7 +425,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_uv_faces)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_uv_faces_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_uv_face_dots)
.do_static_compilation(true)
@ -417,7 +437,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_uv_face_dots)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_uv_face_dots_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_INTERFACE_INFO(overlay_edit_uv_vert_iface)
.smooth(Type::VEC4, "fillColor")
@ -435,7 +456,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_uv_verts)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_uv_verts_vert.glsl")
.fragment_source("overlay_edit_uv_verts_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_uv_tiled_image_borders)
.do_static_compilation(true)
@ -493,14 +515,18 @@ GPU_SHADER_CREATE_INFO(overlay_edit_uv_stretching_area)
.do_static_compilation(true)
.vertex_in(1, Type::FLOAT, "ratio")
.push_constant(Type::FLOAT, "totalAreaRatio")
.additional_info("overlay_edit_uv_stretching", "draw_mesh", "draw_globals");
.additional_info("overlay_edit_uv_stretching")
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_uv_stretching_angle)
.do_static_compilation(true)
.define("STRETCH_ANGLE")
.vertex_in(1, Type::VEC2, "uv_angles")
.vertex_in(2, Type::FLOAT, "angle")
.additional_info("overlay_edit_uv_stretching", "draw_mesh", "draw_globals");
.additional_info("overlay_edit_uv_stretching")
.additional_info("draw_mesh")
.additional_info("draw_globals");
/** \} */
@ -524,7 +550,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle)
.vertex_source("overlay_edit_curve_handle_vert.glsl")
.geometry_source("overlay_edit_curve_handle_geom.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
#ifdef WITH_METAL_BACKEND
GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle_no_geom)
@ -541,7 +568,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle_no_geom)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_curve_handle_vert_no_geom.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
#endif
GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle_next)
@ -557,21 +585,23 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle_next)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_curve_handle_next_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"gpu_index_load",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("gpu_index_load")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_curve_handle", "drw_clipped");
.additional_info("overlay_edit_curve_handle")
.additional_info("drw_clipped");
#ifdef WITH_METAL_BACKEND
GPU_SHADER_CREATE_INFO(overlay_edit_curve_handle_clipped_no_geom)
.metal_backend_only(true)
.do_static_compilation(true)
.additional_info("overlay_edit_curve_handle_no_geom", "drw_clipped");
.additional_info("overlay_edit_curve_handle_no_geom")
.additional_info("drw_clipped");
#endif
GPU_SHADER_CREATE_INFO(overlay_edit_curve_point)
@ -585,11 +615,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curve_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_curve_point_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_curve_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_curve_point", "drw_clipped");
.additional_info("overlay_edit_curve_point")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_curve_wire)
.do_static_compilation(true)
@ -602,11 +634,14 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curve_wire)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_curve_wire_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_modelmat", "draw_resource_id_uniform", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_resource_id_uniform")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_curve_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_curve_wire", "drw_clipped");
.additional_info("overlay_edit_curve_wire")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_curve_normals)
.do_static_compilation(true)
@ -624,11 +659,11 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curve_normals)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_curve_wire_next_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"gpu_index_load",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("gpu_index_load")
.additional_info("draw_globals");
/** \} */
@ -651,11 +686,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_curves_handle)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_curves_handle_vert.glsl")
.fragment_source("overlay_edit_curves_handle_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_curves_handle_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_curves_handle", "drw_clipped");
.additional_info("overlay_edit_curves_handle")
.additional_info("drw_clipped");
/** \} */
@ -671,11 +708,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_lattice_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_lattice_point_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_lattice_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_lattice_point", "drw_clipped");
.additional_info("overlay_edit_lattice_point")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_lattice_wire)
.do_static_compilation(true)
@ -686,11 +725,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_lattice_wire)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_lattice_wire_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_lattice_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_lattice_wire", "drw_clipped");
.additional_info("overlay_edit_lattice_wire")
.additional_info("drw_clipped");
/** \} */
@ -709,11 +750,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_particle_strand)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_particle_strand_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_particle_strand_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_particle_strand", "drw_clipped");
.additional_info("overlay_edit_particle_strand")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_particle_point)
.do_static_compilation(true)
@ -726,11 +769,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_particle_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_particle_point_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_particle_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_particle_point", "drw_clipped");
.additional_info("overlay_edit_particle_point")
.additional_info("drw_clipped");
/** \} */
@ -754,7 +799,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_gpencil)
.sampler(0, ImageType::FLOAT_1D, "weightTex")
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_gpencil_vert.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_wire)
.do_static_compilation(true)
@ -764,7 +810,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_wire)
GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_gpencil_wire", "drw_clipped");
.additional_info("overlay_edit_gpencil_wire")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_point)
.do_static_compilation(true)
@ -775,7 +822,8 @@ GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_point)
GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_gpencil_point", "drw_clipped");
.additional_info("overlay_edit_gpencil_point")
.additional_info("drw_clipped");
/* TODO(fclem): Refactor this to take list of point instead of drawing 1 point per drawcall. */
GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_guide_point)
@ -789,11 +837,13 @@ GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_guide_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_edit_gpencil_guide_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_edit_gpencil_guide_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_edit_gpencil_guide_point", "drw_clipped");
.additional_info("overlay_edit_gpencil_guide_point")
.additional_info("drw_clipped");
/** \} */
@ -812,14 +862,18 @@ GPU_SHADER_CREATE_INFO(overlay_depth_only)
GPU_SHADER_CREATE_INFO(overlay_depth_only_clipped)
.do_static_compilation(true)
.additional_info("overlay_depth_only", "drw_clipped");
.additional_info("overlay_depth_only")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_depth_mesh)
.do_static_compilation(true)
.vertex_in(0, Type::VEC3, "pos")
.vertex_source("basic_depth_vert.glsl")
.fragment_source("overlay_depth_only_frag.glsl")
.additional_info("draw_globals", "draw_view", "draw_modelmat_new", "draw_resource_handle_new");
.additional_info("draw_globals")
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new");
GPU_SHADER_CREATE_INFO(overlay_depth_mesh_conservative)
.do_static_compilation(true)
@ -827,11 +881,11 @@ GPU_SHADER_CREATE_INFO(overlay_depth_mesh_conservative)
.push_constant(Type::IVEC2, "gpu_attr_0")
.vertex_source("overlay_depth_only_mesh_conservative_vert.glsl")
.fragment_source("overlay_depth_only_frag.glsl")
.additional_info("draw_globals",
"draw_view",
"draw_modelmat_new",
"gpu_index_load",
"draw_resource_handle_new");
.additional_info("draw_globals")
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("gpu_index_load")
.additional_info("draw_resource_handle_new");
GPU_SHADER_NAMED_INTERFACE_INFO(overlay_depth_only_gpencil_flat_iface, gp_interp_flat)
.flat(Type::VEC2, "aspect")
@ -851,32 +905,32 @@ GPU_SHADER_CREATE_INFO(overlay_depth_gpencil)
.depth_write(DepthWrite::ANY)
.push_constant(Type::BOOL, "gpStrokeOrder3d") /* TODO(fclem): Move to a GPencil object UBO. */
.push_constant(Type::VEC4, "gpDepthPlane") /* TODO(fclem): Move to a GPencil object UBO. */
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"draw_globals",
"draw_gpencil_new",
"draw_object_infos_new");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("draw_globals")
.additional_info("draw_gpencil_new")
.additional_info("draw_object_infos_new");
GPU_SHADER_CREATE_INFO(overlay_depth_pointcloud)
.do_static_compilation(true)
.vertex_source("basic_depth_pointcloud_vert.glsl")
.fragment_source("overlay_depth_only_frag.glsl")
.additional_info("draw_pointcloud_new",
"draw_globals",
"draw_view",
"draw_modelmat_new",
"draw_resource_handle_new");
.additional_info("draw_pointcloud_new")
.additional_info("draw_globals")
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new");
GPU_SHADER_CREATE_INFO(overlay_depth_curves)
.do_static_compilation(true)
.vertex_source("basic_depth_curves_vert.glsl")
.fragment_source("overlay_depth_only_frag.glsl")
.additional_info("draw_hair_new",
"draw_globals",
"draw_view",
"draw_modelmat_new",
"draw_resource_handle_new");
.additional_info("draw_hair_new")
.additional_info("draw_globals")
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new");
/** \} */
@ -903,10 +957,12 @@ GPU_SHADER_CREATE_INFO(overlay_uniform_color_pointcloud)
GPU_SHADER_CREATE_INFO(overlay_uniform_color_clipped)
.do_static_compilation(true)
.additional_info("overlay_uniform_color", "drw_clipped");
.additional_info("overlay_uniform_color")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_uniform_color_pointcloud_clipped)
.do_static_compilation(true)
.additional_info("overlay_uniform_color_pointcloud", "drw_clipped");
.additional_info("overlay_uniform_color_pointcloud")
.additional_info("drw_clipped");
/** \} */

View File

@ -26,7 +26,8 @@ GPU_SHADER_CREATE_INFO(overlay_extra)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_extra_vert.glsl")
.fragment_source("overlay_extra_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_extra_select)
.do_static_compilation(true)
@ -35,11 +36,13 @@ GPU_SHADER_CREATE_INFO(overlay_extra_select)
GPU_SHADER_CREATE_INFO(overlay_extra_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra", "drw_clipped");
.additional_info("overlay_extra")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_extra_select_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_select", "drw_clipped");
.additional_info("overlay_extra_select")
.additional_info("drw_clipped");
/** \} */
@ -58,11 +61,13 @@ GPU_SHADER_CREATE_INFO(overlay_extra_grid)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_extra_lightprobe_grid_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_extra_grid_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_grid", "drw_clipped");
.additional_info("overlay_extra_grid")
.additional_info("drw_clipped");
/** \} */
@ -80,11 +85,13 @@ GPU_SHADER_CREATE_INFO(overlay_extra_groundline)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_extra_groundline_vert.glsl")
.fragment_source("overlay_extra_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_extra_groundline_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_groundline", "drw_clipped");
.additional_info("overlay_extra_groundline")
.additional_info("drw_clipped");
/** \} */
@ -108,7 +115,8 @@ GPU_SHADER_CREATE_INFO(overlay_extra_wire)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_extra_wire_vert.glsl")
.fragment_source("overlay_extra_wire_frag.glsl")
.additional_info("draw_modelmat", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_extra_wire_select)
.do_static_compilation(true)
@ -122,15 +130,18 @@ GPU_SHADER_CREATE_INFO(overlay_extra_wire_object)
GPU_SHADER_CREATE_INFO(overlay_extra_wire_select_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_wire_select", "drw_clipped");
.additional_info("overlay_extra_wire_select")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_extra_wire_object_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_wire_object", "drw_clipped");
.additional_info("overlay_extra_wire_object")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_extra_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_wire", "drw_clipped");
.additional_info("overlay_extra_wire")
.additional_info("drw_clipped");
/** \} */
@ -153,11 +164,13 @@ GPU_SHADER_CREATE_INFO(overlay_extra_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_extra_point_vert.glsl")
.fragment_source("overlay_point_varying_color_varying_outline_aa_frag.glsl")
.additional_info("draw_modelmat", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_extra_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_point", "drw_clipped");
.additional_info("overlay_extra_point")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_extra_loose_point_iface).smooth(Type::VEC4, "finalColor");
@ -170,11 +183,13 @@ GPU_SHADER_CREATE_INFO(overlay_extra_loose_point)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_extra_loose_point_vert.glsl")
.fragment_source("overlay_extra_loose_point_frag.glsl")
.additional_info("draw_modelmat", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_extra_loose_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_extra_loose_point", "drw_clipped");
.additional_info("overlay_extra_loose_point")
.additional_info("drw_clipped");
/** \} */
@ -204,7 +219,8 @@ GPU_SHADER_CREATE_INFO(overlay_motion_path_line)
.vertex_source("overlay_motion_path_line_vert.glsl")
.geometry_source("overlay_motion_path_line_geom.glsl")
.fragment_source("overlay_motion_path_line_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_motion_path_line_no_geom)
.metal_backend_only(true)
@ -219,7 +235,8 @@ GPU_SHADER_CREATE_INFO(overlay_motion_path_line_no_geom)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_motion_path_line_vert_no_geom.glsl")
.fragment_source("overlay_motion_path_line_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_motion_path_line_next)
.do_static_compilation(true)
@ -235,16 +252,20 @@ GPU_SHADER_CREATE_INFO(overlay_motion_path_line_next)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_motion_path_line_next_vert.glsl")
.fragment_source("overlay_motion_path_line_frag.glsl")
.additional_info("draw_view", "gpu_index_load", "draw_globals");
.additional_info("draw_view")
.additional_info("gpu_index_load")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_motion_path_line_clipped)
.do_static_compilation(true)
.additional_info("overlay_motion_path_line", "drw_clipped");
.additional_info("overlay_motion_path_line")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_motion_path_line_clipped_no_geom)
.metal_backend_only(true)
.do_static_compilation(true)
.additional_info("overlay_motion_path_line_no_geom", "drw_clipped");
.additional_info("overlay_motion_path_line_no_geom")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_motion_path_point_iface).flat(Type::VEC4, "finalColor");
@ -262,11 +283,13 @@ GPU_SHADER_CREATE_INFO(overlay_motion_path_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_motion_path_point_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_motion_path_point_clipped)
.do_static_compilation(true)
.additional_info("overlay_motion_path_point", "drw_clipped");
.additional_info("overlay_motion_path_point")
.additional_info("drw_clipped");
/** \} */
@ -293,7 +316,8 @@ GPU_SHADER_CREATE_INFO(overlay_image)
GPU_SHADER_CREATE_INFO(overlay_image_clipped)
.do_static_compilation(true)
.additional_info("overlay_image", "drw_clipped");
.additional_info("overlay_image")
.additional_info("drw_clipped");
/** \} */
@ -313,11 +337,13 @@ GPU_SHADER_CREATE_INFO(overlay_gpencil_canvas)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_edit_gpencil_canvas_vert.glsl")
.fragment_source("overlay_extra_frag.glsl")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_gpencil_canvas_clipped)
.do_static_compilation(true)
.additional_info("overlay_gpencil_canvas", "drw_clipped");
.additional_info("overlay_gpencil_canvas")
.additional_info("drw_clipped");
/** \} */
@ -345,11 +371,13 @@ GPU_SHADER_CREATE_INFO(overlay_particle_dot)
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_out(1, Type::VEC4, "lineOutput")
.fragment_source("overlay_particle_frag.glsl")
.additional_info("overlay_particle", "draw_mesh");
.additional_info("overlay_particle")
.additional_info("draw_mesh");
GPU_SHADER_CREATE_INFO(overlay_particle_dot_clipped)
.do_static_compilation(true)
.additional_info("overlay_particle_dot", "drw_clipped");
.additional_info("overlay_particle_dot")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_particle_shape)
.do_static_compilation(true)
@ -358,7 +386,9 @@ GPU_SHADER_CREATE_INFO(overlay_particle_shape)
.vertex_in(4, Type::INT, "vclass")
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_source("overlay_varying_color.glsl")
.additional_info("overlay_particle", "draw_modelmat", "draw_resource_id_uniform");
.additional_info("overlay_particle")
.additional_info("draw_modelmat")
.additional_info("draw_resource_id_uniform");
GPU_SHADER_CREATE_INFO(overlay_particle_shape_next)
.do_static_compilation(true)
@ -373,7 +403,10 @@ GPU_SHADER_CREATE_INFO(overlay_particle_shape_next)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_particle_shape_vert.glsl")
.fragment_source("overlay_particle_shape_frag.glsl")
.additional_info("draw_view", "draw_modelmat_new", "draw_resource_handle_new", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_particle_hair_next)
.do_static_compilation(true)
@ -388,14 +421,15 @@ GPU_SHADER_CREATE_INFO(overlay_particle_hair_next)
.fragment_out(1, Type::VEC4, "lineOutput")
.vertex_source("overlay_particle_hair_vert.glsl")
.fragment_source("overlay_particle_shape_frag.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_object_infos_new",
"draw_resource_handle_new",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_handle_new")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_particle_shape_clipped)
.do_static_compilation(true)
.additional_info("overlay_particle_shape", "drw_clipped");
.additional_info("overlay_particle_shape")
.additional_info("drw_clipped");
/** \} */

View File

@ -10,8 +10,10 @@ GPU_SHADER_CREATE_INFO(overlay_facing)
.vertex_source("overlay_facing_vert.glsl")
.fragment_source("overlay_facing_frag.glsl")
.fragment_out(0, Type::VEC4, "fragColor")
.additional_info("draw_mesh", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_facing_clipped)
.do_static_compilation(true)
.additional_info("overlay_facing", "drw_clipped");
.additional_info("overlay_facing")
.additional_info("drw_clipped");

View File

@ -19,7 +19,8 @@ GPU_SHADER_CREATE_INFO(overlay_grid)
.push_constant(Type::INT, "grid_flag")
.vertex_source("overlay_grid_vert.glsl")
.fragment_source("overlay_grid_frag.glsl")
.additional_info("draw_view", "draw_globals");
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_grid_background)
.do_static_compilation(true)

View File

@ -22,31 +22,37 @@ GPU_SHADER_CREATE_INFO(overlay_outline_prepass_mesh)
.do_static_compilation(true)
.vertex_in(0, Type::VEC3, "pos")
.vertex_source("overlay_outline_prepass_vert.glsl")
.additional_info("draw_mesh", "draw_resource_handle", "overlay_outline_prepass")
.additional_info("draw_mesh")
.additional_info("draw_resource_handle")
.additional_info("overlay_outline_prepass")
.additional_info("draw_object_infos");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_mesh_clipped)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass_mesh", "drw_clipped");
.additional_info("overlay_outline_prepass_mesh")
.additional_info("drw_clipped");
GPU_SHADER_NAMED_INTERFACE_INFO(overlay_outline_prepass_wire_iface, vert).flat(Type::VEC3, "pos");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_curves)
.do_static_compilation(true)
.vertex_source("overlay_outline_prepass_curves_vert.glsl")
.additional_info("draw_hair", "draw_resource_handle", "overlay_outline_prepass")
.additional_info("draw_hair")
.additional_info("draw_resource_handle")
.additional_info("overlay_outline_prepass")
.additional_info("draw_object_infos");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_curves_clipped)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass_curves", "drw_clipped");
.additional_info("overlay_outline_prepass_curves")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_wire)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass",
"draw_object_infos",
"draw_mesh",
"draw_resource_handle")
.additional_info("overlay_outline_prepass")
.additional_info("draw_object_infos")
.additional_info("draw_mesh")
.additional_info("draw_resource_handle")
.vertex_in(0, Type::VEC3, "pos")
.define("USE_GEOM")
.vertex_out(overlay_outline_prepass_wire_iface)
@ -57,12 +63,12 @@ GPU_SHADER_CREATE_INFO(overlay_outline_prepass_wire)
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_wire_next)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass",
"draw_view",
"draw_mesh_new",
"draw_object_infos_new",
"draw_resource_handle_new",
"gpu_index_load")
.additional_info("overlay_outline_prepass")
.additional_info("draw_view")
.additional_info("draw_mesh_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_resource_handle_new")
.additional_info("gpu_index_load")
.storage_buf(0, Qualifier::READ, "float", "pos[]", Frequency::GEOMETRY)
.push_constant(Type::IVEC2, "gpu_attr_0")
.vertex_source("overlay_outline_prepass_wire_vert.glsl");
@ -71,15 +77,16 @@ GPU_SHADER_CREATE_INFO(overlay_outline_prepass_wire_no_geom)
.metal_backend_only(true)
.do_static_compilation(true)
.vertex_in(0, Type::VEC3, "pos")
.additional_info("overlay_outline_prepass",
"draw_object_infos",
"draw_mesh",
"draw_resource_handle")
.additional_info("overlay_outline_prepass")
.additional_info("draw_object_infos")
.additional_info("draw_mesh")
.additional_info("draw_resource_handle")
.vertex_source("overlay_outline_prepass_vert_no_geom.glsl");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_wire_clipped)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass_wire", "drw_clipped");
.additional_info("overlay_outline_prepass_wire")
.additional_info("drw_clipped");
GPU_SHADER_NAMED_INTERFACE_INFO(overlay_outline_prepass_gpencil_flat_iface, gp_interp_flat)
.flat(Type::VEC2, "aspect")
@ -102,21 +109,27 @@ GPU_SHADER_CREATE_INFO(overlay_outline_prepass_gpencil)
.fragment_out(0, Type::UINT, "out_object_id")
.fragment_source("overlay_outline_prepass_gpencil_frag.glsl")
.depth_write(DepthWrite::ANY)
.additional_info("draw_gpencil", "draw_resource_handle", "draw_globals");
.additional_info("draw_gpencil")
.additional_info("draw_resource_handle")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_gpencil_clipped)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass_gpencil", "drw_clipped");
.additional_info("overlay_outline_prepass_gpencil")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_pointcloud)
.do_static_compilation(true)
.vertex_source("overlay_outline_prepass_pointcloud_vert.glsl")
.additional_info("draw_pointcloud", "draw_resource_handle", "overlay_outline_prepass")
.additional_info("draw_pointcloud")
.additional_info("draw_resource_handle")
.additional_info("overlay_outline_prepass")
.additional_info("draw_object_infos");
GPU_SHADER_CREATE_INFO(overlay_outline_prepass_pointcloud_clipped)
.do_static_compilation(true)
.additional_info("overlay_outline_prepass_pointcloud", "drw_clipped");
.additional_info("overlay_outline_prepass_pointcloud")
.additional_info("drw_clipped");
/** \} */
@ -136,6 +149,8 @@ GPU_SHADER_CREATE_INFO(overlay_outline_detect)
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_out(1, Type::VEC4, "lineOutput")
.fragment_source("overlay_outline_detect_frag.glsl")
.additional_info("draw_fullscreen", "draw_view", "draw_globals");
.additional_info("draw_fullscreen")
.additional_info("draw_view")
.additional_info("draw_globals");
/** \} */

View File

@ -43,7 +43,8 @@ GPU_SHADER_CREATE_INFO(overlay_paint_point)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_paint_point_vert.glsl")
.fragment_source("overlay_point_varying_color_frag.glsl")
.additional_info("draw_modelmat", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_paint_point_clipped)
.additional_info("overlay_paint_point")
@ -132,7 +133,8 @@ GPU_SHADER_CREATE_INFO(overlay_paint_weight)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_paint_weight_vert.glsl")
.fragment_source("overlay_paint_weight_frag.glsl")
.additional_info("draw_modelmat", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_paint_weight_fake_shading)
.additional_info("overlay_paint_weight")
@ -170,7 +172,8 @@ GPU_SHADER_CREATE_INFO(overlay_paint_wire)
.fragment_out(0, Type::VEC4, "fragColor")
.vertex_source("overlay_paint_wire_vert.glsl")
.fragment_source("overlay_varying_color.glsl")
.additional_info("draw_modelmat", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_paint_wire_clipped)
.additional_info("overlay_paint_vertcol")

View File

@ -16,11 +16,13 @@ GPU_SHADER_CREATE_INFO(overlay_sculpt_curves_selection)
.vertex_source("overlay_sculpt_curves_selection_vert.glsl")
.fragment_source("overlay_sculpt_curves_selection_frag.glsl")
.fragment_out(0, Type::VEC4, "out_color")
.additional_info("draw_hair", "draw_globals");
.additional_info("draw_hair")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_sculpt_curves_selection_clipped)
.do_static_compilation(true)
.additional_info("overlay_sculpt_curves_selection", "drw_clipped");
.additional_info("overlay_sculpt_curves_selection")
.additional_info("drw_clipped");
GPU_SHADER_INTERFACE_INFO(overlay_sculpt_curves_cage_iface)
.no_perspective(Type::VEC2, "edgePos")
@ -37,8 +39,11 @@ GPU_SHADER_CREATE_INFO(overlay_sculpt_curves_cage)
.push_constant(Type::FLOAT, "opacity")
.vertex_source("overlay_sculpt_curves_cage_vert.glsl")
.fragment_source("overlay_extra_frag.glsl")
.additional_info("draw_modelmat", "draw_view", "draw_globals");
.additional_info("draw_modelmat")
.additional_info("draw_view")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_sculpt_curves_cage_clipped)
.do_static_compilation(true)
.additional_info("overlay_sculpt_curves_cage", "drw_clipped");
.additional_info("overlay_sculpt_curves_cage")
.additional_info("drw_clipped");

View File

@ -20,8 +20,11 @@ GPU_SHADER_CREATE_INFO(overlay_sculpt_mask)
.vertex_source("overlay_sculpt_mask_vert.glsl")
.fragment_source("overlay_sculpt_mask_frag.glsl")
.fragment_out(0, Type::VEC4, "fragColor")
.additional_info("draw_mesh", "draw_object_infos", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_object_infos")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_sculpt_mask_clipped)
.do_static_compilation(true)
.additional_info("overlay_sculpt_mask", "drw_clipped");
.additional_info("overlay_sculpt_mask")
.additional_info("drw_clipped");

View File

@ -17,11 +17,13 @@ GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_mesh)
.vertex_in(0, Type::VEC3, "pos")
.vertex_in(1, Type::VEC4, "attribute_value")
.vertex_out(overlay_viewer_attribute_iface)
.additional_info("overlay_viewer_attribute_common", "draw_mesh");
.additional_info("overlay_viewer_attribute_common")
.additional_info("draw_mesh");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_mesh_clipped)
.do_static_compilation(true)
.additional_info("overlay_viewer_attribute_mesh", "drw_clipped");
.additional_info("overlay_viewer_attribute_mesh")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_pointcloud)
.do_static_compilation(true)
@ -31,11 +33,13 @@ GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_pointcloud)
.fragment_out(1, Type::VEC4, "lineOutput")
.sampler(3, ImageType::FLOAT_BUFFER, "attribute_tx")
.vertex_out(overlay_viewer_attribute_iface)
.additional_info("overlay_viewer_attribute_common", "draw_pointcloud");
.additional_info("overlay_viewer_attribute_common")
.additional_info("draw_pointcloud");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_pointcloud_clipped)
.do_static_compilation(true)
.additional_info("overlay_viewer_attribute_pointcloud", "drw_clipped");
.additional_info("overlay_viewer_attribute_pointcloud")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curve)
.do_static_compilation(true)
@ -46,11 +50,14 @@ GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curve)
.vertex_in(0, Type::VEC3, "pos")
.vertex_in(1, Type::VEC4, "attribute_value")
.vertex_out(overlay_viewer_attribute_iface)
.additional_info("overlay_viewer_attribute_common", "draw_modelmat", "draw_resource_id");
.additional_info("overlay_viewer_attribute_common")
.additional_info("draw_modelmat")
.additional_info("draw_resource_id");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curve_clipped)
.do_static_compilation(true)
.additional_info("overlay_viewer_attribute_curve", "drw_clipped");
.additional_info("overlay_viewer_attribute_curve")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curves)
.do_static_compilation(true)
@ -61,8 +68,10 @@ GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curves)
.sampler(0, ImageType::FLOAT_BUFFER, "color_tx")
.push_constant(Type::BOOL, "is_point_domain")
.vertex_out(overlay_viewer_attribute_iface)
.additional_info("overlay_viewer_attribute_common", "draw_hair");
.additional_info("overlay_viewer_attribute_common")
.additional_info("draw_hair");
GPU_SHADER_CREATE_INFO(overlay_viewer_attribute_curves_clipped)
.do_static_compilation(true)
.additional_info("overlay_viewer_attribute_curves", "drw_clipped");
.additional_info("overlay_viewer_attribute_curves")
.additional_info("drw_clipped");

View File

@ -33,7 +33,8 @@ GPU_SHADER_CREATE_INFO(overlay_volume_velocity)
GPU_SHADER_CREATE_INFO(overlay_volume_velocity_streamline)
.do_static_compilation(true)
.additional_info("draw_volume", "overlay_volume_velocity");
.additional_info("draw_volume")
.additional_info("overlay_volume_velocity");
GPU_SHADER_CREATE_INFO(overlay_volume_velocity_mac)
.do_static_compilation(true)
@ -41,12 +42,14 @@ GPU_SHADER_CREATE_INFO(overlay_volume_velocity_mac)
.push_constant(Type::BOOL, "drawMACX")
.push_constant(Type::BOOL, "drawMACY")
.push_constant(Type::BOOL, "drawMACZ")
.additional_info("draw_volume", "overlay_volume_velocity");
.additional_info("draw_volume")
.additional_info("overlay_volume_velocity");
GPU_SHADER_CREATE_INFO(overlay_volume_velocity_needle)
.do_static_compilation(true)
.define("USE_NEEDLE")
.additional_info("draw_volume", "overlay_volume_velocity");
.additional_info("draw_volume")
.additional_info("overlay_volume_velocity");
/** \} */
@ -75,13 +78,15 @@ GPU_SHADER_CREATE_INFO(overlay_volume_gridlines)
GPU_SHADER_CREATE_INFO(overlay_volume_gridlines_flat)
.do_static_compilation(true)
.additional_info("draw_volume", "overlay_volume_gridlines");
.additional_info("draw_volume")
.additional_info("overlay_volume_gridlines");
GPU_SHADER_CREATE_INFO(overlay_volume_gridlines_flags)
.do_static_compilation(true)
.define("SHOW_FLAGS")
.sampler(0, ImageType::UINT_3D, "flagTexture")
.additional_info("draw_volume", "overlay_volume_gridlines");
.additional_info("draw_volume")
.additional_info("overlay_volume_gridlines");
GPU_SHADER_CREATE_INFO(overlay_volume_gridlines_range)
.do_static_compilation(true)
@ -92,6 +97,7 @@ GPU_SHADER_CREATE_INFO(overlay_volume_gridlines_range)
.push_constant(Type::INT, "cellFilter")
.sampler(0, ImageType::UINT_3D, "flagTexture")
.sampler(1, ImageType::FLOAT_3D, "fieldTexture")
.additional_info("draw_volume", "overlay_volume_gridlines");
.additional_info("draw_volume")
.additional_info("overlay_volume_gridlines");
/** \} */

View File

@ -29,7 +29,9 @@ GPU_SHADER_CREATE_INFO(overlay_wireframe)
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_out(1, Type::VEC4, "lineOutput")
.depth_write(DepthWrite::ANY)
.additional_info("draw_mesh", "draw_object_infos", "draw_globals");
.additional_info("draw_mesh")
.additional_info("draw_object_infos")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_wireframe_curve)
.do_static_compilation(true)
@ -44,11 +46,11 @@ GPU_SHADER_CREATE_INFO(overlay_wireframe_curve)
.fragment_source("overlay_wireframe_frag.glsl")
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_out(1, Type::VEC4, "lineOutput")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"draw_object_infos_new",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_globals");
GPU_SHADER_INTERFACE_INFO(overlay_wireframe_points_iface)
.flat(Type::VEC4, "finalColor")
@ -66,15 +68,16 @@ GPU_SHADER_CREATE_INFO(overlay_wireframe_points)
.fragment_source("overlay_wireframe_frag.glsl")
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_out(1, Type::VEC4, "lineOutput")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"draw_object_infos_new",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("draw_object_infos_new")
.additional_info("draw_globals");
GPU_SHADER_CREATE_INFO(overlay_wireframe_clipped)
.do_static_compilation(true)
.additional_info("overlay_wireframe", "drw_clipped");
.additional_info("overlay_wireframe")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_wireframe_custom_depth)
.do_static_compilation(true)
@ -83,7 +86,8 @@ GPU_SHADER_CREATE_INFO(overlay_wireframe_custom_depth)
GPU_SHADER_CREATE_INFO(overlay_wireframe_custom_depth_clipped)
.do_static_compilation(true)
.additional_info("overlay_wireframe_custom_depth", "drw_clipped");
.additional_info("overlay_wireframe_custom_depth")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_wireframe_select)
.do_static_compilation(true)
@ -92,7 +96,8 @@ GPU_SHADER_CREATE_INFO(overlay_wireframe_select)
GPU_SHADER_CREATE_INFO(overlay_wireframe_select_clipped)
.do_static_compilation(true)
.additional_info("overlay_wireframe_select", "drw_clipped");
.additional_info("overlay_wireframe_select")
.additional_info("drw_clipped");
GPU_SHADER_CREATE_INFO(overlay_wireframe_uv)
.do_static_compilation(true)
@ -109,8 +114,8 @@ GPU_SHADER_CREATE_INFO(overlay_wireframe_uv)
/* Note: Reuse edit mode shader as it is mostly the same. */
.vertex_source("overlay_edit_uv_edges_next_vert.glsl")
.fragment_source("overlay_edit_uv_edges_next_frag.glsl")
.additional_info("draw_view",
"draw_modelmat_new",
"draw_resource_handle_new",
"gpu_index_load",
"draw_globals");
.additional_info("draw_view")
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new")
.additional_info("gpu_index_load")
.additional_info("draw_globals");

View File

@ -18,7 +18,8 @@ GPU_SHADER_CREATE_INFO(workbench_composite)
.push_constant(Type::BOOL, "forceShadowing")
.fragment_out(0, Type::VEC4, "fragColor")
.fragment_source("workbench_composite_frag.glsl")
.additional_info("draw_fullscreen", "draw_view");
.additional_info("draw_fullscreen")
.additional_info("draw_view");
/* Lighting */

View File

@ -15,22 +15,23 @@ GPU_SHADER_CREATE_INFO(workbench_mesh)
.vertex_in(2, Type::VEC4, "ac")
.vertex_in(3, Type::VEC2, "au")
.vertex_source("workbench_prepass_vert.glsl")
.additional_info("draw_modelmat_new_with_custom_id", "draw_resource_handle_new");
.additional_info("draw_modelmat_new_with_custom_id")
.additional_info("draw_resource_handle_new");
GPU_SHADER_CREATE_INFO(workbench_curves)
.sampler(WB_CURVES_COLOR_SLOT, ImageType::FLOAT_BUFFER, "ac", Frequency::BATCH)
.sampler(WB_CURVES_UV_SLOT, ImageType::FLOAT_BUFFER, "au", Frequency::BATCH)
.push_constant(Type::INT, "emitter_object_id")
.vertex_source("workbench_prepass_hair_vert.glsl")
.additional_info("draw_modelmat_new_with_custom_id",
"draw_resource_handle_new",
"draw_hair_new");
.additional_info("draw_modelmat_new_with_custom_id")
.additional_info("draw_resource_handle_new")
.additional_info("draw_hair_new");
GPU_SHADER_CREATE_INFO(workbench_pointcloud)
.vertex_source("workbench_prepass_pointcloud_vert.glsl")
.additional_info("draw_modelmat_new_with_custom_id",
"draw_resource_handle_new",
"draw_pointcloud_new");
.additional_info("draw_modelmat_new_with_custom_id")
.additional_info("draw_resource_handle_new")
.additional_info("draw_pointcloud_new");
/** \} */

View File

@ -33,7 +33,8 @@ GPU_SHADER_CREATE_INFO(workbench_shadow_visibility_compute_common)
.push_constant(Type::VEC3, "shadow_direction")
.typedef_source("workbench_shader_shared.h")
.compute_source("workbench_shadow_visibility_comp.glsl")
.additional_info("draw_view", "draw_view_culling");
.additional_info("draw_view")
.additional_info("draw_view_culling");
GPU_SHADER_CREATE_INFO(workbench_shadow_visibility_compute_dynamic_pass_type)
.additional_info("workbench_shadow_visibility_compute_common")

View File

@ -24,7 +24,9 @@ GPU_SHADER_CREATE_INFO(workbench_volume_common)
GPU_SHADER_CREATE_INFO(workbench_volume)
.define("WORKBENCH_NEXT")
.sampler(6, ImageType::UINT_2D, "stencil_tx")
.additional_info("workbench_volume_common", "draw_object_infos_new", "draw_view");
.additional_info("workbench_volume_common")
.additional_info("draw_object_infos_new")
.additional_info("draw_view");
/** \} */
/* -------------------------------------------------------------------- */
@ -45,10 +47,12 @@ GPU_SHADER_CREATE_INFO(workbench_volume_object_common)
.additional_info("draw_resource_id_varying");
GPU_SHADER_CREATE_INFO(workbench_volume_smoke)
.additional_info("workbench_volume_smoke_common", "draw_modelmat_new");
.additional_info("workbench_volume_smoke_common")
.additional_info("draw_modelmat_new");
GPU_SHADER_CREATE_INFO(workbench_volume_object)
.additional_info("workbench_volume_object_common", "draw_volume_new");
.additional_info("workbench_volume_object_common")
.additional_info("draw_volume_new");
/** \} */

View File

@ -105,9 +105,13 @@ GPU_SHADER_CREATE_INFO(draw_globals)
/** \name Geometry Type
* \{ */
GPU_SHADER_CREATE_INFO(draw_mesh).additional_info("draw_modelmat", "draw_resource_id");
GPU_SHADER_CREATE_INFO(draw_mesh)
.additional_info("draw_modelmat")
.additional_info("draw_resource_id");
GPU_SHADER_CREATE_INFO(draw_mesh_new).additional_info("draw_modelmat_new", "draw_resource_id");
GPU_SHADER_CREATE_INFO(draw_mesh_new)
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_id");
GPU_SHADER_CREATE_INFO(draw_hair)
.define("HAIR_SHADER")
@ -122,7 +126,8 @@ GPU_SHADER_CREATE_INFO(draw_hair)
.push_constant(Type::BOOL, "hairCloseTip")
.push_constant(Type::INT, "hairStrandOffset")
.push_constant(Type::MAT4, "hairDupliMatrix")
.additional_info("draw_modelmat", "draw_resource_id");
.additional_info("draw_modelmat")
.additional_info("draw_resource_id");
GPU_SHADER_CREATE_INFO(draw_hair_new)
.define("HAIR_SHADER")
@ -142,17 +147,21 @@ GPU_SHADER_CREATE_INFO(draw_pointcloud)
.sampler(0, ImageType::FLOAT_BUFFER, "ptcloud_pos_rad_tx", Frequency::BATCH)
.define("POINTCLOUD_SHADER")
.define("DRW_POINTCLOUD_INFO")
.additional_info("draw_modelmat_instanced_attr", "draw_resource_id_uniform");
.additional_info("draw_modelmat_instanced_attr")
.additional_info("draw_resource_id_uniform");
GPU_SHADER_CREATE_INFO(draw_pointcloud_new)
.sampler(0, ImageType::FLOAT_BUFFER, "ptcloud_pos_rad_tx", Frequency::BATCH)
.define("POINTCLOUD_SHADER")
.define("DRW_POINTCLOUD_INFO");
GPU_SHADER_CREATE_INFO(draw_volume).additional_info("draw_modelmat", "draw_resource_id_uniform");
GPU_SHADER_CREATE_INFO(draw_volume)
.additional_info("draw_modelmat")
.additional_info("draw_resource_id_uniform");
GPU_SHADER_CREATE_INFO(draw_volume_new)
.additional_info("draw_modelmat_new", "draw_resource_handle_new");
.additional_info("draw_modelmat_new")
.additional_info("draw_resource_handle_new");
GPU_SHADER_CREATE_INFO(draw_gpencil)
.typedef_source("gpencil_shader_shared.h")
@ -165,7 +174,8 @@ GPU_SHADER_CREATE_INFO(draw_gpencil)
.define("gpThicknessIsScreenSpace", "(gpThicknessWorldScale < 0.0)")
/* Per Layer */
.push_constant(Type::FLOAT, "gpThicknessOffset")
.additional_info("draw_modelmat", "draw_object_infos");
.additional_info("draw_modelmat")
.additional_info("draw_object_infos");
GPU_SHADER_CREATE_INFO(draw_gpencil_new)
.typedef_source("gpencil_shader_shared.h")
@ -178,7 +188,9 @@ GPU_SHADER_CREATE_INFO(draw_gpencil_new)
.define("gpThicknessIsScreenSpace", "(gpThicknessWorldScale < 0.0)")
/* Per Layer */
.push_constant(Type::FLOAT, "gpThicknessOffset")
.additional_info("draw_resource_id_varying", "draw_view", "draw_object_infos_new");
.additional_info("draw_resource_id_varying")
.additional_info("draw_view")
.additional_info("draw_object_infos_new");
/** \} */
@ -215,7 +227,8 @@ GPU_SHADER_CREATE_INFO(draw_visibility_compute)
.push_constant(Type::INT, "view_len")
.push_constant(Type::INT, "visibility_word_per_draw")
.compute_source("draw_visibility_comp.glsl")
.additional_info("draw_view", "draw_view_culling");
.additional_info("draw_view")
.additional_info("draw_view_culling");
GPU_SHADER_CREATE_INFO(draw_command_generate)
.do_static_compilation(true)
@ -288,9 +301,11 @@ GPU_SHADER_CREATE_INFO(draw_modelmat_new_common)
.define("ModelMatrix", "drw_ModelMatrix");
GPU_SHADER_CREATE_INFO(draw_modelmat_new)
.additional_info("draw_modelmat_new_common", "draw_resource_id_new");
.additional_info("draw_modelmat_new_common")
.additional_info("draw_resource_id_new");
GPU_SHADER_CREATE_INFO(draw_modelmat_new_with_custom_id)
.additional_info("draw_modelmat_new_common", "draw_resource_with_custom_id_new");
.additional_info("draw_modelmat_new_common")
.additional_info("draw_resource_with_custom_id_new");
/** \} */