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:
-rw-r--r--source/blender/editors/interface/interface_widgets.c6
-rw-r--r--source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl26
2 files changed, 21 insertions, 11 deletions
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 0c6be7b1196..e351cd30c14 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -1225,12 +1225,6 @@ static bool draw_widgetbase_batch_skip_draw_cache(void)
return true;
}
- /* There are also reports that some AMD and Mesa driver configuration suffer from the
- * same issue, T78803. */
- if (GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_UNIX, GPU_DRIVER_OPENSOURCE)) {
- return true;
- }
-
return false;
}
diff --git a/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl b/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl
index 81e0965fad3..b5036b51d9d 100644
--- a/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_2D_widget_base_vert.glsl
@@ -61,11 +61,27 @@ vec2 do_widget(void)
const vec2 ofs = vec2(0.5, -0.5);
lineWidth = abs(rect.x - recti.x);
vec2 emboss_ofs = vec2(0.0, -lineWidth);
- vec2 v_pos[4] = vec2[4](rect.xz + emboss_ofs + ofs.yy,
- rect.xw + ofs.yx,
- rect.yz + emboss_ofs + ofs.xy,
- rect.yw + ofs.xx);
- vec2 pos = v_pos[gl_VertexID];
+
+ vec2 pos;
+ switch (gl_VertexID) {
+ default:
+ case 0: {
+ pos = rect.xz + emboss_ofs + ofs.yy;
+ break;
+ }
+ case 1: {
+ pos = rect.xw + ofs.yx;
+ break;
+ }
+ case 2: {
+ pos = rect.yz + emboss_ofs + ofs.xy;
+ break;
+ }
+ case 3: {
+ pos = rect.yw + ofs.xx;
+ break;
+ }
+ }
uvInterp = pos - rect.xz;
outRectSize = rect.yw - rect.xz;