texlive[61698] Build/source/utils: asy 2.77 sources

commits+karl at tug.org commits+karl at tug.org
Sat Jan 22 22:05:36 CET 2022


Revision: 61698
          http://tug.org/svn/texlive?view=revision&revision=61698
Author:   karl
Date:     2022-01-22 22:05:36 +0100 (Sat, 22 Jan 2022)
Log Message:
-----------
asy 2.77 sources

Modified Paths:
--------------
    trunk/Build/source/utils/README
    trunk/Build/source/utils/asymptote/ChangeLog
    trunk/Build/source/utils/asymptote/ReleaseNotes
    trunk/Build/source/utils/asymptote/asy-keywords.el
    trunk/Build/source/utils/asymptote/asymptote.spec
    trunk/Build/source/utils/asymptote/base/shaders/partialsum.glsl
    trunk/Build/source/utils/asymptote/base/shaders/postsum.glsl
    trunk/Build/source/utils/asymptote/base/shaders/presum.glsl
    trunk/Build/source/utils/asymptote/base/v3dheadertypes.asy
    trunk/Build/source/utils/asymptote/base/v3dtypes.asy
    trunk/Build/source/utils/asymptote/configure
    trunk/Build/source/utils/asymptote/configure.ac
    trunk/Build/source/utils/asymptote/doc/CAD.pdf
    trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
    trunk/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
    trunk/Build/source/utils/asymptote/doc/asy-latex.pdf
    trunk/Build/source/utils/asymptote/doc/asyRefCard.pdf
    trunk/Build/source/utils/asymptote/doc/asymptote.pdf
    trunk/Build/source/utils/asymptote/doc/asymptote.texi
    trunk/Build/source/utils/asymptote/doc/png/asymptote.info
    trunk/Build/source/utils/asymptote/glrender.cc
    trunk/Build/source/utils/asymptote/revision.cc
    trunk/Build/source/utils/asymptote/v3dheadertypes.h
    trunk/Build/source/utils/asymptote/v3dheadertypes.py
    trunk/Build/source/utils/asymptote/v3dtypes.h
    trunk/Build/source/utils/asymptote/v3dtypes.py

Modified: trunk/Build/source/utils/README
===================================================================
--- trunk/Build/source/utils/README	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/README	2022-01-22 21:05:36 UTC (rev 61698)
@@ -4,7 +4,7 @@
 Extra utilities we (optionally) compile for TeX Live.
 See comments in ../texk/README.
 
-asymptote 2.76 - checked 20jan22
+asymptote 2.77 - checked 22jan22
   update to TL from CTAN, to include prebuilt doc.
   see https://tug.org/texlive/build.html#asymptote
   and tlpkg/bin/tl-update-asy

Modified: trunk/Build/source/utils/asymptote/ChangeLog
===================================================================
--- trunk/Build/source/utils/asymptote/ChangeLog	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/ChangeLog	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,3 +1,33 @@
+commit c98c63886b06ac0650c0b25304cb0bae9118a92a
+Author: John Bowman <bowman at ualberta.ca>
+Date:   Fri Jan 21 20:48:27 2022 -0700
+
+    Fix URL.
+
+commit edc40f1726014f5ea0ce464db4ae70457241cd46
+Author: John Bowman <bowman at ualberta.ca>
+Date:   Fri Jan 21 16:56:39 2022 -0700
+
+    Remove unused code.
+
+commit 037e520058d53f5dd02c06b41c656cb65e255e92
+Author: John Bowman <bowman at ualberta.ca>
+Date:   Fri Jan 21 16:50:46 2022 -0700
+
+    Fix buffer overflow in partialsum.glsl; improve workload distibution.
+
+commit 868ff0b61fb439d4ce6334aec4b4ea49a32ad9bf
+Author: John Bowman <bowman at ualberta.ca>
+Date:   Thu Jan 20 21:34:53 2022 -0700
+
+    Optimize postsum shader.
+
+commit 1c6eb60c92a8f25623d6b074f4ab3dcf84d0401d
+Author: John Bowman <bowman at ualberta.ca>
+Date:   Wed Jan 19 23:53:29 2022 -0700
+
+    Increment version to 2.77.
+
 commit ea218793876b65bbd50a842ede9fd003dcd90978
 Author: John Bowman <bowman at ualberta.ca>
 Date:   Wed Jan 19 21:56:54 2022 -0700

Modified: trunk/Build/source/utils/asymptote/ReleaseNotes
===================================================================
--- trunk/Build/source/utils/asymptote/ReleaseNotes	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/ReleaseNotes	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,3 +1,8 @@
+Release Notes for Version 2.77
+
+A buffer overflow in the partialsum transparency shader was fixed;
+the workload distribution over the GPU processors was improved.
+
 Release Notes for Version 2.76
 
 WebGL and V3D bounds were fixed, along with the WebGL zoom and viewportshift.

Modified: trunk/Build/source/utils/asymptote/asy-keywords.el
===================================================================
--- trunk/Build/source/utils/asymptote/asy-keywords.el	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/asy-keywords.el	2022-01-22 21:05:36 UTC (rev 61698)
@@ -2,7 +2,7 @@
 ;; This file is automatically generated by asy-list.pl.
 ;; Changes will be overwritten.
 ;;
-(defvar asy-keywords-version "2.76")
+(defvar asy-keywords-version "2.77")
 
 (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 ))

Modified: trunk/Build/source/utils/asymptote/asymptote.spec
===================================================================
--- trunk/Build/source/utils/asymptote/asymptote.spec	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/asymptote.spec	2022-01-22 21:05:36 UTC (rev 61698)
@@ -3,7 +3,7 @@
 %global __python %{__python3}
 
 Name:           asymptote
-Version:        2.76
+Version:        2.77
 Release:        1%{?dist}
 Summary:        Descriptive vector graphics language
 

Modified: trunk/Build/source/utils/asymptote/base/shaders/partialsum.glsl
===================================================================
--- trunk/Build/source/utils/asymptote/base/shaders/partialsum.glsl	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/base/shaders/partialsum.glsl	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,7 +1,6 @@
 layout(local_size_x=PROCESSORS) in;
 
 uniform uint elements;
-uniform uint steps;
 
 layout(binding=0, std430) buffer sumBuffer
 {
@@ -15,11 +14,6 @@
 
 shared uint sharedData[PROCESSORS];
 
-uint ceilquotient(uint a, uint b)
-{
-  return (a+b-1u)/b;
-}
-
 void main(void)
 {
   uint id=gl_LocalInvocationID.x;
@@ -30,8 +24,7 @@
   uint index=id << 1u;
   sharedData[index+1u] += sharedData[index];
   barrier();
-  uint step;
-  for(step=1u; step < steps-1u; step++) {
+  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;
@@ -38,17 +31,18 @@
     sharedData[windex] += sharedData[index];
     barrier();
   }
-  uint mask=(1u << step)-1u;
-  index=((id >> step) << steps)+mask;
+  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();
 
-  uint m=ceilquotient(elements,PROCESSORS);
-
-  if(id+1u < PROCESSORS)
-    offset[m*(id+1u)] += sharedData[id];
-  else
+  uint id1=id+1u;
+  if(id1 < PROCESSORS) {
+    uint m=elements/PROCESSORS;
+    uint row=m*id1+min(id1,elements-m*PROCESSORS);
+    offset[row] += sharedData[id];
+  } else
     sum[0]=sharedData[id];  // Store fragment size in sum[0]
 }

Modified: trunk/Build/source/utils/asymptote/base/shaders/postsum.glsl
===================================================================
--- trunk/Build/source/utils/asymptote/base/shaders/postsum.glsl	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/base/shaders/postsum.glsl	2022-01-22 21:05:36 UTC (rev 61698)
@@ -7,24 +7,24 @@
   uint offset[];
 };
 
-uint ceilquotient(uint a, uint b)
-{
-  return (a+b-1u)/b;
-}
-
 void main(void)
 {
   uint id=gl_GlobalInvocationID.x;
 
-  uint m=ceilquotient(elements,gl_NumWorkGroups.x);
-  uint row=m*id;
-  uint col=min(m,elements-row);
-  uint stop=row+col-1u;
+  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+1;
+  } else {
+    row=m*id+r;
+    stop=row+m;
+  }
 
-  uint curr=offset[row];
-  for(uint i=row; i < stop; ++i) {
-    uint next=offset[i+1u];
-    curr += next;
-    offset[i+1u]=curr;
+  uint Sum=offset[row];
+  for(uint i=row+1u; i < stop; ++i) {
+    Sum += offset[i];
+    offset[i]=Sum;
   }
 }

Modified: trunk/Build/source/utils/asymptote/base/shaders/presum.glsl
===================================================================
--- trunk/Build/source/utils/asymptote/base/shaders/presum.glsl	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/base/shaders/presum.glsl	2022-01-22 21:05:36 UTC (rev 61698)
@@ -12,19 +12,20 @@
   uint offset[];
 };
 
-uint ceilquotient(uint a, uint b)
-{
-  return (a+b-1u)/b;
-}
-
 void main(void)
 {
   uint id=gl_GlobalInvocationID.x;
 
-  uint m=ceilquotient(elements,gl_NumWorkGroups.x);
-  uint row=m*id;
-  uint col=min(m,elements-row);
-  uint stop=row+col;
+  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+1;
+  } else {
+    row=m*id+r;
+    stop=row+m;
+  }
 
   uint Sum=offset[row];
   for(uint i=row+1u; i < stop; ++i)

Modified: trunk/Build/source/utils/asymptote/base/v3dheadertypes.asy
===================================================================
--- trunk/Build/source/utils/asymptote/base/v3dheadertypes.asy	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/base/v3dheadertypes.asy	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,6 +1,6 @@
 // Enum class for v3dheadertypes
 // AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2022-01-19 22:30:10.732250
+// Generated at 2022-01-21 20:50:28.286711
 
 struct v3dheadertypes
 {

Modified: trunk/Build/source/utils/asymptote/base/v3dtypes.asy
===================================================================
--- trunk/Build/source/utils/asymptote/base/v3dtypes.asy	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/base/v3dtypes.asy	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,6 +1,6 @@
 // Enum class for v3dtypes
 // AUTO-GENERATED from v3dtypes.csv
-// Generated at 2022-01-19 22:30:10.647049
+// Generated at 2022-01-21 20:50:28.223119
 
 struct v3dtypes
 {

Modified: trunk/Build/source/utils/asymptote/configure
===================================================================
--- trunk/Build/source/utils/asymptote/configure	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/configure	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Asymptote 2.76.
+# Generated by GNU Autoconf 2.69 for Asymptote 2.77.
 #
 # Report bugs to <https://github.com/vectorgraphics/asymptote/issues>.
 #
@@ -581,8 +581,8 @@
 # Identity of this package.
 PACKAGE_NAME='Asymptote'
 PACKAGE_TARNAME='asymptote'
-PACKAGE_VERSION='2.76'
-PACKAGE_STRING='Asymptote 2.76'
+PACKAGE_VERSION='2.77'
+PACKAGE_STRING='Asymptote 2.77'
 PACKAGE_BUGREPORT='https://github.com/vectorgraphics/asymptote/issues'
 PACKAGE_URL=''
 
@@ -1304,7 +1304,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Asymptote 2.76 to adapt to many kinds of systems.
+\`configure' configures Asymptote 2.77 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1370,7 +1370,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Asymptote 2.76:";;
+     short | recursive ) echo "Configuration of Asymptote 2.77:";;
    esac
   cat <<\_ACEOF
 
@@ -1489,7 +1489,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Asymptote configure 2.76
+Asymptote configure 2.77
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2075,7 +2075,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Asymptote $as_me 2.76, which was
+It was created by Asymptote $as_me 2.77, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -9478,7 +9478,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Asymptote $as_me 2.76, which was
+This file was extended by Asymptote $as_me 2.77, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -9540,7 +9540,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Asymptote config.status 2.76
+Asymptote config.status 2.77
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: trunk/Build/source/utils/asymptote/configure.ac
===================================================================
--- trunk/Build/source/utils/asymptote/configure.ac	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/configure.ac	2022-01-22 21:05:36 UTC (rev 61698)
@@ -3,7 +3,7 @@
 # this file.
 
 AC_PREREQ(2)
-AC_INIT([Asymptote],[2.76],[https://github.com/vectorgraphics/asymptote/issues])
+AC_INIT([Asymptote],[2.77],[https://github.com/vectorgraphics/asymptote/issues])
 VERSION=$PACKAGE_VERSION
 AC_SUBST(VERSION)
 m4_include([ax_pthread.m4])

Modified: trunk/Build/source/utils/asymptote/doc/CAD.pdf
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
===================================================================
--- trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/doc/FAQ/asy-faq.info	2022-01-22 21:05:36 UTC (rev 61698)
@@ -10,7 +10,7 @@
 File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
 
             ASYMPTOTE FREQUENTLY ASKED QUESTIONS
-                            2022-01-20
+                            2022-01-22
                           
 This is the list of Frequently Asked Questions about Asymptote (asy).
 

Modified: trunk/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/asymptote/doc/asy-latex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/asymptote/doc/asyRefCard.pdf
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/asymptote/doc/asymptote.pdf
===================================================================
(Binary files differ)

Modified: trunk/Build/source/utils/asymptote/doc/asymptote.texi
===================================================================
--- trunk/Build/source/utils/asymptote/doc/asymptote.texi	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/doc/asymptote.texi	2022-01-22 21:05:36 UTC (rev 61698)
@@ -11,7 +11,7 @@
 
 @url{https://asymptote.sourceforge.io}
 
-Copyright @copyright{} 2004-21 Andy Hammerlindl, John Bowman, and Tom Prince.
+Copyright @copyright{} 2004-22 Andy Hammerlindl, John Bowman, and Tom Prince.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -193,11 +193,11 @@
 Labels and equations are typeset with @code{LaTeX}, for overall document
 consistency, yielding the same high-quality level of typesetting that
 @code{LaTeX} provides for scientific text. By default it produces
- at code{PostScript} output, but it can also generate @code{PDF},
- at code{SVG}, @code{WebGL}, @code{V3D}, @code{PRC}, and any format that the
- at code{ImageMagick} package can produce. You can even try it out in your
-Web browser without installing it, using the @code{Asymptote Web
-Application}
+ at code{PostScript} output, but it can also generate @code{OpenGL}, @code{PDF},
+ at code{SVG}, @code{WebGL}, @code{V3D}, and @code{PRC} vector graphics,
+along with any format that the @code{ImageMagick} package can
+produce. You can even try it out in your Web browser without
+installing it, using the @code{Asymptote Web Application}
 
 @url{http://asymptote.ualberta.ca}
 
@@ -10111,10 +10111,8 @@
 developed the @code{Asymptote Web Application} hosted at
 @url{http://asymptote.ualberta.ca}:
 
- at url{https://github.com/vectorgraphics/asymptote-http-server}
+ at url{https://github.com/vectorgraphics/asymptoteWebApplication}
 
-
-
 @node Index,  , Credits, Top
 @unnumbered Index
 

Modified: trunk/Build/source/utils/asymptote/doc/png/asymptote.info
===================================================================
--- trunk/Build/source/utils/asymptote/doc/png/asymptote.info	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/doc/png/asymptote.info	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,11 +1,11 @@
 This is asymptote.info, produced by makeinfo version 6.7 from
 asymptote.texi.
 
-This file documents 'Asymptote', version 2.76.
+This file documents 'Asymptote', version 2.77.
 
    <https://asymptote.sourceforge.io>
 
-   Copyright (C) 2004-21 Andy Hammerlindl, John Bowman, and Tom Prince.
+   Copyright (C) 2004-22 Andy Hammerlindl, John Bowman, and Tom Prince.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Lesser General Public License
@@ -22,11 +22,11 @@
 Asymptote
 *********
 
-This file documents 'Asymptote', version 2.76.
+This file documents 'Asymptote', version 2.77.
 
    <https://asymptote.sourceforge.io>
 
-   Copyright (C) 2004-21 Andy Hammerlindl, John Bowman, and Tom Prince.
+   Copyright (C) 2004-22 Andy Hammerlindl, John Bowman, and Tom Prince.
 
      Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Lesser General Public License
@@ -176,10 +176,11 @@
 drawing.  Labels and equations are typeset with 'LaTeX', for overall
 document consistency, yielding the same high-quality level of
 typesetting that 'LaTeX' provides for scientific text.  By default it
-produces 'PostScript' output, but it can also generate 'PDF', 'SVG',
-'WebGL', 'V3D', 'PRC', and any format that the 'ImageMagick' package can
-produce.  You can even try it out in your Web browser without installing
-it, using the 'Asymptote Web Application'
+produces 'PostScript' output, but it can also generate 'OpenGL', 'PDF',
+'SVG', 'WebGL', 'V3D', and 'PRC' vector graphics, along with any format
+that the 'ImageMagick' package can produce.  You can even try it out in
+your Web browser without installing it, using the 'Asymptote Web
+Application'
 
    <http://asymptote.ualberta.ca>
 
@@ -8869,7 +8870,7 @@
 Chaumont, and Oliver Cheng.  Pedram Emami developed the 'Asymptote Web
 Application' hosted at <http://asymptote.ualberta.ca>:
 
-   <https://github.com/vectorgraphics/asymptote-http-server>
+   <https://github.com/vectorgraphics/asymptoteWebApplication>
 
 
 File: asymptote.info,  Node: Index,  Prev: Credits,  Up: Top
@@ -10048,7 +10049,7 @@
 * quadraticroots:                        Arrays.             (line  322)
 * quadraticroots <1>:                    Arrays.             (line  327)
 * quarticroots:                          math.               (line   22)
-* quick reference:                       Description.        (line   91)
+* quick reference:                       Description.        (line   92)
 * quit:                                  Drawing in interactive mode.
                                                              (line   11)
 * quit <1>:                              Interactive mode.   (line   54)
@@ -10082,7 +10083,7 @@
 * realmult:                              Data types.         (line  100)
 * rectangle:                             flowchart.          (line   34)
 * recursion:                             Functions.          (line  100)
-* reference:                             Description.        (line   91)
+* reference:                             Description.        (line   92)
 * reflect:                               Transforms.         (line   42)
 * Relative:                              label.              (line   50)
 * Relative <1>:                          label.              (line   60)
@@ -10509,151 +10510,151 @@
 Tag Table:
 Node: Top570
 Node: Description7317
-Node: Installation11527
-Node: UNIX binary distributions12573
-Node: MacOS X binary distributions13696
-Node: Microsoft Windows14284
-Node: Configuring15492
-Node: Search paths20105
-Node: Compiling from UNIX source21113
-Node: Editing modes24264
-Node: Git26686
-Node: Uninstall27193
-Node: Tutorial27539
-Node: Drawing in batch mode28386
-Node: Drawing in interactive mode29262
-Node: Figure size30294
-Node: Labels31889
-Node: Paths32717
-Ref: unitcircle33333
-Node: Drawing commands35231
-Node: draw37039
-Ref: arrows38221
-Node: fill43736
-Ref: gradient shading44782
-Node: clip49396
-Node: label50145
-Ref: Label50745
-Node: Bezier curves56602
-Node: Programming60502
-Ref: array iteration62255
-Node: Data types62422
-Ref: format73190
-Node: Paths and guides77636
-Ref: circle77890
-Ref: extension87590
-Node: Pens94400
-Ref: fillrule102091
-Ref: basealign102995
-Ref: transparency106677
-Ref: makepen110271
-Ref: overwrite111155
-Node: Transforms112369
-Node: Frames and pictures114308
-Ref: envelope115466
-Ref: size116559
-Ref: unitsize117546
-Ref: shipout118619
-Ref: filltype120970
-Ref: add124383
-Ref: add about125325
-Ref: tex128355
-Node: Files129250
-Ref: cd130307
-Ref: scroll135209
-Node: Variable initializers138127
-Node: Structures140844
-Node: Operators148417
-Node: Arithmetic & logical148731
-Node: Self & prefix operators151101
-Node: User-defined operators151895
-Node: Implicit scaling152808
-Node: Functions153371
-Ref: stack overflow156488
-Node: Default arguments156770
-Node: Named arguments157526
-Node: Rest arguments160096
-Node: Mathematical functions163217
-Node: Arrays167874
-Ref: sort175313
-Ref: tridiagonal178224
-Ref: solve179455
-Node: Slices183595
-Node: Casts187503
-Node: Import189773
-Node: Static195343
-Node: LaTeX usage198229
-Node: Base modules204743
-Node: plain207220
-Node: simplex207894
-Node: math208167
-Node: interpolate210834
-Node: geometry211113
-Node: trembling211707
-Node: stats211976
-Node: patterns212235
-Node: markers212470
-Node: map214328
-Node: tree214752
-Node: binarytree214932
-Node: drawtree215599
-Node: syzygy215800
-Node: feynman216074
-Node: roundedpath216348
-Node: animation216630
-Ref: animate217051
-Node: embed218163
-Node: slide219117
-Node: MetaPost219448
-Node: babel220164
-Node: labelpath220396
-Node: labelpath3221216
-Node: annotate221527
-Node: CAD221997
-Node: graph222307
-Ref: ticks229466
-Ref: pathmarkers243188
-Ref: marker243658
-Ref: markuniform244012
-Ref: errorbars245871
-Ref: automatic scaling251000
-Node: palette262710
-Ref: images262828
-Ref: image267124
-Ref: logimage267645
-Ref: penimage268751
-Ref: penfunctionimage269014
-Node: three269786
-Ref: PostScript3D300086
-Node: obj301824
-Node: graph3302073
-Ref: GaussianSurface307355
-Node: grid3308505
-Node: solids309290
-Node: tube310282
-Node: flowchart312512
-Node: contour317155
-Node: contour3323663
-Node: smoothcontour3323975
-Node: slopefield325694
-Node: ode327183
-Node: Options327440
-Ref: configuration file334935
-Ref: settings334935
-Ref: texengines336199
-Ref: convert336199
-Node: Interactive mode339642
-Ref: history341791
-Node: GUI343094
-Node: GUI installation343644
-Node: GUI usage344377
-Node: Command-Line Interface345440
-Node: Language server protocol346882
-Node: PostScript to Asymptote348307
-Node: Help349085
-Node: Debugger350759
-Node: Credits352515
-Node: Index353738
+Node: Installation11564
+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 file334972
+Ref: settings334972
+Ref: texengines336236
+Ref: convert336236
+Node: Interactive mode339679
+Ref: history341828
+Node: GUI343131
+Node: GUI installation343681
+Node: GUI usage344414
+Node: Command-Line Interface345477
+Node: Language server protocol346919
+Node: PostScript to Asymptote348344
+Node: Help349122
+Node: Debugger350796
+Node: Credits352552
+Node: Index353777
 
 End Tag Table
 

Modified: trunk/Build/source/utils/asymptote/glrender.cc
===================================================================
--- trunk/Build/source/utils/asymptote/glrender.cc	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/glrender.cc	2022-01-22 21:05:36 UTC (rev 61698)
@@ -153,7 +153,6 @@
 namespace gl {
 
 GLint processors;
-GLint steps;
 
 bool outlinemode=false;
 bool ibl=false;
@@ -517,6 +516,12 @@
   exit(-1);
 }
 
+// Return ceil(log2(n)) where n is a 32 bit unsigned integer.
+uint32_t ceillog2(uint32_t n)
+{
+  return 32-CLZ(n-1);
+}
+
 void initShaders()
 {
   Nlights=nlights == 0 ? 0 : max(Nlights,nlights);
@@ -556,13 +561,17 @@
     } else {
       camp::preSumShader=rc;
 
-      ostringstream s;
+      ostringstream s,S;
       s << "PROCESSORS " << processors << "u" << endl;
       shaderParams.push_back(s.str().c_str());
+
+      S << "STEPSM1 " << ceillog2(processors)-1 << "u" << endl;
+      shaderParams.push_back(S.str().c_str());
       shaders[0]=ShaderfileModePair(partial.c_str(),GL_COMPUTE_SHADER);
       camp::partialSumShader=compileAndLinkShader(shaders,shaderParams,
                                                   true,true);
       shaderParams.pop_back();
+      shaderParams.pop_back();
 
       shaders[0]=ShaderfileModePair(post.c_str(),GL_COMPUTE_SHADER);
       camp::postSumShader=compileAndLinkShader(shaders,shaderParams,true,true);
@@ -1757,12 +1766,6 @@
 
 #endif /* HAVE_GL */
 
-// Return ceil(log2(n)) where n is a 32 bit unsigned integer.
-uint32_t ceillog2(uint32_t n)
-{
-  return 32-CLZ(n-1);
-}
-
 // angle=0 means orthographic.
 void glrender(const string& prefix, const picture *pic, const string& format,
               double width, double height, double angle, double zoom,
@@ -2036,8 +2039,6 @@
     glGetIntegerv(GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,&processors);
     if(processors <= 1)
       GPUindexing=false;
-    else
-      steps=ceillog2(processors);
   }
 
   Maxmaterials=val/sizeof(Material);
@@ -2197,7 +2198,7 @@
 
   if(initSSBO) {
     glBindBuffer(GL_SHADER_STORAGE_BUFFER,camp::offsetBuffer);
-    glBufferData(GL_SHADER_STORAGE_BUFFER,(1+pixels)*sizeof(GLuint),NULL,
+    glBufferData(GL_SHADER_STORAGE_BUFFER,pixels*sizeof(GLuint),NULL,
                  GL_DYNAMIC_DRAW);
     glBindBufferBase(GL_SHADER_STORAGE_BUFFER,1,camp::offsetBuffer);
     glClearBufferData(GL_SHADER_STORAGE_BUFFER,GL_R8UI,GL_RED_INTEGER,
@@ -2250,7 +2251,6 @@
 
     glUseProgram(partialSumShader);
     glUniform1ui(glGetUniformLocation(partialSumShader,"elements"),pixels);
-    glUniform1ui(glGetUniformLocation(partialSumShader,"steps"),gl::steps);
 
     glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
     glDispatchCompute(1,1,1);

Modified: trunk/Build/source/utils/asymptote/revision.cc
===================================================================
--- trunk/Build/source/utils/asymptote/revision.cc	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/revision.cc	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,2 +1,2 @@
-const char *REVISION="2.76";
+const char *REVISION="2.77";
 const char *AsyGLVersion="1.01";

Modified: trunk/Build/source/utils/asymptote/v3dheadertypes.h
===================================================================
--- trunk/Build/source/utils/asymptote/v3dheadertypes.h	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/v3dheadertypes.h	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,6 +1,6 @@
 // Enum class for v3dheadertypes
 // AUTO-GENERATED from v3dheadertypes.csv
-// Generated at 2022-01-19 22:28:57.698357
+// Generated at 2022-01-21 20:49:12.292026
 
 namespace camp
 {

Modified: trunk/Build/source/utils/asymptote/v3dheadertypes.py
===================================================================
--- trunk/Build/source/utils/asymptote/v3dheadertypes.py	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/v3dheadertypes.py	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 # Enum class for v3dheadertypes
 """ AUTO-GENERATED from v3dheadertypes.csv """
-# Generated at 2022-01-19 22:30:10.805644
+# Generated at 2022-01-21 20:50:28.429065
 
 class v3dheadertypes:
     v3dheadertypes_canvasWidth=1

Modified: trunk/Build/source/utils/asymptote/v3dtypes.h
===================================================================
--- trunk/Build/source/utils/asymptote/v3dtypes.h	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/v3dtypes.h	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,6 +1,6 @@
 // Enum class for v3dtypes
 // AUTO-GENERATED from v3dtypes.csv
-// Generated at 2022-01-19 22:28:57.697646
+// Generated at 2022-01-21 20:49:12.280193
 
 namespace camp
 {

Modified: trunk/Build/source/utils/asymptote/v3dtypes.py
===================================================================
--- trunk/Build/source/utils/asymptote/v3dtypes.py	2022-01-22 21:03:55 UTC (rev 61697)
+++ trunk/Build/source/utils/asymptote/v3dtypes.py	2022-01-22 21:05:36 UTC (rev 61698)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 # Enum class for v3dtypes
 """ AUTO-GENERATED from v3dtypes.csv """
-# Generated at 2022-01-19 22:30:10.808545
+# Generated at 2022-01-21 20:50:28.352135
 
 class v3dtypes:
     v3dtypes_material=1



More information about the tex-live-commits mailing list.