           draw_mixed_border(distance_from_mix_line, distance_from_middle, local_pos, brightness_mod.xy);
           break;
         case BORDER_STYLE_HIDDEN:
-          discard;
         default:
-          discard;
+          needs_discard = true;
+          break;
+    }
+
+    // Note: Workaround for Angle on Windows,
+    // because non-empty case statements must have break or return.
+    if (needs_discard) {
+      discard;
     }
 
 #ifdef WR_FEATURE_TRANSFORM

#endif

    vec2 brightness_mod = vec2(0.7, 1.3);

    // Note: we can't pass-through in the following cases,
    // because Angle doesn't support it and fails to compile the shaders.

    default:
      oFragColor = vHorizontalColor;
      discard_pixels_in_rounded_borders(localPos);
      break;
  }
}

