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

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/draw/engines/workbench/workbench_shader.c')
-rw-r--r--source/blender/draw/engines/workbench/workbench_shader.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_shader.c b/source/blender/draw/engines/workbench/workbench_shader.c
index 9cc5087bd36..af3b5d31b2b 100644
--- a/source/blender/draw/engines/workbench/workbench_shader.c
+++ b/source/blender/draw/engines/workbench/workbench_shader.c
@@ -380,24 +380,26 @@ void workbench_shader_depth_of_field_get(GPUShader **prepare_sh,
GPUShader **resolve_sh)
{
if (e_data.dof_prepare_sh == NULL) {
- char *frag = BLI_string_joinN(datatoc_common_view_lib_glsl,
- datatoc_workbench_effect_dof_frag_glsl);
- e_data.dof_prepare_sh = DRW_shader_create_fullscreen(frag, "#define PREPARE\n");
- e_data.dof_downsample_sh = DRW_shader_create_fullscreen(frag, "#define DOWNSAMPLE\n");
+ e_data.dof_prepare_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define PREPARE\n");
+ e_data.dof_downsample_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define DOWNSAMPLE\n");
#if 0 /* TODO(fclem) finish COC min_max optimization */
- e_data.dof_flatten_v_sh = DRW_shader_create_fullscreen(frag,
- "#define FLATTEN_VERTICAL\n");
- e_data.dof_flatten_h_sh = DRW_shader_create_fullscreen(frag,
- "#define FLATTEN_HORIZONTAL\n");
- e_data.dof_dilate_v_sh = DRW_shader_create_fullscreen(frag,
- "#define DILATE_VERTICAL\n");
- e_data.dof_dilate_h_sh = DRW_shader_create_fullscreen(frag,
- "#define DILATE_HORIZONTAL\n");
+ e_data.dof_flatten_v_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define FLATTEN_VERTICAL\n");
+ e_data.dof_flatten_h_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define FLATTEN_HORIZONTAL\n");
+ e_data.dof_dilate_v_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define DILATE_VERTICAL\n");
+ e_data.dof_dilate_h_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define DILATE_HORIZONTAL\n");
#endif
- e_data.dof_blur1_sh = DRW_shader_create_fullscreen(frag, "#define BLUR1\n");
- e_data.dof_blur2_sh = DRW_shader_create_fullscreen(frag, "#define BLUR2\n");
- e_data.dof_resolve_sh = DRW_shader_create_fullscreen(frag, "#define RESOLVE\n");
- MEM_freeN(frag);
+ e_data.dof_blur1_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define BLUR1\n");
+ e_data.dof_blur2_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define BLUR2\n");
+ e_data.dof_resolve_sh = DRW_shader_create_fullscreen_with_shaderlib(
+ datatoc_workbench_effect_dof_frag_glsl, e_data.lib, "#define RESOLVE\n");
}
*prepare_sh = e_data.dof_prepare_sh;