summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-03-08 23:02:40 +0000
committerKarl Berry <karl@freefriends.org>2022-03-08 23:02:40 +0000
commit0d70800962f39589e23608b563e89866e952218b (patch)
treeef7555a49e1b34c3318ad1c72931d24c2e23fe29 /Master
parent871e3a91b332158dcf4feff37ffb24393a675a6b (diff)
asymptote 2.79 support files, windows binaries
git-svn-id: svn://tug.org/texlive/trunk@62530 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/custMatTransform.py2
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/labelTextEditor.py2
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/setCustomAnchor.py6
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addLabel.py2
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addPolyOpt.py2
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/widg_editBezier.py2
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/widgetPointEditor.py2
-rw-r--r--Master/texmf-dist/asymptote/GUI/pyUIClass/window1.py2
-rwxr-xr-xMaster/texmf-dist/asymptote/GUI/xasyVersion.py2
-rw-r--r--Master/texmf-dist/asymptote/asy-keywords.el4
-rw-r--r--Master/texmf-dist/asymptote/rational.asy41
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/blend.glsl121
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/count.glsl6
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/fragment.glsl54
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/offset.glsl11
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/partialsum.glsl37
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/presum.glsl37
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/sum1.glsl38
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/sum2.glsl24
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/sum3.glsl28
-rwxr-xr-xMaster/texmf-dist/asymptote/shaders/zero.glsl (renamed from Master/texmf-dist/asymptote/shaders/count0.glsl)0
-rw-r--r--Master/texmf-dist/asymptote/v3dheadertypes.asy2
-rw-r--r--Master/texmf-dist/asymptote/v3dtypes.asy2
-rw-r--r--Master/texmf-dist/asymptote/version.asy2
-rw-r--r--Master/texmf-dist/doc/asymptote/CAD.pdfbin198828 -> 198744 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdfbin81087 -> 81128 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asy-latex.pdfbin207102 -> 207105 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asyRefCard.pdfbin121145 -> 121145 bytes
-rw-r--r--Master/texmf-dist/doc/asymptote/asymptote.pdfbin1313774 -> 1314132 bytes
-rw-r--r--Master/texmf-dist/doc/info/asy-faq.info2
-rw-r--r--Master/texmf-dist/doc/info/asymptote.info407
-rw-r--r--Master/texmf-dist/doc/man/man1/asy.13
-rw-r--r--Master/texmf-dist/doc/man/man1/asy.man1.pdfbin31138 -> 31192 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/xasy.man1.pdfbin15299 -> 15299 bytes
-rwxr-xr-xMaster/tlpkg/asymptote/asy.exebin8431616 -> 8438272 bytes
-rwxr-xr-xMaster/tlpkg/asymptote64/asy.exebin8307712 -> 8311808 bytes
-rwxr-xr-xMaster/tlpkg/bin/tl-update-asy2
37 files changed, 466 insertions, 377 deletions
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/custMatTransform.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/custMatTransform.py
index aeaf61f9a26..8fa36cbc945 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/custMatTransform.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/custMatTransform.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/custMatTransform.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/labelTextEditor.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/labelTextEditor.py
index fc35454c83e..afbf7ea85b9 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/labelTextEditor.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/labelTextEditor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/labelTextEditor.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/setCustomAnchor.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/setCustomAnchor.py
index ab0fc77c0b6..502f6573ab1 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/setCustomAnchor.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/setCustomAnchor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/setCustomAnchor.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@@ -44,8 +44,8 @@ class Ui_Dialog(object):
self.verticalLayout.addWidget(self.buttonBox)
self.retranslateUi(Dialog)
- self.buttonBox.accepted.connect(Dialog.accept)
- self.buttonBox.rejected.connect(Dialog.reject)
+ self.buttonBox.accepted.connect(Dialog.accept) # type: ignore
+ self.buttonBox.rejected.connect(Dialog.reject) # type: ignore
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addLabel.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addLabel.py
index 9b17990e6bc..2199d887d6d 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addLabel.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addLabel.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widg_addLabel.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addPolyOpt.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
index 69cf2a4630c..2c58c5f2d16 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_addPolyOpt.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widg_addPolyOpt.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_editBezier.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_editBezier.py
index 4c2d90d7127..f4c5e5ba78b 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_editBezier.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/widg_editBezier.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widg_editBezier.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/widgetPointEditor.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/widgetPointEditor.py
index 0b4f5d94935..53702920c05 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/widgetPointEditor.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/widgetPointEditor.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/widgetPointEditor.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/pyUIClass/window1.py b/Master/texmf-dist/asymptote/GUI/pyUIClass/window1.py
index edf87b84c1a..457a67a6007 100644
--- a/Master/texmf-dist/asymptote/GUI/pyUIClass/window1.py
+++ b/Master/texmf-dist/asymptote/GUI/pyUIClass/window1.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'GUI/windows/window1.ui'
#
-# Created by: PyQt5 UI code generator 5.15.0
+# Created by: PyQt5 UI code generator 5.15.6
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
diff --git a/Master/texmf-dist/asymptote/GUI/xasyVersion.py b/Master/texmf-dist/asymptote/GUI/xasyVersion.py
index 60538f74eda..d95cbba2fda 100755
--- a/Master/texmf-dist/asymptote/GUI/xasyVersion.py
+++ b/Master/texmf-dist/asymptote/GUI/xasyVersion.py
@@ -1,2 +1,2 @@
#!/usr/bin/env python3
-xasyVersion = "2.78"
+xasyVersion = "2.79"
diff --git a/Master/texmf-dist/asymptote/asy-keywords.el b/Master/texmf-dist/asymptote/asy-keywords.el
index 601ff063e7a..3f3bf45ea10 100644
--- a/Master/texmf-dist/asymptote/asy-keywords.el
+++ b/Master/texmf-dist/asymptote/asy-keywords.el
@@ -2,7 +2,7 @@
;; This file is automatically generated by asy-list.pl.
;; Changes will be overwritten.
;;
-(defvar asy-keywords-version "2.78")
+(defvar asy-keywords-version "2.79")
(defvar asy-keyword-name '(
and controls tension atleast curl if else while for do return break continue struct typedef new access import unravel from include quote static public private restricted this explicit true false null cycle newframe operator ))
@@ -14,4 +14,4 @@ Braid FitResult Label Legend Solution TreeNode abscissa arc arrowhead binarytree
AND Align Arc ArcArrow ArcArrows Arrow Arrows AtA Automatic AvantGarde B03 B13 B23 B33 BBox BWRainbow BWRainbow2 Bar Bars BeginArcArrow BeginArrow BeginBar BeginDotMargin BeginMargin BeginPenMargin Blank Bookman Bottom BottomTop Bounds Break Broken BrokenLog CLZ CTZ Ceil Circle CircleBarIntervalMarker Cos Courier CrossIntervalMarker DOSendl DOSnewl DefaultFormat DefaultLogFormat Degrees Dir DotMargin DotMargins Dotted Draw Drawline Embed EndArcArrow EndArrow EndBar EndDotMargin EndMargin EndPenMargin Fill FillDraw Finite Floor Format Full Gaussian Gaussrand Gaussrandpair Gradient Grayscale Helvetica Hermite HookHead InOutTicks InTicks Jn Label Landscape Left LeftRight LeftTicks Legend Linear Log LogFormat Margin Margins Mark MidArcArrow MidArrow NOT NewCenturySchoolBook NoBox NoMargin NoModifier NoTicks NoTicks3 NoZero NoZeroFormat None OR OmitFormat OmitTick OmitTickInterval OmitTickIntervals OutTicks Ox Oy Palatino PaletteTicks Pen PenMargin PenMargins Pentype Portrait RGB RadialShade RadialShadeDraw Rainbow Range Relative Right RightTicks Rotate Round SQR Scale ScaleX ScaleY ScaleZ Seascape Shift Sin Slant Spline StickIntervalMarker Straight Symbol Tan TeXify Ticks Ticks3 TildeIntervalMarker TimesRoman Top TrueMargin UnFill UpsideDown Wheel X XEquals XOR XY XYEquals XYZero XYgrid XZEquals XZZero XZero XZgrid Y YEquals YXgrid YZ YZEquals YZZero YZero YZgrid Yn Z ZX ZXgrid ZYgrid ZapfChancery ZapfDingbats _begingroup3 _cputime _draw _eval _findroot _image _labelpath _projection _shipout _strokepath _texpath aCos aSin aTan abort abs abs2 accel acos acosh acot acsc activatequote add addArrow addMargins addSaveFunction addpenarc addpenline addseg adjust alias align all altitude angabscissa angle angledegrees angpoint animate annotate anticomplementary antipedal apply approximate arc arcarrowsize arccircle arcdir arcfromcenter arcfromfocus arclength arcnodesnumber arcpoint arcsubtended arcsubtendedcenter arctime arctopath array arrow arrow2 arrowbase arrowbasepoints arrowsize ascii asec asin asinh ask assert asy asycode asydir asyfigure asyfilecode asyinclude asywrite atan atan2 atanh atbreakpoint atexit attach attract atupdate autoformat autoscale autoscale3 axes axes3 axialshade axis axiscoverage azimuth babel background bangles bar barmarksize barsize basealign baseline bbox beep begin beginclip begingroup beginpoint between bevel bezier bezierP bezierPP bezierPPP bezulate bibliography bibliographystyle binarytree binarytreeNode binomial bins bisector bisectorpoint bispline bispline0 bitreverse blend blockconnector box bqe brace breakpoint breakpoints brick buildRestoreDefaults buildRestoreThunk buildcycle bulletcolor byte byteinv calculateScaling canonical canonicalcartesiansystem cartesiansystem case1 case2 case3 cbrt cd ceil center centerToFocus centroid cevian change2 changecoordsys checkSegment check_fpt_zero checkconditionlength checker checkincreasing checklengths checkposition checkpt checkptincube checktriangle choose circle circlebarframe circlemarkradius circlenodesnumber circumcenter circumcircle clamped clear clip clipdraw close cmyk code colatitude collect collinear color colorless colors colorspace comma compassmark complement complementary concat concurrent cone conic conicnodesnumber conictype conj connect containmentTree contains contour contour3 controlSpecifier convert coordinates coordsys copy copyPairOrTriple cos cosh cot countIntersections cputime crop cropcode cross crossframe crosshatch crossmarksize csc cubicroots curabscissa curlSpecifier curpoint currentarrow currentexitfunction currentmomarrow currentpolarconicroutine curve cut cutafter cutbefore cyclic cylinder deactivatequote debugger deconstruct defaultdir defaultformat defaultpen defined degenerate degrees delete deletepreamble determinant diagonal diamond diffdiv dir dirSpecifier dirtime display distance divisors do_overpaint dot dotframe dotsize downcase draw drawAll drawCylinder drawDisk drawDoubleLine drawFermion drawGhost drawGluon drawMomArrow drawPhoton drawScalar drawSphere drawTube drawVertex drawVertexBox drawVertexBoxO drawVertexBoxX drawVertexO drawVertexOX drawVertexTriangle drawVertexTriangleO drawVertexX drawarrow drawarrow2 drawbeziertriangle drawline drawpixel drawstrokepath drawtick duplicate elle ellipse ellipsenodesnumber embed embed3 embedplayer empty enclose end endclip endgroup endgroup3 endl endpoint endpoints eof eol equation equations erase erasestep erf erfc error errorbar errorbars eval excenter excircle exit exitfunction exp expfactors expi expm1 exradius extend extension extouch fabs factorial fermat fft fhorner figure file filecode fill filldraw filloutside fillrule filltype find findall findroot finite finiteDifferenceJacobian firstcut firstframe fit fit2 fixedscaling floor flush fmdefaults fmod focusToCenter font fontcommand fontsize foot format frac frequency fromCenter fromFocus fspline functionshade gamma gcd generate_random_backtrace generateticks gergonne getc getint getpair getreal getstring gettriple gluon gouraudshade graph graphic graphicscale graphwithderiv gray grestore grid grid3 gsave halfbox hatch hdiffdiv hermite hex histogram history hline hprojection hsv hyperbola hyperbolanodesnumber hyperlink hypot identity image implicitsurface importv3d incenter incentral incircle increasing incrementposition indexedfigure initdefaults initialized input inradius insert inside insphere integrate interactive interior interp interpolate intersect intersection intersectionpoint intersectionpoints intersections intouch inverse inversion invisible is3D isDuplicate isnan isogonal isogonalconjugate isometry isotomic isotomicconjugate isparabola italic item jobname key kurtosis kurtosisexcess label labelaxis labelmargin labelpath labels labeltick labelx labelx3 labely labely3 labelz labelz3 lastcut latex latitude latticeshade layer layout lcm ldexp leastsquares legend legenditem length lexorder lift light limits line linear linecap lineinversion linejoin linemargin lineskip linetype linewidth link list lm_enorm lm_evaluate_default lm_lmdif lm_lmpar lm_minimize lm_print_default lm_print_quiet lm_qrfac lm_qrsolv locale locate locatefile location log log10 log1p logaxiscoverage longitude lookup make3dgrid makeMappingArray makeNode makecircle makedraw makepen maketriangle map mapArray mapTemplate margin markangle markangleradius markanglespace markarc marker markinterval marknodes markrightangle markthin markuniform mass masscenter massformat math max max3 maxAfterTransform maxbezier maxbound maxcoords maxlength maxratio maxtimes mean medial median midpoint min min3 minAfterTransform minbezier minbound minipage minratio mintimes miterlimit mktemp momArrowPath momarrowsize monotonic multifigure nGrad nativeformat natural newl newpage newslide newton newtree nextframe nextnormal nextpage nib nodabscissa node none norm normalout normalvideo notaknot nowarn numberpage nurb object offset onpath opacity opposite orient orientation origin orthic orthocentercenter outdirectory outformat outline outname outprefix output overloadedMessage overwrite pack pad pairs palette parabola parabolanodesnumber parallel parallelogram partialsum patchwithnormals path path3 pathbetween pathinface pattern pause pdf pedal periodic perp perpendicular perpendicularmark phantom phi1 phi2 phi3 phi4 photon piecewisestraight point polar polarconicroutine polargraph polygon popcount postcontrol postscript pow10 ppoint prc prc0 prconly precision precontrol prepend primitive printBytecode print_random_addresses progress project projection projecttospan projecttospan_findcoeffs purge pwhermite quadpatches quadrant quadraticroots quantize quarticroots quotient radialshade radians radicalcenter radicalline radius rand randompath rationalidentity rd readline realmult realquarticroots rectangle rectangular rectify reflect relabscissa relative relativedistance reldir relpoint reltime remainder remark removeDuplicates rename render replace report resetdefaultpen restore restoredefaults reverse reversevideo rf rfind rgb rgba rgbint rms rotate rotateO rotation round roundbox roundedpath roundrectangle samecoordsys sameside sample save savedefaults saveline scale scale3 scaleO scaleT scaleless scientific search searchtree sec secondaryX secondaryY seconds section sector seek seekeof segment segmentlimits sequence setpens sgn sgnd sharpangle sharpdegrees shift shiftless shipout shipout3 show simeq simplex simplexInit simplexPhase1 simplexPhase2 simplexTableau simplexWrite simpson sin sinh size size3 skewness skip slant sleep slice slope slopefield solve solveBVP sort sourceline sphere split sqrt square srand standardizecoordsys stdev step stickframe stickmarksize stickmarkspace stop straight straightness string stripdirectory stripextension stripfile stripsuffix strokepath subdivide subitem subpath substr sum surface symmedial symmedian system tab tableau tan tangent tangential tangents tanh tell tensionSpecifier tensorshade tex texcolor texify texpath texpreamble texreset texshipout texsize texstring textpath thick thin tick tickMax tickMax3 tickMin tickMin3 ticklabelshift ticklocate tildeframe tildemarksize tile tiling time times title titlepage topbox transform transformation transpose trembleFuzz triangle triangleAbc triangleabc triangletoquads trianglewithnormals triangulate tricoef tridiagonal trilinear trim truepoint tube type uncycle unfill uniform unique unit unitrand unitsize unityroot unstraighten upcase updatefunction uperiodic upscale uptodate usepackage usersetting usetypescript usleep value variance variancebiased vbox vector vectorfield verbatim view vline vperiodic vprojection warn warning windingnumber write xasyKEY xaxis xaxis3 xaxis3At xaxisAt xequals xlimits xmap xpart xscale xscaleO xtick xtick3 xtrans yaxis yaxis3 yaxis3At yaxisAt yequals ylimits ypart yscale yscaleO ytick ytick3 ytrans zaxis3 zaxis3At zero zlimits zpart ztick ztick3 ztrans ))
(defvar asy-variable-name '(
-Accent AliceBlue Align Allow AntiqueWhite Apricot Aqua Aquamarine Aspect Azure BeginPoint Beige Bisque Bittersweet Black BlanchedAlmond Blue BlueGreen BlueViolet Blues Both BrBG Break BrickRed Brown BuGn BuPu BurlyWood BurntOrange CCW CMRmap CW CadetBlue CarnationPink Center Centered Cerulean Chartreuse Chocolate Coeff Coral CornflowerBlue Cornsilk Crimson Crop Cyan Dandelion Dark2 DarkBlue DarkCyan DarkGoldenrod DarkGray DarkGreen DarkKhaki DarkMagenta DarkOliveGreen DarkOrange DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray DarkTurquoise DarkViolet DeepPink DeepSkyBlue DefaultHead DimGray DodgerBlue Dotted Down Draw E ENE EPS ESE E_Euler E_PC E_RK2 E_RK3BS Emerald EndPoint Euler Fill FillDraw FireBrick FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite GnBu Gold Goldenrod Gray Green GreenYellow Greens Greys Honeydew HookHead Horizontal HotPink I IgnoreAspect IndianRed Indigo Infinity Ivory JOIN_IN JOIN_OUT JungleGreen Khaki LM_DWARF LM_MACHEP LM_SQRT_DWARF LM_SQRT_GIANT LM_USERTOL Label Lavender LavenderBlush LawnGreen Left LeftJustified LeftSide LemonChiffon LightBlue LightCoral LightCyan LightGoldenrodYellow LightGreen LightGrey LightPink LightSalmon LightSeaGreen LightSkyBlue LightSlateGray LightSteelBlue LightYellow Lime LimeGreen Linear Linen Log Logarithmic Magenta Mahogany Mark MarkFill MarkFillable MarkPath Maroon Max MediumAquamarine MediumBlue MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed Melon MidPoint MidnightBlue Min MintCream MistyRose Moccasin Move MoveQuiet Mulberry N NE NNE NNW NULL_VERTEX NW NavajoWhite Navy NavyBlue NoAlign NoCrop NoFill NoSide OldLace Olive OliveDrab OliveGreen OrRd Orange OrangeRed Oranges Orchid Ox Oy PC PRGn Paired PaleGoldenrod PaleGreen PaleTurquoise PaleVioletRed PapayaWhip Pastel1 Pastel2 Peach PeachPuff Periwinkle Peru PiYG PineGreen Pink Plum PowderBlue ProcessBlue PuBu PuBuGn PuOr PuRd Purple Purples RELEASE RK2 RK3 RK3BS RK4 RK5 RK5DP RK5F RawSienna RdBu RdGy RdPu RdYlBu RdYlGn Red RedOrange RedViolet Reds Rhodamine Right RightJustified RightSide RosyBrown RoyalBlue RoyalPurple RubineRed S SE SSE SSW SW SaddleBrown Salmon SandyBrown SeaGreen Seashell Sepia Set1 Set2 Set3 Sienna Silver SimpleHead SkyBlue SlateBlue SlateGray Snow Spectral SpringGreen SteelBlue Suppress SuppressQuiet Tan TeXHead Teal TealBlue Thistle Ticksize Tomato Turquoise UnFill Up VERSION Value Vertical Violet VioletRed W WNW WSW Wheat White WhiteSmoke WildStrawberry XHIGH XLOW XYAlign YAlign YHIGH YLOW Yellow YellowGreen YellowOrange YlGn YlGnBu YlOrBr YlOrRd ZHIGH ZLOW _outpipe aboveequationskip addpenarc addpenline align allowstepping angularsystem animationdelay appendsuffix arcarrowangle arcarrowfactor arrow2sizelimit arrowangle arrowbarb arrowdir arrowfactor arrowhookfactor arrowlength arrowsizelimit arrowtexfactor authorpen autumn axis axiscoverage axislabelfactor background backgroundcolor backgroundpen barfactor barmarksizefactor basealign baselinetemplate bernstein beveljoin bigvertexpen bigvertexsize binary black blue bm bone bottom bp bracedefaultratio braceinnerangle bracemidangle braceouterangle brg brown bullet bwr byfoci byvertices camerafactor chartreuse circlemarkradiusfactor circlenodesnumberfactor circleprecision circlescale cividis cm codefile codepen codeskip colorPen coloredNodes coloredSegments conditionlength conicnodesfactor cool coolwarm copper count cputimeformat crossmarksizefactor currentcoordsys currentlight currentpatterns currentpen currentpicture currentposition currentprojection curvilinearsystem cuttings cyan darkblue darkbrown darkcyan darkgray darkgreen darkgrey darkmagenta darkolive darkred dashdotted dashed datepen dateskip debuggerlines debugging deepblue deepcyan deepgray deepgreen deepgrey deepmagenta deepred deepyellow default defaultControl defaultS defaultbackpen defaultcoordsys defaultexcursion defaultfilename defaultformat defaultmassformat defaultpen defaultseparator diamond differentlengths dot dotfactor dotfilltype dotframe dotted doublelinepen doublelinespacing down duplicateFuzz ellipsenodesnumberfactor eps epsgeo epsilon evenodd expansionfactor extendcap fermionpen figureborder figuremattpen file3 firstnode firststep foregroundcolor fuchsia fuzz gapfactor ghostpen gist_earth gist_ncar gist_stern gluonamplitude gluonpen gluonratio gray green grey hatchepsilon havepagenumber heavyblue heavycyan heavygray heavygreen heavygrey heavymagenta heavyred hline hot hsv hwratio hyperbolanodesnumberfactor identity identity4 ignore implicitshipout inch inches includegraphicscommand inf inferno infinity institutionpen intMax intMin invert invisible itempen itemskip itemstep jet labelmargin landscape lastnode left legendhskip legendlinelength legendmargin legendmarkersize legendmaxrelativewidth legendvskip lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightolive lightred lightyellow linemargin lm_infmsg lm_shortmsg longdashdotted longdashed magenta magma magneticRadius mantissaBits markangleradius markangleradiusfactor markanglespace markanglespacefactor maxrefinements mediumblue mediumcyan mediumgray mediumgreen mediumgrey mediummagenta mediumred mediumyellow middle minDistDefault minblockheight minblockwidth mincirclediameter minipagemargin minipagewidth minvertexangle miterjoin mm momarrowfactor momarrowlength momarrowmargin momarrowoffset momarrowpen monoPen morepoints nCircle nan newbulletcolor ngraph nil nipy_spectral nmesh nobasealign nodeMarginDefault nodesystem nomarker nopoint noprimary nullpath nullpen numarray ocgindex oldbulletcolor olive orange origin overpaint page pageheight pagemargin pagenumberalign pagenumberpen pagenumberposition pagewidth paleblue palecyan palegray palegreen palegrey palemagenta palered paleyellow parabolanodesnumberfactor perpfactor phi photonamplitude photonpen photonratio pi pink plain plain_bounds plain_scaling plasma plus preamblenodes pt purple r3 r4a r4b randMax realDigits realEpsilon realMax realMin red relativesystem reverse right roundcap roundjoin royalblue salmon saveFunctions scalarpen seismic sequencereal settings signedtrailingzero simplex solid spinner spring springgreen sqrtEpsilon squarecap squarepen startposition stdin stdout stepfactor stepfraction steppagenumberpen stepping stickframe stickmarksizefactor stickmarkspacefactor summer swap tab10 tab20 tab20b tab20c textpen ticksize tildeframe tildemarksizefactor tinv titlealign titlepagepen titlepageposition titlepen titleskip top trailingzero treeLevelStep treeMinNodeWidth treeNodeStep trembleAngle trembleFrequency trembleRandom tubegranularity twilight twilight_shifted undefined unitcircle unitsquare up urlpen urlskip v3dheadertypes v3dtypes version vertexpen vertexsize viewportmargin viewportsize viridis vline white winter wistia wye yellow ylabelwidth zeroTransform zerotickfuzz zerowinding ))
+Accent AliceBlue Align Allow AntiqueWhite Apricot Aqua Aquamarine Aspect Azure BeginPoint Beige Bisque Bittersweet Black BlanchedAlmond Blue BlueGreen BlueViolet Blues Both BrBG Break BrickRed Brown BuGn BuPu BurlyWood BurntOrange CCW CMRmap CW CadetBlue CarnationPink Center Centered Cerulean Chartreuse Chocolate Coeff Coral CornflowerBlue Cornsilk Crimson Crop Cyan Dandelion Dark2 DarkBlue DarkCyan DarkGoldenrod DarkGray DarkGreen DarkKhaki DarkMagenta DarkOliveGreen DarkOrange DarkOrchid DarkRed DarkSalmon DarkSeaGreen DarkSlateBlue DarkSlateGray DarkTurquoise DarkViolet DeepPink DeepSkyBlue DefaultHead DimGray DodgerBlue Dotted Down Draw E ENE EPS ESE E_Euler E_PC E_RK2 E_RK3BS Emerald EndPoint Euler Fill FillDraw FireBrick FloralWhite ForestGreen Fuchsia Gainsboro GhostWhite GnBu Gold Goldenrod Gray Green GreenYellow Greens Greys Honeydew HookHead Horizontal HotPink I IgnoreAspect IndianRed Indigo Infinity Ivory JOIN_IN JOIN_OUT JungleGreen Khaki LM_DWARF LM_MACHEP LM_SQRT_DWARF LM_SQRT_GIANT LM_USERTOL Label Lavender LavenderBlush LawnGreen Left LeftJustified LeftSide LemonChiffon LightBlue LightCoral LightCyan LightGoldenrodYellow LightGreen LightGrey LightPink LightSalmon LightSeaGreen LightSkyBlue LightSlateGray LightSteelBlue LightYellow Lime LimeGreen Linear Linen Log Logarithmic Magenta Mahogany Mark MarkFill MarkFillable MarkPath Maroon Max MediumAquamarine MediumBlue MediumOrchid MediumPurple MediumSeaGreen MediumSlateBlue MediumSpringGreen MediumTurquoise MediumVioletRed Melon MidPoint MidnightBlue Min MintCream MistyRose Moccasin Move MoveQuiet Mulberry N NE NNE NNW NULL_VERTEX NW NavajoWhite Navy NavyBlue NoAlign NoCrop NoFill NoSide OldLace Olive OliveDrab OliveGreen OrRd Orange OrangeRed Oranges Orchid Ox Oy PC PRGn Paired PaleGoldenrod PaleGreen PaleTurquoise PaleVioletRed PapayaWhip Pastel1 Pastel2 Peach PeachPuff Periwinkle Peru PiYG PineGreen Pink Plum PowderBlue ProcessBlue PuBu PuBuGn PuOr PuRd Purple Purples RELEASE RK2 RK3 RK3BS RK4 RK5 RK5DP RK5F RawSienna RdBu RdGy RdPu RdYlBu RdYlGn Red RedOrange RedViolet Reds Rhodamine Right RightJustified RightSide RosyBrown RoyalBlue RoyalPurple RubineRed S SE SSE SSW SW SaddleBrown Salmon SandyBrown SeaGreen Seashell Sepia Set1 Set2 Set3 Sienna Silver SimpleHead SkyBlue SlateBlue SlateGray Snow Spectral SpringGreen SteelBlue Suppress SuppressQuiet Tan TeXHead Teal TealBlue Thistle Ticksize Tomato Turquoise UnFill Up VERSION Value Vertical Violet VioletRed W WNW WSW Wheat White WhiteSmoke WildStrawberry XHIGH XLOW XYAlign YAlign YHIGH YLOW Yellow YellowGreen YellowOrange YlGn YlGnBu YlOrBr YlOrRd ZHIGH ZLOW _outpipe aboveequationskip addpenarc addpenline align allowstepping angularsystem animationdelay appendsuffix arcarrowangle arcarrowfactor arrow2sizelimit arrowangle arrowbarb arrowdir arrowfactor arrowhookfactor arrowlength arrowsizelimit arrowtexfactor authorpen autumn axis axiscoverage axislabelfactor background backgroundcolor backgroundpen barfactor barmarksizefactor basealign baselinetemplate bernstein beveljoin bigvertexpen bigvertexsize binary black blue bm bone bottom bp bracedefaultratio braceinnerangle bracemidangle braceouterangle brg brown bullet bwr byfoci byvertices camerafactor chartreuse circlemarkradiusfactor circlenodesnumberfactor circleprecision circlescale cividis cm codefile codepen codeskip colorPen coloredNodes coloredSegments conditionlength conicnodesfactor cool coolwarm copper count cputimeformat crossmarksizefactor currentcoordsys currentlight currentpatterns currentpen currentpicture currentposition currentprojection curvilinearsystem cuttings cyan darkblue darkbrown darkcyan darkgray darkgreen darkgrey darkmagenta darkolive darkred dashdotted dashed datepen dateskip debuggerlines debugging deepblue deepcyan deepgray deepgreen deepgrey deepmagenta deepred deepyellow default defaultControl defaultS defaultbackpen defaultcoordsys defaultexcursion defaultfilename defaultformat defaultmassformat defaultpen defaultseparator diamond differentlengths dot dotfactor dotfilltype dotframe dotted doublelinepen doublelinespacing down duplicateFuzz ellipsenodesnumberfactor eps epsgeo epsilon evenodd expansionfactor extendcap fermionpen figureborder figuremattpen file3 firstnode firststep foregroundcolor fuchsia fuzz gapfactor ghostpen gist_earth gist_ncar gist_stern gluonamplitude gluonpen gluonratio gray green grey hatchepsilon havepagenumber heavyblue heavycyan heavygray heavygreen heavygrey heavymagenta heavyred hline hot hsv hwratio hyperbolanodesnumberfactor identity identity4 ignore implicitshipout inch inches includegraphicscommand inf inferno infinity institutionpen intMax intMin invert invisible itempen itemskip itemstep jet labelmargin landscape lastnode left legendhskip legendlinelength legendmargin legendmarkersize legendmaxrelativewidth legendvskip lightblue lightcyan lightgray lightgreen lightgrey lightmagenta lightolive lightred lightyellow linemargin lm_infmsg lm_shortmsg longdashdotted longdashed magenta magma magneticRadius mantissaBits markangleradius markangleradiusfactor markanglespace markanglespacefactor maxDenominator maxrefinements mediumblue mediumcyan mediumgray mediumgreen mediumgrey mediummagenta mediumred mediumyellow middle minDistDefault minblockheight minblockwidth mincirclediameter minipagemargin minipagewidth minvertexangle miterjoin mm momarrowfactor momarrowlength momarrowmargin momarrowoffset momarrowpen monoPen morepoints nCircle nan newbulletcolor ngraph nil nipy_spectral nmesh nobasealign nodeMarginDefault nodesystem nomarker nopoint noprimary nullpath nullpen numarray ocgindex oldbulletcolor olive orange origin overpaint page pageheight pagemargin pagenumberalign pagenumberpen pagenumberposition pagewidth paleblue palecyan palegray palegreen palegrey palemagenta palered paleyellow parabolanodesnumberfactor perpfactor phi photonamplitude photonpen photonratio pi pink plain plain_bounds plain_scaling plasma plus preamblenodes pt purple r3 r4a r4b randMax realDigits realEpsilon realMax realMin red relativesystem reverse right roundcap roundjoin royalblue salmon saveFunctions scalarpen seismic sequencereal settings signedtrailingzero simplex solid spinner spring springgreen sqrtEpsilon squarecap squarepen startposition stdin stdout stepfactor stepfraction steppagenumberpen stepping stickframe stickmarksizefactor stickmarkspacefactor summer swap tab10 tab20 tab20b tab20c textpen ticksize tildeframe tildemarksizefactor tinv titlealign titlepagepen titlepageposition titlepen titleskip top trailingzero treeLevelStep treeMinNodeWidth treeNodeStep trembleAngle trembleFrequency trembleRandom tubegranularity twilight twilight_shifted undefined unitcircle unitsquare up urlpen urlskip v3dheadertypes v3dtypes version vertexpen vertexsize viewportmargin viewportsize viridis vline white winter wistia wye yellow ylabelwidth zeroTransform zerotickfuzz zerowinding ))
diff --git a/Master/texmf-dist/asymptote/rational.asy b/Master/texmf-dist/asymptote/rational.asy
index aac3d5be9b1..068376feceb 100644
--- a/Master/texmf-dist/asymptote/rational.asy
+++ b/Master/texmf-dist/asymptote/rational.asy
@@ -1,5 +1,7 @@
// Asymptote module implementing rational arithmetic.
+int maxDenominator=100000; // Maximum denominator for approximating reals
+
int gcd(int m, int n)
{
if(m < n) {
@@ -41,22 +43,52 @@ struct rational {
}
}
-rational operator cast(int p) {
+rational operator cast(int p)
+{
return rational(p,false);
}
-rational[] operator cast(int[] a) {
+rational[] operator cast(int[] a)
+{
return sequence(new rational(int i) {return a[i];},a.length);
}
-rational[][] operator cast(int[][] a) {
+rational[][] operator cast(int[][] a)
+{
return sequence(new rational[](int i) {return a[i];},a.length);
}
-real operator ecast(rational r) {
+real operator ecast(rational r)
+{
return r.p/r.q;
}
+rational operator ecast(real x)
+{
+ int sign=x >= 0.0 ? 1 : -1;
+ x=abs(x);
+ int a=floor(x); int b=1;
+ int c=a+1; int d=1;
+
+ while(true) {
+ int e=a+c;
+ int f=b+d;
+ if(f > maxDenominator) break;
+ if(e/f == x)
+ return rational(sign*e,f);
+ else {
+ if(e/f < x) {
+ a=e;
+ b=f;
+ } else {
+ c=e;
+ d=f;
+ }
+ }
+ }
+ return abs(a/b-x) < abs(c/d-x) ? rational(sign*a,b) : rational(sign*c,d);
+}
+
rational operator -(rational r)
{
return rational(-r.p,r.q,false);
@@ -272,4 +304,3 @@ rational[][] r=a;
write(r);
*/
-
diff --git a/Master/texmf-dist/asymptote/shaders/blend.glsl b/Master/texmf-dist/asymptote/shaders/blend.glsl
index 629cc2dda5e..76dfe94ad30 100755
--- a/Master/texmf-dist/asymptote/shaders/blend.glsl
+++ b/Master/texmf-dist/asymptote/shaders/blend.glsl
@@ -1,36 +1,49 @@
-layout(binding=0, std430) buffer sumBuffer {
- uint sum[];
+layout(binding=0, std430) buffer offsetBuffer {
+ uint offset[];
};
-layout(binding=1, std430) buffer offsetBuffer {
- uint offset[];
+layout(binding=1, std430) buffer maxBuffer {
+ uint maxSize;
+};
+
+#ifdef GPUINDEXING
+uniform uint offset2;
+uniform uint m1;
+uniform uint r;
+
+layout(binding=2, std430) buffer localSumBuffer {
+ uint localSum[];
};
+layout(binding=3, std430) buffer globalSumBuffer {
+ uint globalSum[];
+};
+#else
layout(binding=2, std430) buffer countBuffer {
uint count[];
};
+#endif
-layout(binding=3, std430) buffer fragmentBuffer {
+layout(binding=4, std430) buffer fragmentBuffer {
vec4 fragment[];
};
-layout(binding=4, std430) buffer depthBuffer {
+layout(binding=5, std430) buffer depthBuffer {
float depth[];
};
-layout(binding=5, std430) buffer opaqueBuffer {
+layout(binding=6, std430) buffer opaqueBuffer {
vec4 opaqueColor[];
};
-layout(binding=6, std430) buffer opaqueDepthBuffer {
+layout(binding=7, std430) buffer opaqueDepthBuffer {
float opaqueDepth[];
};
out vec4 outColor;
uniform uint width;
-uniform uint M;
-uniform uint r;
+uniform uint pixels;
uniform vec4 background;
vec4 blend(vec4 outColor, vec4 color)
@@ -41,91 +54,95 @@ vec4 blend(vec4 outColor, vec4 color)
void main()
{
uint headIndex=uint(gl_FragCoord.y)*width+uint(gl_FragCoord.x);
+#ifdef GPUINDEXING
+ uint size=offset[headIndex];
+#else
uint size=count[headIndex];
+#endif
float OpaqueDepth=opaqueDepth[headIndex];
if(size == 0u) {
#ifdef GPUINDEXING
- offset[headIndex]=0u;
+ offset[pixels+headIndex]=0u;
#endif
opaqueDepth[headIndex]=0.0;
discard;
}
- uint listIndex=
+ outColor=OpaqueDepth != 0.0 ? opaqueColor[headIndex] : background;
+
#ifdef GPUINDEXING
- sum[headIndex < r*(M+1u) ? headIndex/(M+1u) : (headIndex-r)/M]+
+ uint p=headIndex < r*(m1+1u) ? headIndex/(m1+1u) : (headIndex-r)/m1;
+ uint listIndex=localSum[p]+localSum[offset2+p/m2]+globalSum[p/(m2*m2)]+
+ offset[pixels+headIndex];
+#else
+ uint listIndex=offset[headIndex]-size;
#endif
- offset[headIndex];
- const uint maxSize=16u;
-
- // Sort the fragments with respect to descending depth
- if(size < maxSize) {
- vec4 sortedColor[maxSize];
- float sortedDepth[maxSize];
- uint k=0u;
-
- if(OpaqueDepth != 0.0)
- while(k < size && depth[listIndex+k] >= OpaqueDepth)
- ++k;
+ uint k=0u;
+ if(OpaqueDepth != 0.0)
+ while(k < size && depth[listIndex+k] >= OpaqueDepth)
+ ++k;
- uint i=0u;
+ // Sort the fragments with respect to descending depth
+ if(size-k <= ARRAYSIZE) {
if(k < size) {
- sortedColor[0]=fragment[listIndex+k];
- sortedDepth[0]=depth[listIndex+k];
+ uint Index[ARRAYSIZE];
+ float Depth[ARRAYSIZE];
+ Index[0]=k;
+ Depth[0]=depth[listIndex+k];
++k;
- i=1u;
+ uint i=1u;
while(true) {
if(OpaqueDepth != 0.0)
while(k < size && depth[listIndex+k] >= OpaqueDepth)
++k;
if(k == size) break;
- float D=depth[listIndex+k];
+ float d=depth[listIndex+k];
uint j=i;
- float d;
- while(j > 0u && D > sortedDepth[j-1u]) {
- sortedColor[j]=sortedColor[j-1u];
- sortedDepth[j]=sortedDepth[j-1u];
+ while(j > 0u && d > Depth[j-1u]) {
+ Index[j]=Index[j-1u];
+ Depth[j]=Depth[j-1u];
--j;
}
- sortedColor[j]=fragment[listIndex+k];
- sortedDepth[j]=D;
+ Index[j]=k++;
+ Depth[j]=d;
++i;
- ++k;
}
+ for(uint j=0u; j < i; ++j)
+ outColor=blend(outColor,fragment[listIndex+Index[j]]);
}
- outColor=OpaqueDepth != 0.0 ? opaqueColor[headIndex] : background;
- for(uint j=0u; j < i; ++j)
- outColor=blend(outColor,sortedColor[j]);
} else {
- uint k=0u;
- if(OpaqueDepth != 0.0)
- while(k < size && depth[listIndex+k] >= OpaqueDepth)
- ++k;
+ atomicMax(maxSize,size);
for(uint i=k+1u; i < size; i++) {
vec4 temp=fragment[listIndex+i];
- float D=depth[listIndex+i];
+ float d=depth[listIndex+i];
uint j=i;
- while(j > 0u && D > depth[listIndex+j-1u]) {
+ while(j > 0u && d > depth[listIndex+j-1u]) {
fragment[listIndex+j]=fragment[listIndex+j-1u];
depth[listIndex+j]=depth[listIndex+j-1u];
--j;
}
fragment[listIndex+j]=temp;
- depth[listIndex+j]=D;
+ depth[listIndex+j]=d;
}
- outColor=OpaqueDepth != 0.0 ? opaqueColor[headIndex] : background;
uint stop=listIndex+size;
- for(uint i=listIndex+k; i < stop; i++) {
- if(OpaqueDepth == 0.0 || depth[i] < OpaqueDepth)
+ if(OpaqueDepth == 0.0)
+ for(uint i=listIndex+k; i < stop; i++)
outColor=blend(outColor,fragment[i]);
- }
+ else
+ for(uint i=listIndex+k; i < stop; i++) {
+ if(depth[i] < OpaqueDepth)
+ outColor=blend(outColor,fragment[i]);
+ }
}
- count[headIndex]=0u;
+
opaqueDepth[headIndex]=0.0;
#ifdef GPUINDEXING
offset[headIndex]=0u;
+ offset[pixels+headIndex]=0u;
+#else
+ count[headIndex]=0u;
#endif
}
diff --git a/Master/texmf-dist/asymptote/shaders/count.glsl b/Master/texmf-dist/asymptote/shaders/count.glsl
index dae4e51f1b7..c9427714980 100755
--- a/Master/texmf-dist/asymptote/shaders/count.glsl
+++ b/Master/texmf-dist/asymptote/shaders/count.glsl
@@ -1,6 +1,12 @@
+#ifdef GPUINDEXING
+layout(binding=0, std430) buffer offsetBuffer {
+ uint count[];
+};
+#else
layout(binding=2, std430) buffer countBuffer {
uint count[];
};
+#endif
uniform uint width;
diff --git a/Master/texmf-dist/asymptote/shaders/fragment.glsl b/Master/texmf-dist/asymptote/shaders/fragment.glsl
index 5f60a56efd3..e8d4be86cf2 100755
--- a/Master/texmf-dist/asymptote/shaders/fragment.glsl
+++ b/Master/texmf-dist/asymptote/shaders/fragment.glsl
@@ -30,37 +30,50 @@ float Roughness;
#ifdef HAVE_SSBO
-layout(binding=0, std430) buffer sumBuffer {
- uint sum[];
+layout(binding=0, std430) buffer offsetBuffer {
+ uint offset[];
};
-layout(binding=1, std430) buffer offsetBuffer {
- uint offset[];
+#ifdef GPUINDEXING
+
+#if defined(TRANSPARENT) || (!defined(HAVE_INTERLOCK) && !defined(OPAQUE))
+uniform uint offset2;
+uniform uint m1;
+uniform uint r;
+#endif
+
+layout(binding=2, std430) buffer localSumBuffer {
+ uint localSum[];
};
+layout(binding=3, std430) buffer globalSumBuffer {
+ uint globalSum[];
+};
+#else
layout(binding=2, std430) buffer countBuffer {
uint count[];
};
+#endif
-layout(binding=3, std430) buffer fragmentBuffer {
+layout(binding=4, std430) buffer fragmentBuffer {
vec4 fragment[];
};
-layout(binding=4, std430) buffer depthBuffer {
+layout(binding=5, std430) buffer depthBuffer {
float depth[];
};
-layout(binding=5, std430) buffer opaqueBuffer {
+layout(binding=6, std430) buffer opaqueBuffer {
vec4 opaqueColor[];
};
-layout(binding=6, std430) buffer opaqueDepthBuffer {
+layout(binding=7, std430) buffer opaqueDepthBuffer {
float opaqueDepth[];
};
uniform uint width;
-uniform uint M;
-uniform uint r;
+uniform uint pixels;
+
#endif
#ifdef NORMAL
@@ -261,11 +274,13 @@ void main()
#ifdef HAVE_SSBO
uint headIndex=uint(gl_FragCoord.y)*width+uint(gl_FragCoord.x);
#if defined(TRANSPARENT) || (!defined(HAVE_INTERLOCK) && !defined(OPAQUE))
- uint listIndex=
#ifdef GPUINDEXING
- sum[headIndex < r*(M+1u) ? headIndex/(M+1u) : (headIndex-r)/M]+
+ uint p=headIndex < r*(m1+1u) ? headIndex/(m1+1u) : (headIndex-r)/m1;
+ uint listIndex=localSum[p]+localSum[offset2+p/m2]+globalSum[p/(m2*m2)]+
+ atomicAdd(offset[pixels+headIndex],-1u)-1u;
+#else
+ uint listIndex=offset[headIndex]-atomicAdd(count[headIndex],1u)-1u;
#endif
- offset[headIndex]+atomicAdd(count[headIndex],1u);
fragment[listIndex]=outColor;
depth[listIndex]=gl_FragCoord.z;
#ifndef WIREFRAME
@@ -274,12 +289,13 @@ void main()
#else
#ifndef OPAQUE
#ifdef HAVE_INTERLOCK
-beginInvocationInterlockARB();
-if(opaqueDepth[headIndex] == 0.0 || gl_FragCoord.z < opaqueDepth[headIndex]) {
- opaqueDepth[headIndex]=gl_FragCoord.z;
- opaqueColor[headIndex]=outColor;
-}
-endInvocationInterlockARB();
+ beginInvocationInterlockARB();
+ if(opaqueDepth[headIndex] == 0.0 || gl_FragCoord.z < opaqueDepth[headIndex])
+ {
+ opaqueDepth[headIndex]=gl_FragCoord.z;
+ opaqueColor[headIndex]=outColor;
+ }
+ endInvocationInterlockARB();
#endif
#endif
#endif
diff --git a/Master/texmf-dist/asymptote/shaders/offset.glsl b/Master/texmf-dist/asymptote/shaders/offset.glsl
deleted file mode 100755
index 5fe24e75587..00000000000
--- a/Master/texmf-dist/asymptote/shaders/offset.glsl
+++ /dev/null
@@ -1,11 +0,0 @@
-layout(binding=1, std430) buffer offsetBuffer {
- uint offset[];
-};
-
-uniform uint width;
-
-void main()
-{
- atomicAdd(offset[uint(gl_FragCoord.y)*width+uint(gl_FragCoord.x)+1u],1u);
- discard;
-}
diff --git a/Master/texmf-dist/asymptote/shaders/partialsum.glsl b/Master/texmf-dist/asymptote/shaders/partialsum.glsl
deleted file mode 100755
index d00195bb3ae..00000000000
--- a/Master/texmf-dist/asymptote/shaders/partialsum.glsl
+++ /dev/null
@@ -1,37 +0,0 @@
-layout(local_size_x=PROCESSORS) in;
-
-uniform uint elements;
-
-layout(binding=0, std430) buffer sumBuffer
-{
- uint sum[];
-};
-
-shared uint sharedData[PROCESSORS];
-
-void main(void)
-{
- uint id=gl_LocalInvocationID.x;
- sharedData[id]=sum[id+1u];
-
- barrier();
-
- uint index=id << 1u;
- sharedData[index+1u] += sharedData[index];
- barrier();
- for(uint step=1u; step < STEPSM1; step++) {
- uint mask=(1u << step)-1u;
- uint index=((id >> step) << (step+1u))+mask;
- uint windex=index+(id&mask)+1u;
- sharedData[windex] += sharedData[index];
- barrier();
- }
- uint mask=(1u << STEPSM1)-1u;
- index=((id >> STEPSM1) << (STEPSM1+1u))+mask;
- uint windex=index+(id&mask)+1u;
- if(windex < PROCESSORS)
- sharedData[windex] += sharedData[index];
- barrier();
-
- sum[id+1u]=sharedData[id];
-}
diff --git a/Master/texmf-dist/asymptote/shaders/presum.glsl b/Master/texmf-dist/asymptote/shaders/presum.glsl
deleted file mode 100755
index 5b0a8df89e0..00000000000
--- a/Master/texmf-dist/asymptote/shaders/presum.glsl
+++ /dev/null
@@ -1,37 +0,0 @@
-layout(local_size_x=1) in;
-
-uniform uint elements;
-
-layout(binding=0, std430) buffer sumBuffer
-{
- uint sum[];
-};
-
-layout(binding=1, std430) buffer offsetBuffer
-{
- uint offset[];
-};
-
-void main(void)
-{
- uint id=gl_GlobalInvocationID.x;
-
- uint m=elements/gl_NumWorkGroups.x;
- uint r=elements-m*gl_NumWorkGroups.x;
- uint row,stop;
- if(id < r) {
- row=m*id+id;
- stop=row+m+1u;
- } else {
- row=m*id+r;
- stop=row+m;
- }
-
- uint Sum=offset[row];
- for(uint i=row+1u; i < stop; ++i) {
- Sum += offset[i];
- offset[i]=Sum;
- }
-
- sum[id+1u]=Sum;
-}
diff --git a/Master/texmf-dist/asymptote/shaders/sum1.glsl b/Master/texmf-dist/asymptote/shaders/sum1.glsl
new file mode 100755
index 00000000000..2cb9ed23aac
--- /dev/null
+++ b/Master/texmf-dist/asymptote/shaders/sum1.glsl
@@ -0,0 +1,38 @@
+layout(local_size_x=LOCAL_SIZE_X) in;
+
+uniform uint elements;
+
+layout(binding=0, std430) buffer offsetBuffer
+{
+ uint offset[];
+};
+
+layout(binding=2, std430) buffer localSumBuffer
+{
+ uint localSum[];
+};
+
+void main(void)
+{
+ uint id=gl_GlobalInvocationID.x;
+
+ uint m=elements/(gl_WorkGroupSize.x*gl_NumWorkGroups.x);
+ uint r=elements-m*gl_WorkGroupSize.x*gl_NumWorkGroups.x;
+ uint row,stop;
+ if(id < r) {
+ row=m*id+id;
+ stop=row+m+1u;
+ } else {
+ row=m*id+r;
+ stop=row+m;
+ }
+
+ uint Sum=offset[row];
+ offset[elements+row]=Sum;
+ for(uint i=row+1u; i < stop; ++i) {
+ Sum += offset[i];
+ offset[elements+i]=Sum;
+ }
+
+ localSum[id+1u]=Sum;
+}
diff --git a/Master/texmf-dist/asymptote/shaders/sum2.glsl b/Master/texmf-dist/asymptote/shaders/sum2.glsl
new file mode 100755
index 00000000000..1ab03513ebd
--- /dev/null
+++ b/Master/texmf-dist/asymptote/shaders/sum2.glsl
@@ -0,0 +1,24 @@
+layout(local_size_x=LOCAL_SIZE_X) in;
+
+uniform uint offset2;
+
+layout(binding=2, std430) buffer localSumBuffer
+{
+ uint localSum[];
+};
+
+void main(void)
+{
+ uint id=gl_GlobalInvocationID.x;
+
+ uint row=LOCAL_SIZE_X*id;
+ uint stop=row+LOCAL_SIZE_X;
+
+ uint Sum=localSum[row];
+ for(uint i=row+1u; i < stop; ++i) {
+ Sum += localSum[i];
+ localSum[i]=Sum;
+ }
+
+ localSum[offset2+id+1u]=Sum;
+}
diff --git a/Master/texmf-dist/asymptote/shaders/sum3.glsl b/Master/texmf-dist/asymptote/shaders/sum3.glsl
new file mode 100755
index 00000000000..85f55ff2a6c
--- /dev/null
+++ b/Master/texmf-dist/asymptote/shaders/sum3.glsl
@@ -0,0 +1,28 @@
+layout(local_size_x=LOCAL_SIZE_X) in;
+
+uniform uint offset2;
+
+layout(binding=2, std430) buffer localSumBuffer
+{
+ uint localSum[];
+};
+
+layout(binding=3, std430) buffer globalSumBuffer {
+ uint globalSum[];
+};
+
+void main(void)
+{
+ uint id=gl_GlobalInvocationID.x;
+
+ uint row=offset2+LOCAL_SIZE_X*id;
+ uint stop=row+LOCAL_SIZE_X;
+
+ uint Sum=localSum[row];
+ for(uint i=row+1u; i < stop; ++i) {
+ Sum += localSum[i];
+ localSum[i]=Sum;
+ }
+
+ globalSum[id+1u]=Sum;
+}
diff --git a/Master/texmf-dist/asymptote/shaders/count0.glsl b/Master/texmf-dist/asymptote/shaders/zero.glsl
index 9bcb6d222e5..9bcb6d222e5 100755
--- a/Master/texmf-dist/asymptote/shaders/count0.glsl
+++ b/Master/texmf-dist/asymptote/shaders/zero.glsl
diff --git a/Master/texmf-dist/asymptote/v3dheadertypes.asy b/Master/texmf-dist/asymptote/v3dheadertypes.asy
index fd4afe81652..dba3c18d0b3 100644
--- a/Master/texmf-dist/asymptote/v3dheadertypes.asy
+++ b/Master/texmf-dist/asymptote/v3dheadertypes.asy
@@ -1,6 +1,6 @@
// Enum class for v3dheadertypes
// AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2022-02-04 23:53:49.222250
+// Generated at 2022-03-07 12:05:14.285216
struct v3dheadertypes
{
diff --git a/Master/texmf-dist/asymptote/v3dtypes.asy b/Master/texmf-dist/asymptote/v3dtypes.asy
index 52515a14ba6..6de6b31c5c2 100644
--- a/Master/texmf-dist/asymptote/v3dtypes.asy
+++ b/Master/texmf-dist/asymptote/v3dtypes.asy
@@ -1,6 +1,6 @@
// Enum class for v3dtypes
// AUTO-GENERATED from v3dtypes.csv
-// Generated at 2022-02-04 23:53:49.158592
+// Generated at 2022-03-07 12:05:14.274334
struct v3dtypes
{
diff --git a/Master/texmf-dist/asymptote/version.asy b/Master/texmf-dist/asymptote/version.asy
index 3307fb55963..b28ea576adc 100644
--- a/Master/texmf-dist/asymptote/version.asy
+++ b/Master/texmf-dist/asymptote/version.asy
@@ -1 +1 @@
-string VERSION="2.78";
+string VERSION="2.79";
diff --git a/Master/texmf-dist/doc/asymptote/CAD.pdf b/Master/texmf-dist/doc/asymptote/CAD.pdf
index c9e5dc9942a..59b6de4844d 100644
--- a/Master/texmf-dist/doc/asymptote/CAD.pdf
+++ b/Master/texmf-dist/doc/asymptote/CAD.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
index b585bd4ef0d..f16877d17a0 100644
--- a/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
+++ b/Master/texmf-dist/doc/asymptote/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asy-latex.pdf b/Master/texmf-dist/doc/asymptote/asy-latex.pdf
index 3e57a01df6a..f321e985992 100644
--- a/Master/texmf-dist/doc/asymptote/asy-latex.pdf
+++ b/Master/texmf-dist/doc/asymptote/asy-latex.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
index 63dc23bf577..329c9f2cdac 100644
--- a/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
+++ b/Master/texmf-dist/doc/asymptote/asyRefCard.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/asymptote/asymptote.pdf b/Master/texmf-dist/doc/asymptote/asymptote.pdf
index a2098dfa94c..5b0956acb0d 100644
--- a/Master/texmf-dist/doc/asymptote/asymptote.pdf
+++ b/Master/texmf-dist/doc/asymptote/asymptote.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/info/asy-faq.info b/Master/texmf-dist/doc/info/asy-faq.info
index bfd11cacf0b..87570ff8d93 100644
--- a/Master/texmf-dist/doc/info/asy-faq.info
+++ b/Master/texmf-dist/doc/info/asy-faq.info
@@ -10,7 +10,7 @@ END-INFO-DIR-ENTRY
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 2022-02-05
+ 2022-03-07
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/Master/texmf-dist/doc/info/asymptote.info b/Master/texmf-dist/doc/info/asymptote.info
index a6d3a7fedf5..6975f386052 100644
--- a/Master/texmf-dist/doc/info/asymptote.info
+++ b/Master/texmf-dist/doc/info/asymptote.info
@@ -1,7 +1,7 @@
-This is asymptote.info, produced by makeinfo version 6.7 from
+This is asymptote.info, produced by makeinfo version 6.8 from
asymptote.texi.
-This file documents 'Asymptote', version 2.78.
+This file documents 'Asymptote', version 2.79.
<https://asymptote.sourceforge.io>
@@ -22,7 +22,7 @@ File: asymptote.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
Asymptote
*********
-This file documents 'Asymptote', version 2.78.
+This file documents 'Asymptote', version 2.79.
<https://asymptote.sourceforge.io>
@@ -372,7 +372,7 @@ File: asymptote.info, Node: Configuring, Next: Search paths, Prev: Microsoft
In interactive mode, or when given the '-V' option (the default when
running 'Asymptote' on a single file under 'MSDOS'), 'Asymptote' will
automatically invoke the 'PostScript' viewer 'gv' (under 'UNIX') or
-'gsview' (under 'MSDOS' to display graphical output. The 'PostScript'
+'gsview' (under 'MSDOS') to display graphical output. The 'PostScript'
viewer should be capable of automatically redrawing whenever the output
file is updated. The default 'UNIX' 'PostScript' viewer 'gv' supports
this (via a 'SIGHUP' signal). Version 'gv-3.6.3' or later (from
@@ -384,7 +384,7 @@ necessary to click on the 'gsview' window; under 'UNIX' one must
manually redisplay by pressing the 'r' key).
Configuration variables are most easily set as 'Asymptote' variables
-in an optional configuration file 'config.asy' *note configuration
+in an optional configuration file 'config.asy' (*note configuration
file::). For example, the setting 'pdfviewer' specifies the location of
the PDF viewer. Here are the default values of several important
configuration variables under 'UNIX':
@@ -864,7 +864,8 @@ label("(0,0,1)",(0,0,1),Z);
external links posted at <https://asymptote.sourceforge.io>) for further
examples, including two-dimensional and interactive three-dimensional
scientific graphs. Additional examples have been posted by Philippe
-Ivaldi at <http://www.piprime.fr/asymptote>.
+Ivaldi at
+<https://web.archive.org/web/20201130113133/http://www.piprime.fr/asymptote>.

File: asymptote.info, Node: Drawing commands, Next: Bezier curves, Prev: Tutorial, Up: Top
@@ -5035,6 +5036,7 @@ draw("$X$",z0+s--z2+s,darkgreen,Arrows,Bars,PenMargins);
\end{center}
\end{document}
[./latexusage]
+

File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage, Up: Top
@@ -5202,8 +5204,9 @@ geometry routines, including 'perpendicular' symbols and a 'triangle'
structure. Link to the documentation for the 'geometry' module are
posted here: <https://asymptote.sourceforge.io/links.html>, including an
extensive set of examples,
-<http://www.piprime.fr/files/asymptote/geometry/>, and an index:
- <http://www.piprime.fr/files/asymptote/geometry/modules/geometry.asy.index.type.html>
+<https://web.archive.org/web/20201130113133/http://www.piprime.fr/files/asymptote/geometry/>,
+and an index:
+ <https://web.archive.org/web/20201130113133/http://www.piprime.fr/files/asymptote/geometry/modules/geometry.asy.index.type.html>

File: asymptote.info, Node: trembling, Next: stats, Prev: geometry, Up: Base modules
@@ -7707,7 +7710,8 @@ File: asymptote.info, Node: grid3, Next: solids, Prev: graph3, Up: Base modu
This module, contributed by Philippe Ivaldi, can be used for drawing 3D
grids. Here is an example (further examples can be found in 'grid3.asy'
-and at <http://www.piprime.fr/files/asymptote/grid3/>):
+and at
+<https://web.archive.org/web/20201130113133/http://www.piprime.fr/files/asymptote/grid3/>):
import grid3;
size(8cm,0,IgnoreAspect);
@@ -7812,7 +7816,7 @@ default shading behavior for a surface.
An example of 'tube' is provided in the file 'trefoilknot.asy'.
Further examples can be found at
-<http://www.piprime.fr/files/asymptote/tube/>.
+<https://web.archive.org/web/20201130113133/http://www.piprime.fr/files/asymptote/tube>.

File: asymptote.info, Node: flowchart, Next: contour, Prev: tube, Up: Base modules
@@ -8264,6 +8268,7 @@ Options (negate by replacing - with -no):
-GPUindexing Compute indexing partial sums on GPU [true]
-GPUinterlock Use fragment shader interlock [true]
+-GPUlocalSize n Compute shader local size [16]
-V,-View View output; command-line only
-absolute Use absolute WebGL dimensions [false]
-a,-align C|B|T|Z Center, Bottom, Top, or Zero page alignment [C]
@@ -8613,6 +8618,12 @@ available as
<https://sourceforge.net/projects/tumagcc/files/rsvg-convert-2.40.20.7z>
+ Deconstruction of a picture into its components is fastest when using
+the 'LaTeX' TeX engine. One can speed up deconstruction for other TeX
+engines using the 2.13.1 version or later of 'dvisvgm' and setting
+'dvisvgmMultipleFiles=true;' in the 'Asymptote' configuration file
+(*note configuration file::).
+

File: asymptote.info, Node: GUI usage, Prev: GUI installation, Up: GUI
@@ -8921,9 +8932,9 @@ Index
* ---: Bezier curves. (line 84)
* -=: Self & prefix operators.
(line 6)
-* -c: Options. (line 205)
-* -l: Options. (line 224)
-* -u: Options. (line 215)
+* -c: Options. (line 206)
+* -l: Options. (line 225)
+* -u: Options. (line 216)
* -V: Configuring. (line 6)
* -V <1>: Drawing in batch mode.
(line 16)
@@ -9002,8 +9013,8 @@ Index
* alias: Structures. (line 62)
* alias <1>: Arrays. (line 183)
* Align: label. (line 12)
-* aligndir: Options. (line 197)
-* all: Arrays. (line 341)
+* aligndir: Options. (line 198)
+* all: Arrays. (line 342)
* Allow: Pens. (line 363)
* and: Bezier curves. (line 56)
* AND: Arithmetic & logical.
@@ -9016,7 +9027,7 @@ Index
* animation <1>: animation. (line 6)
* annotate: annotate. (line 6)
* antialias: three. (line 261)
-* antialias <1>: Options. (line 167)
+* antialias <1>: Options. (line 168)
* append: Files. (line 38)
* append <1>: Arrays. (line 39)
* arc: Paths and guides. (line 24)
@@ -9070,7 +9081,7 @@ Index
* Asymptote Web Application: Description. (line 6)
* asymptote.sty: LaTeX usage. (line 6)
* asymptote.xml: Editing modes. (line 48)
-* ASYMPTOTE_CONFIG: Options. (line 138)
+* ASYMPTOTE_CONFIG: Options. (line 139)
* atan: Mathematical functions.
(line 6)
* aTan: Mathematical functions.
@@ -9085,7 +9096,7 @@ Index
* attach <1>: LaTeX usage. (line 50)
* attach <2>: graph. (line 406)
* autoadjust: three. (line 418)
-* autoimport: Options. (line 134)
+* autoimport: Options. (line 135)
* automatic scaling: graph. (line 710)
* automatic scaling <1>: graph. (line 710)
* axialshade: fill. (line 43)
@@ -9245,13 +9256,13 @@ Index
* conditional <1>: Arithmetic & logical.
(line 61)
* config: Configuring. (line 74)
-* config <1>: Options. (line 138)
+* config <1>: Options. (line 139)
* configuration file: Configuring. (line 20)
-* configuration file <1>: Options. (line 138)
+* configuration file <1>: Options. (line 139)
* configuring: Configuring. (line 6)
* conj: Data types. (line 62)
* constructors: Structures. (line 91)
-* context: Options. (line 167)
+* context: Options. (line 168)
* continue: Programming. (line 48)
* continue <1>: Debugger. (line 31)
* contour: contour. (line 6)
@@ -9262,8 +9273,8 @@ Index
* convert: Configuring. (line 74)
* convert <1>: Files. (line 159)
* convert <2>: animation. (line 6)
-* convert <3>: Options. (line 167)
-* convertOptions: Options. (line 153)
+* convert <3>: Options. (line 168)
+* convertOptions: Options. (line 154)
* Coons shading: fill. (line 78)
* copy: Arrays. (line 176)
* cos: Mathematical functions.
@@ -9302,7 +9313,7 @@ Index
* cyclic <1>: Paths and guides. (line 376)
* cyclic <2>: Arrays. (line 39)
* cyclic <3>: three. (line 556)
-* Cyrillic: Pens. (line 237)
+* Cyrillic: Pens. (line 238)
* dashdotted: Pens. (line 102)
* dashed: Pens. (line 102)
* data types: Data types. (line 6)
@@ -9375,10 +9386,10 @@ Index
* drawline: math. (line 9)
* drawtree: drawtree. (line 6)
* dvips: Configuring. (line 74)
-* dvipsOptions: Options. (line 153)
+* dvipsOptions: Options. (line 154)
* dvisvgm: Configuring. (line 74)
-* dvisvgm <1>: Options. (line 172)
-* dvisvgmOptions: Options. (line 153)
+* dvisvgm <1>: Options. (line 173)
+* dvisvgmOptions: Options. (line 154)
* E: Labels. (line 18)
* E <1>: Mathematical functions.
(line 48)
@@ -9420,7 +9431,7 @@ Index
* eol: Files. (line 97)
* eol <1>: Arrays. (line 356)
* EPS: label. (line 78)
-* EPS <1>: Options. (line 167)
+* EPS <1>: Options. (line 168)
* erase: Drawing in interactive mode.
(line 11)
* erase <1>: Data types. (line 257)
@@ -9511,7 +9522,7 @@ Index
* fontsize: Pens. (line 192)
* for: Programming. (line 26)
* format: Data types. (line 290)
-* format <1>: Options. (line 167)
+* format <1>: Options. (line 168)
* forum: Help. (line 6)
* frame: Frames and pictures.
(line 7)
@@ -9539,7 +9550,7 @@ Index
* globalwrite: Files. (line 40)
* globalwrite <1>: Files. (line 154)
* glOptions: three. (line 261)
-* glOptions <1>: Options. (line 153)
+* glOptions <1>: Options. (line 154)
* GNU Scientific Library: Mathematical functions.
(line 48)
* gouraudshade: fill. (line 63)
@@ -9548,7 +9559,7 @@ Index
* graph: graph. (line 6)
* graph3: graph3. (line 6)
* graphic: label. (line 78)
-* graphic <1>: Options. (line 172)
+* graphic <1>: Options. (line 173)
* graphical user interface: GUI. (line 6)
* graphwithderiv: graph. (line 670)
* gray: Pens. (line 25)
@@ -9562,7 +9573,7 @@ Index
(line 62)
* gsl: Mathematical functions.
(line 48)
-* gsOptions: Options. (line 153)
+* gsOptions: Options. (line 154)
* GUI: GUI. (line 6)
* GUI installation: GUI installation. (line 6)
* GUI usage: GUI usage. (line 6)
@@ -9585,15 +9596,15 @@ Index
(line 39)
* history: Files. (line 147)
* history <1>: Interactive mode. (line 54)
-* historylines: Interactive mode. (line 57)
+* historylines: Interactive mode. (line 58)
* HookHead: draw. (line 26)
* HookHead3: three. (line 622)
* Horizontal: flowchart. (line 77)
* HTML5: three. (line 233)
* htmlviewer: Configuring. (line 20)
* htmlviewer <1>: Configuring. (line 43)
-* htmlviewerOptions: Options. (line 153)
-* hyperrefOptions: Options. (line 153)
+* htmlviewerOptions: Options. (line 154)
+* hyperrefOptions: Options. (line 154)
* hypot: Mathematical functions.
(line 6)
* I: Mathematical functions.
@@ -9613,7 +9624,7 @@ Index
* image-based lighting: three. (line 104)
* ImageMagick: Configuring. (line 74)
* ImageMagick <1>: animation. (line 6)
-* ImageMagick <2>: Options. (line 167)
+* ImageMagick <2>: Options. (line 168)
* images: palette. (line 6)
* implicit casts: Casts. (line 6)
* implicit linear solver: MetaPost. (line 10)
@@ -9722,7 +9733,7 @@ Index
(line 6)
* lastcut: Paths and guides. (line 266)
* lasy-mode: Editing modes. (line 6)
-* latex: Options. (line 167)
+* latex: Options. (line 168)
* LaTeX NFSS fonts: Pens. (line 206)
* LaTeX usage: LaTeX usage. (line 6)
* latexmk: LaTeX usage. (line 30)
@@ -9753,7 +9764,7 @@ Index
* lexorder: math. (line 63)
* lexorder <1>: math. (line 66)
* libcurl: Import. (line 94)
-* libgs: Options. (line 172)
+* libgs: Options. (line 173)
* libm routines: Mathematical functions.
(line 6)
* libsigsegv: Functions. (line 100)
@@ -9788,8 +9799,8 @@ Index
* loop: Programming. (line 26)
* LSP: Language server protocol.
(line 6)
-* lualatex: Options. (line 167)
-* luatex: Options. (line 167)
+* lualatex: Options. (line 168)
+* luatex: Options. (line 168)
* MacOS X binary distributions: MacOS X binary distributions.
(line 6)
* MacOS X configuration: Compiling from UNIX source.
@@ -9895,7 +9906,7 @@ Index
* None <1>: draw. (line 26)
* none: Files. (line 65)
* normal: three. (line 542)
-* nosafe: Options. (line 192)
+* nosafe: Options. (line 193)
* NOT: Arithmetic & logical.
(line 68)
* notaknot: graph. (line 36)
@@ -9916,7 +9927,7 @@ Index
* obliqueZ: three. (line 378)
* ode: ode. (line 6)
* offset: Pens. (line 123)
-* offset <1>: Options. (line 197)
+* offset <1>: Options. (line 198)
* OmitTick: graph. (line 223)
* OmitTickInterval: graph. (line 223)
* OmitTickIntervals: graph. (line 223)
@@ -9948,7 +9959,7 @@ Index
* outprefix: Frames and pictures.
(line 91)
* output: Files. (line 38)
-* output <1>: Options. (line 167)
+* output <1>: Options. (line 168)
* OutTicks: graph3. (line 35)
* overloading functions: Functions. (line 55)
* overwrite: Pens. (line 360)
@@ -9981,11 +9992,11 @@ Index
* patterns: Pens. (line 271)
* patterns <1>: patterns. (line 6)
* PBR: three. (line 74)
-* PDF: Options. (line 167)
-* pdflatex: Options. (line 167)
-* pdfreloadOptions: Options. (line 153)
+* PDF: Options. (line 168)
+* pdflatex: Options. (line 168)
+* pdfreloadOptions: Options. (line 154)
* pdfviewer: Configuring. (line 20)
-* pdfviewerOptions: Options. (line 153)
+* pdfviewerOptions: Options. (line 154)
* pen: Pens. (line 6)
* PenMargin: draw. (line 42)
* PenMargin2: three. (line 638)
@@ -10042,7 +10053,7 @@ Index
* pstoedit: PostScript to Asymptote.
(line 6)
* psviewer: Configuring. (line 20)
-* psviewerOptions: Options. (line 153)
+* psviewerOptions: Options. (line 154)
* pt: Figure size. (line 18)
* public: Structures. (line 6)
* push: Arrays. (line 39)
@@ -10095,7 +10106,7 @@ Index
* rename: Files. (line 156)
* render: three. (line 46)
* render <1>: three. (line 184)
-* render <2>: Options. (line 167)
+* render <2>: Options. (line 168)
* replace: Data types. (line 270)
* resetdefaultpen: Pens. (line 387)
* rest arguments: Rest arguments. (line 6)
@@ -10132,9 +10143,9 @@ Index
* RPM: UNIX binary distributions.
(line 6)
* runtime imports: Import. (line 102)
-* Russian: Pens. (line 237)
+* Russian: Pens. (line 238)
* S: Labels. (line 18)
-* safe: Options. (line 192)
+* safe: Options. (line 193)
* save: Frames and pictures.
(line 288)
* saveline: Files. (line 139)
@@ -10166,7 +10177,7 @@ Index
(line 6)
* sequence: Arrays. (line 118)
* settings: Configuring. (line 20)
-* settings <1>: Options. (line 138)
+* settings <1>: Options. (line 139)
* sgn: Mathematical functions.
(line 26)
* shading: fill. (line 32)
@@ -10210,7 +10221,7 @@ Index
* size <4>: Frames and pictures.
(line 74)
* size <5>: three. (line 556)
-* size <6>: Options. (line 167)
+* size <6>: Options. (line 168)
* size3: three. (line 320)
* Slant: label. (line 42)
* slant: Transforms. (line 38)
@@ -10280,9 +10291,9 @@ Index
* surface <2>: three. (line 128)
* surface <3>: three. (line 142)
* surface <4>: graph3. (line 99)
-* SVG: Options. (line 172)
+* SVG: Options. (line 173)
* system: Data types. (line 354)
-* system <1>: Options. (line 192)
+* system <1>: Options. (line 193)
* syzygy: syzygy. (line 6)
* tab: Files. (line 65)
* tab completion: Drawing in interactive mode.
@@ -10303,7 +10314,7 @@ Index
* tessellation: three. (line 154)
* tex: Frames and pictures.
(line 305)
-* tex <1>: Options. (line 167)
+* tex <1>: Options. (line 168)
* TeX fonts: Pens. (line 213)
* TeX string: Data types. (line 208)
* texcommand: Configuring. (line 74)
@@ -10398,7 +10409,7 @@ Index
* UpsideDown: Frames and pictures.
(line 104)
* UpsideDown <1>: Frames and pictures.
- (line 110)
+ (line 111)
* URL: Import. (line 94)
* usepackage: Frames and pictures.
(line 321)
@@ -10447,7 +10458,7 @@ Index
* xasy: GUI. (line 6)
* xaxis3: graph3. (line 7)
* xdr: Files. (line 80)
-* xelatex: Options. (line 167)
+* xelatex: Options. (line 168)
* XEquals: graph. (line 265)
* xequals: graph. (line 278)
* xlimits: graph. (line 639)
@@ -10516,146 +10527,146 @@ Node: UNIX binary distributions12610
Node: MacOS X binary distributions13733
Node: Microsoft Windows14321
Node: Configuring15529
-Node: Search paths20142
-Node: Compiling from UNIX source21150
-Node: Editing modes24301
-Node: Git26723
-Node: Uninstall27230
-Node: Tutorial27576
-Node: Drawing in batch mode28423
-Node: Drawing in interactive mode29299
-Node: Figure size30331
-Node: Labels31926
-Node: Paths32754
-Ref: unitcircle33370
-Node: Drawing commands35268
-Node: draw37076
-Ref: arrows38258
-Node: fill43773
-Ref: gradient shading44819
-Node: clip49433
-Node: label50182
-Ref: Label50782
-Node: Bezier curves56639
-Node: Programming60539
-Ref: array iteration62292
-Node: Data types62459
-Ref: format73227
-Node: Paths and guides77673
-Ref: circle77927
-Ref: extension87627
-Node: Pens94437
-Ref: fillrule102128
-Ref: basealign103032
-Ref: transparency106714
-Ref: makepen110308
-Ref: overwrite111192
-Node: Transforms112406
-Node: Frames and pictures114345
-Ref: envelope115503
-Ref: size116596
-Ref: unitsize117583
-Ref: shipout118656
-Ref: filltype121007
-Ref: add124420
-Ref: add about125362
-Ref: tex128392
-Node: Files129287
-Ref: cd130344
-Ref: scroll135246
-Node: Variable initializers138164
-Node: Structures140881
-Node: Operators148454
-Node: Arithmetic & logical148768
-Node: Self & prefix operators151138
-Node: User-defined operators151932
-Node: Implicit scaling152845
-Node: Functions153408
-Ref: stack overflow156525
-Node: Default arguments156807
-Node: Named arguments157563
-Node: Rest arguments160133
-Node: Mathematical functions163254
-Node: Arrays167911
-Ref: sort175350
-Ref: tridiagonal178261
-Ref: solve179492
-Node: Slices183632
-Node: Casts187540
-Node: Import189810
-Node: Static195380
-Node: LaTeX usage198266
-Node: Base modules204780
-Node: plain207257
-Node: simplex207931
-Node: math208204
-Node: interpolate210871
-Node: geometry211150
-Node: trembling211744
-Node: stats212013
-Node: patterns212272
-Node: markers212507
-Node: map214365
-Node: tree214789
-Node: binarytree214969
-Node: drawtree215636
-Node: syzygy215837
-Node: feynman216111
-Node: roundedpath216385
-Node: animation216667
-Ref: animate217088
-Node: embed218200
-Node: slide219154
-Node: MetaPost219485
-Node: babel220201
-Node: labelpath220433
-Node: labelpath3221253
-Node: annotate221564
-Node: CAD222034
-Node: graph222344
-Ref: ticks229503
-Ref: pathmarkers243225
-Ref: marker243695
-Ref: markuniform244049
-Ref: errorbars245908
-Ref: automatic scaling251037
-Node: palette262747
-Ref: images262865
-Ref: image267161
-Ref: logimage267682
-Ref: penimage268788
-Ref: penfunctionimage269051
-Node: three269823
-Ref: PostScript3D300123
-Node: obj301861
-Node: graph3302110
-Ref: GaussianSurface307392
-Node: grid3308542
-Node: solids309327
-Node: tube310319
-Node: flowchart312549
-Node: contour317192
-Node: contour3323700
-Node: smoothcontour3324012
-Node: slopefield325731
-Node: ode327220
-Node: Options327477
-Ref: configuration file335032
-Ref: settings335032
-Ref: texengines336296
-Ref: convert336296
-Node: Interactive mode339739
-Ref: history341888
-Node: GUI343191
-Node: GUI installation343741
-Node: GUI usage344474
-Node: Command-Line Interface345537
-Node: Language server protocol346979
-Node: PostScript to Asymptote348404
-Node: Help349182
-Node: Debugger350856
-Node: Credits352612
-Node: Index353837
+Node: Search paths20144
+Node: Compiling from UNIX source21152
+Node: Editing modes24303
+Node: Git26725
+Node: Uninstall27232
+Node: Tutorial27578
+Node: Drawing in batch mode28425
+Node: Drawing in interactive mode29301
+Node: Figure size30333
+Node: Labels31928
+Node: Paths32756
+Ref: unitcircle33372
+Node: Drawing commands35313
+Node: draw37121
+Ref: arrows38303
+Node: fill43818
+Ref: gradient shading44864
+Node: clip49478
+Node: label50227
+Ref: Label50827
+Node: Bezier curves56684
+Node: Programming60584
+Ref: array iteration62337
+Node: Data types62504
+Ref: format73272
+Node: Paths and guides77718
+Ref: circle77972
+Ref: extension87672
+Node: Pens94482
+Ref: fillrule102173
+Ref: basealign103077
+Ref: transparency106759
+Ref: makepen110353
+Ref: overwrite111237
+Node: Transforms112451
+Node: Frames and pictures114390
+Ref: envelope115548
+Ref: size116641
+Ref: unitsize117628
+Ref: shipout118701
+Ref: filltype121052
+Ref: add124465
+Ref: add about125407
+Ref: tex128437
+Node: Files129332
+Ref: cd130389
+Ref: scroll135291
+Node: Variable initializers138209
+Node: Structures140926
+Node: Operators148499
+Node: Arithmetic & logical148813
+Node: Self & prefix operators151183
+Node: User-defined operators151977
+Node: Implicit scaling152890
+Node: Functions153453
+Ref: stack overflow156570
+Node: Default arguments156852
+Node: Named arguments157608
+Node: Rest arguments160178
+Node: Mathematical functions163299
+Node: Arrays167956
+Ref: sort175395
+Ref: tridiagonal178306
+Ref: solve179537
+Node: Slices183677
+Node: Casts187585
+Node: Import189855
+Node: Static195425
+Node: LaTeX usage198311
+Node: Base modules204826
+Node: plain207303
+Node: simplex207977
+Node: math208250
+Node: interpolate210917
+Node: geometry211196
+Node: trembling211876
+Node: stats212145
+Node: patterns212404
+Node: markers212639
+Node: map214497
+Node: tree214921
+Node: binarytree215101
+Node: drawtree215768
+Node: syzygy215969
+Node: feynman216243
+Node: roundedpath216517
+Node: animation216799
+Ref: animate217220
+Node: embed218332
+Node: slide219286
+Node: MetaPost219617
+Node: babel220333
+Node: labelpath220565
+Node: labelpath3221385
+Node: annotate221696
+Node: CAD222166
+Node: graph222476
+Ref: ticks229635
+Ref: pathmarkers243357
+Ref: marker243827
+Ref: markuniform244181
+Ref: errorbars246040
+Ref: automatic scaling251169
+Node: palette262879
+Ref: images262997
+Ref: image267293
+Ref: logimage267814
+Ref: penimage268920
+Ref: penfunctionimage269183
+Node: three269955
+Ref: PostScript3D300255
+Node: obj301993
+Node: graph3302242
+Ref: GaussianSurface307524
+Node: grid3308674
+Node: solids309502
+Node: tube310494
+Node: flowchart312766
+Node: contour317409
+Node: contour3323917
+Node: smoothcontour3324229
+Node: slopefield325948
+Node: ode327437
+Node: Options327694
+Ref: configuration file335303
+Ref: settings335303
+Ref: texengines336567
+Ref: convert336567
+Node: Interactive mode340010
+Ref: history342159
+Node: GUI343462
+Node: GUI installation344012
+Node: GUI usage345054
+Node: Command-Line Interface346117
+Node: Language server protocol347559
+Node: PostScript to Asymptote348984
+Node: Help349762
+Node: Debugger351436
+Node: Credits353192
+Node: Index354417

End Tag Table
diff --git a/Master/texmf-dist/doc/man/man1/asy.1 b/Master/texmf-dist/doc/man/man1/asy.1
index faa77d42b14..067d01031c6 100644
--- a/Master/texmf-dist/doc/man/man1/asy.1
+++ b/Master/texmf-dist/doc/man/man1/asy.1
@@ -37,6 +37,9 @@ Compute indexing partial sums on GPU [true].
.B \-GPUinterlock
Use fragment shader interlock [true].
.TP
+.B \-GPUlocalSize n
+Compute shader local size [16].
+.TP
.B \-V,\-View
View output; command-line only.
.TP
diff --git a/Master/texmf-dist/doc/man/man1/asy.man1.pdf b/Master/texmf-dist/doc/man/man1/asy.man1.pdf
index 673db6f0a48..178888cc730 100644
--- a/Master/texmf-dist/doc/man/man1/asy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/asy.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
index 17a722d8967..54e303cb7f9 100644
--- a/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/xasy.man1.pdf
Binary files differ
diff --git a/Master/tlpkg/asymptote/asy.exe b/Master/tlpkg/asymptote/asy.exe
index 94f141cfbfd..453d14c2fb6 100755
--- a/Master/tlpkg/asymptote/asy.exe
+++ b/Master/tlpkg/asymptote/asy.exe
Binary files differ
diff --git a/Master/tlpkg/asymptote64/asy.exe b/Master/tlpkg/asymptote64/asy.exe
index ea4a3360aee..2d710e2942e 100755
--- a/Master/tlpkg/asymptote64/asy.exe
+++ b/Master/tlpkg/asymptote64/asy.exe
Binary files differ
diff --git a/Master/tlpkg/bin/tl-update-asy b/Master/tlpkg/bin/tl-update-asy
index 13aad645cb7..36ca5182510 100755
--- a/Master/tlpkg/bin/tl-update-asy
+++ b/Master/tlpkg/bin/tl-update-asy
@@ -121,5 +121,5 @@ elif false && $update_runtime_from_ainst; then
#svn rm ...
svn status $ci # just to see
- scom -m"asymptote $ver support files" $ci $pb/tl-update-asy
+ scom -m"asymptote $ver support files, windows binaries" $ci
fi