Commit: a5a947190aeef9e7c668aef21d27687ee2f99f61 Author: Jeroen Bakker Date: Fri Jan 7 12:05:59 2022 +0100 Branches: tmp-gpu-shader-descriptor-2 https://developer.blender.org/rBa5a947190aeef9e7c668aef21d27687ee2f99f61
Migrated shaders. =================================================================== M source/blender/gpu/CMakeLists.txt M source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl M source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl M source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl M source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl M source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl M source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl M source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl M source/blender/gpu/shaders/gpu_shader_image_frag.glsl M source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl M source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl M source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl M source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl A source/blender/gpu/shaders/infos/gpu_interface_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_image_color_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_image_desaturate_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_image_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_image_overlays_merge_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_image_overlays_stereo_merge_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_image_shuffle_color_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_smooth_color_info.hh A source/blender/gpu/shaders/infos/gpu_shader_2D_uniform_color_info.hh M source/blender/gpu/shaders/infos/gpu_shader_3D_flat_color_info.hh M source/blender/gpu/shaders/infos/gpu_shader_3D_image_modulate_alpha_info.hh =================================================================== diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt index 1b535408226..fe631e30d35 100644 --- a/source/blender/gpu/CMakeLists.txt +++ b/source/blender/gpu/CMakeLists.txt @@ -418,10 +418,20 @@ set(SHADER_CREATE_INFOS shaders/infos/gpu_clip_planes_info.hh shaders/infos/gpu_srgb_to_framebuffer_space_info.hh -#shaders/infos/gpu_shader_3D_flat_color_info.hh +#shaders/infos/gpu_shader_3D_flat_color_info.hh !Disabled due to failing compilation. shaders/infos/gpu_shader_3D_image_modulate_alpha_info.hh +#shaders/infos/gpu_shader_simple_lighting_info.hh !TODO shaders/infos/gpu_shader_2D_checker_info.hh -#shaders/infos/gpu_shader_simple_lighting_info.hh +shaders/infos/gpu_shader_2D_diag_stripes_info.hh +shaders/infos/gpu_shader_2D_uniform_color_info.hh +shaders/infos/gpu_shader_2D_flat_color_info.hh +shaders/infos/gpu_shader_2D_smooth_color_info.hh +shaders/infos/gpu_shader_2D_image_overlays_merge_info.hh +shaders/infos/gpu_shader_2D_image_overlays_stereo_merge_info.hh +shaders/infos/gpu_shader_2D_image_info.hh +shaders/infos/gpu_shader_2D_image_color_info.hh +shaders/infos/gpu_shader_2D_image_desaturate_info.hh +shaders/infos/gpu_shader_2D_image_shuffle_color_info.hh shaders/infos/gpu_shader_text_info.hh shaders/infos/gpu_shader_keyframe_shape_info.hh ) diff --git a/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl index df2507c0dc9..494ef8d888e 100644 --- a/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl +++ b/source/blender/gpu/shaders/gpu_shader_2D_flat_color_vert.glsl @@ -1,10 +1,11 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO uniform mat4 ModelViewProjectionMatrix; in vec2 pos; in vec4 color; flat out vec4 finalColor; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl index cdb066c9c52..0b5e3759dfb 100644 --- a/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl +++ b/source/blender/gpu/shaders/gpu_shader_2D_image_vert.glsl @@ -1,10 +1,11 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO uniform mat4 ModelViewProjectionMatrix; /* Keep in sync with intern/opencolorio/gpu_shader_display_transform_vertex.glsl */ in vec2 texCoord; in vec2 pos; out vec2 texCoord_interp; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl index 1333c00682c..4d887a37807 100644 --- a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_frag.glsl @@ -1,6 +1,7 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO noperspective in vec4 finalColor; out vec4 fragColor; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl index fcf436d50af..5d19aea9168 100644 --- a/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl +++ b/source/blender/gpu/shaders/gpu_shader_2D_smooth_color_vert.glsl @@ -1,10 +1,11 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO uniform mat4 ModelViewProjectionMatrix; in vec2 pos; in vec4 color; noperspective out vec4 finalColor; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl b/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl index 48979af4ad0..a4a24ed8e46 100644 --- a/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_diag_stripes_frag.glsl @@ -1,10 +1,11 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO uniform vec4 color1; uniform vec4 color2; uniform int size1; uniform int size2; out vec4 fragColor; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl index 6dc7a1618e1..1846dae346a 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_color_frag.glsl @@ -1,9 +1,10 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO in vec2 texCoord_interp; out vec4 fragColor; uniform vec4 color; uniform sampler2D image; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl index dfbaaeda7b5..ad52b9819ab 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_desaturate_frag.glsl @@ -1,10 +1,11 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO uniform float factor; in vec2 texCoord_interp; out vec4 fragColor; uniform vec4 color; uniform sampler2D image; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_image_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_frag.glsl index aff6ddf01bf..befd6b57bf8 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_frag.glsl @@ -1,8 +1,9 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO in vec2 texCoord_interp; out vec4 fragColor; uniform sampler2D image; +#endif void main() { diff --git a/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl index 7f3fe2f5252..2314dbbc5d5 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_overlays_merge_frag.glsl @@ -1,6 +1,7 @@ /* Merge overlays texture on top of image texture and transform to display space (assume sRGB) */ +#ifndef USE_GPU_SHADER_CREATE_INFO uniform sampler2D image_texture; uniform sampler2D overlays_texture; uniform bool display_transform; @@ -9,6 +10,7 @@ uniform bool overlay; in vec2 texCoord_interp; out vec4 fragColor; +#endif float linearrgb_to_srgb(float c) { diff --git a/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl index c6e9860d940..9b1e6fe9d23 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_overlays_stereo_merge_frag.glsl @@ -7,18 +7,20 @@ /* Composite stereo textures */ +#ifndef USE_GPU_SHADER_CREATE_INFO uniform sampler2D imageTexture; uniform sampler2D overlayTexture; uniform int stereoDisplaySettings; +layout(location = 0) out vec4 imageColor; +layout(location = 1) out vec4 overlayColor; +#endif + #define stereo_display_mode (stereoDisplaySettings & ((1 << 3) - 1)) #define stereo_interlace_mode ((stereoDisplaySettings >> 3) & ((1 << 3) - 1)) #define stereo_interlace_swap bool(stereoDisplaySettings >> 6) -layout(location = 0) out vec4 imageColor; -layout(location = 1) out vec4 overlayColor; - bool interlace(ivec2 texel) { int interlace_mode = stereo_interlace_mode; diff --git a/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl index ed69184ef14..e8bfb70b897 100644 --- a/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_image_shuffle_color_frag.glsl @@ -1,15 +1,16 @@ - +#ifndef USE_GPU_SHADER_CREATE_INFO in vec2 texCoord_interp; out vec4 fragColor; uniform sampler2D image; uniform vec4 color; uniform vec4 shuffle; +#endif void main() { - vec4 sample = texture(image, texCoord_interp); - fragColor = vec4(sample.r * shuffle.r + sample.g * shuffle.g + sample.b * shuffle.b + - sample.a * shuffle.a) * + vec4 sampled_color = texture(image, texCoord_interp); + fragColor = vec4(sampled_color.r * shuffle.r + sampled_color.g * shuffle.g + + sampled_color.b * shuffle.b + sampled_color.a * shuffle.a) * color; } diff --git a/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl b/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl index 2033401db67..e354abf796d 100644 --- a/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl +++ b/source/blender/gpu/shaders/gpu_shader_uniform_color_frag.glsl @@ -1,11 +1,13 @@ -#if defined(USE_COLOR_U32) +#ifndef USE_GPU_SHADER_CREATE_INFO +# if defined(USE_COLOR_U32) uniform uint color; -#else +# else uniform vec4 color; -#endif +# endif out vec4 fragColor; +#endif void main() { diff --git a/source/blender/gpu/shaders/infos/gpu_interface_info.hh b/source/blender/gpu/shaders/infos/gpu_interface_info.hh new file mode 100644 index 00000000000..f57234fdd4d --- /dev/null +++ b/source/blender/gpu/shaders/infos/gpu_interface_info.hh @@ -0,0 +1,6 @@ +#pragma once + +#include "gpu_shader_create_info.hh" + +GPU_SHADER_INTERFACE_INFO(flat_color_iface, "").flat(Type::VEC4, "finalColor"); +GPU_SHADER_INTERFACE_INFO(smooth_tex_coord_interp_iface, "").smooth(Type::VEC2, "texCoord_interp"); diff --git a/source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh b/source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh new file mode 100644 index 00000000000..55cb87308e3 --- /dev/null +++ b/source/blender/gpu/shaders/infos/gpu_shader_2D_diag_stripes_info.hh @@ -0,0 +1,14 @@ + +#include "gpu_shader_create_info.hh" + +GPU_SHADER_CREATE_INFO(gpu_shader_2D_diag_stripes) + .vertex_in(0, Type::VEC2, "pos") + .fragment_out(0, Type::VEC4, "fragColor") + .push_constant(0, Type::MAT4, "ModelViewProjectionMatrix") + .push_constant(16, Type::VEC4, "color1") + .push_constant(20, Type::VEC4, "color2") + .push_constant(24, Type::INT, "size1") + .push_constant(28, Type::INT, "size2") + .vertex_source("gpu_shader_2D_vert.glsl") + .fragment_source("gpu_shader_diag_stripes_frag.glsl") + .do_static_compilation(true); diff --git a/source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh b/source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh new file mode 100644 index 00000000000..94860b19dea --- /dev/null +++ b/source/blender/gpu/shaders/infos/gpu_shader_2D_flat_color_info.hh @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs