diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-05-02 01:35:49 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-05-02 01:35:49 +0300 |
commit | 0676963809a4800f1f666cd559c30885d79f66b8 (patch) | |
tree | d7971e9bee7a62e8088f97cfcd475393e457f581 /source/blender/editors | |
parent | 2a7a01b339ad60aec5ffe265411fa2f0b1589137 (diff) |
GPUShader: Port dashed line shaders to use shaderCreateInfo
This should have no functional changes.
This reduce the complexity of the shader by only supporting 2 colors.
We never use more than 2 color in practice and this makes usage not require
a UBO.
Diffstat (limited to 'source/blender/editors')
-rw-r--r-- | source/blender/editors/interface/interface_draw.c | 4 | ||||
-rw-r--r-- | source/blender/editors/mask/mask_draw.c | 9 | ||||
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_stroke.c | 4 | ||||
-rw-r--r-- | source/blender/editors/space_image/image_draw.c | 4 | ||||
-rw-r--r-- | source/blender/editors/space_view3d/view3d_gizmo_ruler.c | 12 | ||||
-rw-r--r-- | source/blender/editors/uvedit/uvedit_draw.c | 8 |
6 files changed, 19 insertions, 22 deletions
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 695f34a448f..18bad7949ee 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -1135,8 +1135,8 @@ static void ui_draw_colorband_handle(uint shdr_pos, immUniform2f("viewport_size", viewport_size[2] / UI_DPI_FAC, viewport_size[3] / UI_DPI_FAC); immUniform1i("colors_len", 2); /* "advanced" mode */ - immUniformArray4fv( - "colors", (float *)(float[][4]){{0.8f, 0.8f, 0.8f, 1.0f}, {0.0f, 0.0f, 0.0f, 1.0f}}, 2); + immUniform4f("color", 0.8f, 0.8f, 0.8f, 1.0f); + immUniform4f("color2", 0.0f, 0.0f, 0.0f, 1.0f); immUniform1f("dash_width", active ? 4.0f : 2.0f); immUniform1f("dash_factor", 0.5f); diff --git a/source/blender/editors/mask/mask_draw.c b/source/blender/editors/mask/mask_draw.c index 60232dee109..aab4007854f 100644 --- a/source/blender/editors/mask/mask_draw.c +++ b/source/blender/editors/mask/mask_draw.c @@ -464,12 +464,12 @@ static void mask_draw_curve_type(const bContext *C, break; case MASK_DT_DASH: { - float colors[8]; + float colors[2][4]; mask_color_active_tint(rgb_tmp, rgb_spline, is_active); - rgba_uchar_to_float(colors, rgb_tmp); + rgba_uchar_to_float(colors[0], rgb_tmp); mask_color_active_tint(rgb_tmp, rgb_black, is_active); - rgba_uchar_to_float(colors + 4, rgb_tmp); + rgba_uchar_to_float(colors[1], rgb_tmp); immBindBuiltinProgram(GPU_SHADER_2D_LINE_DASHED_UNIFORM_COLOR); @@ -478,7 +478,8 @@ static void mask_draw_curve_type(const bContext *C, immUniform2f("viewport_size", viewport_size[2] / UI_DPI_FAC, viewport_size[3] / UI_DPI_FAC); immUniform1i("colors_len", 2); /* "advanced" mode */ - immUniformArray4fv("colors", colors, 2); + immUniform4fv("color", colors[0]); + immUniform4fv("color2", colors[1]); immUniform1f("dash_width", 4.0f); immUniform1f("dash_factor", 0.5f); GPU_line_width(1.0f); diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c index c5820ef3a2e..d2005473512 100644 --- a/source/blender/editors/sculpt_paint/paint_stroke.c +++ b/source/blender/editors/sculpt_paint/paint_stroke.c @@ -172,8 +172,8 @@ static void paint_draw_line_cursor(bContext *C, int x, int y, void *customdata) immUniform1i("colors_len", 2); /* "advanced" mode */ const float alpha = (float)paint->paint_cursor_col[3] / 255.0f; - immUniformArray4fv( - "colors", (float *)(float[][4]){{0.0f, 0.0f, 0.0f, alpha}, {1.0f, 1.0f, 1.0f, alpha}}, 2); + immUniform4f("color", 0.0f, 0.0f, 0.0f, alpha); + immUniform4f("color2", 1.0f, 1.0f, 1.0f, alpha); immUniform1f("dash_width", 6.0f); immUniform1f("dash_factor", 0.5f); diff --git a/source/blender/editors/space_image/image_draw.c b/source/blender/editors/space_image/image_draw.c index 342f2df0020..048c7345b97 100644 --- a/source/blender/editors/space_image/image_draw.c +++ b/source/blender/editors/space_image/image_draw.c @@ -455,8 +455,8 @@ void draw_image_sample_line(SpaceImage *sima) immUniform2f("viewport_size", viewport_size[2] / UI_DPI_FAC, viewport_size[3] / UI_DPI_FAC); immUniform1i("colors_len", 2); /* Advanced dashes. */ - immUniformArray4fv( - "colors", (float *)(float[][4]){{1.0f, 1.0f, 1.0f, 1.0f}, {0.0f, 0.0f, 0.0f, 1.0f}}, 2); + immUniform4f("color", 1.0f, 1.0f, 1.0f, 1.0f); + immUniform4f("color2", 0.0f, 0.0f, 0.0f, 1.0f); immUniform1f("dash_width", 2.0f); immUniform1f("dash_factor", 0.5f); diff --git a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c index 3a8a28dc2a1..567022cc9d1 100644 --- a/source/blender/editors/space_view3d/view3d_gizmo_ruler.c +++ b/source/blender/editors/space_view3d/view3d_gizmo_ruler.c @@ -689,10 +689,8 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *gz) immUniform1i("colors_len", 2); /* "advanced" mode */ const float *col = is_act ? color_act : color_base; - immUniformArray4fv( - "colors", - (float *)(float[][4]){{0.67f, 0.67f, 0.67f, 1.0f}, {col[0], col[1], col[2], col[3]}}, - 2); + immUniform4f("color", 0.67f, 0.67f, 0.67f, 1.0f); + immUniform4f("color2", col[0], col[1], col[2], col[3]); immUniform1f("dash_width", 6.0f); immUniform1f("dash_factor", 0.5f); @@ -760,10 +758,8 @@ static void gizmo_ruler_draw(const bContext *C, wmGizmo *gz) immUniform1i("colors_len", 2); /* "advanced" mode */ const float *col = is_act ? color_act : color_base; - immUniformArray4fv( - "colors", - (float *)(float[][4]){{0.67f, 0.67f, 0.67f, 1.0f}, {col[0], col[1], col[2], col[3]}}, - 2); + immUniform4f("color", 0.67f, 0.67f, 0.67f, 1.0f); + immUniform4f("color2", col[0], col[1], col[2], col[3]); immUniform1f("dash_width", 6.0f); immUniform1f("dash_factor", 0.5f); diff --git a/source/blender/editors/uvedit/uvedit_draw.c b/source/blender/editors/uvedit/uvedit_draw.c index a083ded1752..141b59e0355 100644 --- a/source/blender/editors/uvedit/uvedit_draw.c +++ b/source/blender/editors/uvedit/uvedit_draw.c @@ -46,8 +46,8 @@ void ED_image_draw_cursor(ARegion *region, const float cursor[2]) immUniform2f("viewport_size", viewport_size[2] / UI_DPI_FAC, viewport_size[3] / UI_DPI_FAC); immUniform1i("colors_len", 2); /* "advanced" mode */ - immUniformArray4fv( - "colors", (float *)(float[][4]){{1.0f, 0.0f, 0.0f, 1.0f}, {1.0f, 1.0f, 1.0f, 1.0f}}, 2); + immUniform4f("color", 1.0f, 0.0f, 0.0f, 1.0f); + immUniform4f("color2", 1.0f, 1.0f, 1.0f, 1.0f); immUniform1f("dash_width", 8.0f); immUniform1f("dash_factor", 0.5f); @@ -67,8 +67,8 @@ void ED_image_draw_cursor(ARegion *region, const float cursor[2]) immEnd(); - immUniformArray4fv( - "colors", (float *)(float[][4]){{1.0f, 1.0f, 1.0f, 1.0f}, {0.0f, 0.0f, 0.0f, 1.0f}}, 2); + immUniform4f("color", 1.0f, 1.0f, 1.0f, 1.0f); + immUniform4f("color2", 0.0f, 0.0f, 0.0f, 1.0f); immUniform1f("dash_width", 2.0f); immUniform1f("dash_factor", 0.5f); |