summaryrefslogtreecommitdiff
path: root/Build/source/utils
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-22 21:05:36 +0000
committerKarl Berry <karl@freefriends.org>2022-01-22 21:05:36 +0000
commitf2edf2bce5fa32e3f1b93ae68747e86e5d2858fb (patch)
tree37501c8e7b3121e7f9e78e997533bc77049ec2ec /Build/source/utils
parent56079a7502f8094ffb831d1ea3564312a8ff3049 (diff)
asy 2.77 sources
git-svn-id: svn://tug.org/texlive/trunk@61698 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils')
-rw-r--r--Build/source/utils/README2
-rw-r--r--Build/source/utils/asymptote/ChangeLog30
-rw-r--r--Build/source/utils/asymptote/ReleaseNotes5
-rw-r--r--Build/source/utils/asymptote/asy-keywords.el2
-rw-r--r--Build/source/utils/asymptote/asymptote.spec2
-rw-r--r--Build/source/utils/asymptote/base/shaders/partialsum.glsl24
-rw-r--r--Build/source/utils/asymptote/base/shaders/postsum.glsl28
-rw-r--r--Build/source/utils/asymptote/base/shaders/presum.glsl19
-rw-r--r--Build/source/utils/asymptote/base/v3dheadertypes.asy2
-rw-r--r--Build/source/utils/asymptote/base/v3dtypes.asy2
-rwxr-xr-xBuild/source/utils/asymptote/configure18
-rw-r--r--Build/source/utils/asymptote/configure.ac2
-rw-r--r--Build/source/utils/asymptote/doc/CAD.pdfbin198829 -> 198829 bytes
-rw-r--r--Build/source/utils/asymptote/doc/FAQ/asy-faq.info2
-rw-r--r--Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdfbin81224 -> 81036 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asy-latex.pdfbin207102 -> 207102 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asyRefCard.pdfbin121145 -> 121145 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.pdfbin1313686 -> 1313730 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.texi16
-rw-r--r--Build/source/utils/asymptote/doc/png/asymptote.info313
-rw-r--r--Build/source/utils/asymptote/glrender.cc24
-rw-r--r--Build/source/utils/asymptote/revision.cc2
-rw-r--r--Build/source/utils/asymptote/v3dheadertypes.h2
-rw-r--r--Build/source/utils/asymptote/v3dheadertypes.py2
-rw-r--r--Build/source/utils/asymptote/v3dtypes.h2
-rw-r--r--Build/source/utils/asymptote/v3dtypes.py2
26 files changed, 265 insertions, 236 deletions
diff --git a/Build/source/utils/README b/Build/source/utils/README
index 10ac194a352..f1205660a21 100644
--- a/Build/source/utils/README
+++ b/Build/source/utils/README
@@ -4,7 +4,7 @@ Public domain. Originally written 2005 by Karl Berry.
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
diff --git a/Build/source/utils/asymptote/ChangeLog b/Build/source/utils/asymptote/ChangeLog
index 2e15aeafd5d..540e7d229da 100644
--- a/Build/source/utils/asymptote/ChangeLog
+++ b/Build/source/utils/asymptote/ChangeLog
@@ -1,3 +1,33 @@
+commit c98c63886b06ac0650c0b25304cb0bae9118a92a
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jan 21 20:48:27 2022 -0700
+
+ Fix URL.
+
+commit edc40f1726014f5ea0ce464db4ae70457241cd46
+Author: John Bowman <bowman@ualberta.ca>
+Date: Fri Jan 21 16:56:39 2022 -0700
+
+ Remove unused code.
+
+commit 037e520058d53f5dd02c06b41c656cb65e255e92
+Author: John Bowman <bowman@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@ualberta.ca>
+Date: Thu Jan 20 21:34:53 2022 -0700
+
+ Optimize postsum shader.
+
+commit 1c6eb60c92a8f25623d6b074f4ab3dcf84d0401d
+Author: John Bowman <bowman@ualberta.ca>
+Date: Wed Jan 19 23:53:29 2022 -0700
+
+ Increment version to 2.77.
+
commit ea218793876b65bbd50a842ede9fd003dcd90978
Author: John Bowman <bowman@ualberta.ca>
Date: Wed Jan 19 21:56:54 2022 -0700
diff --git a/Build/source/utils/asymptote/ReleaseNotes b/Build/source/utils/asymptote/ReleaseNotes
index a7218ffcdb2..f15268436c7 100644
--- a/Build/source/utils/asymptote/ReleaseNotes
+++ b/Build/source/utils/asymptote/ReleaseNotes
@@ -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.
diff --git a/Build/source/utils/asymptote/asy-keywords.el b/Build/source/utils/asymptote/asy-keywords.el
index 07280aeae7e..2dc861712f7 100644
--- a/Build/source/utils/asymptote/asy-keywords.el
+++ b/Build/source/utils/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.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 ))
diff --git a/Build/source/utils/asymptote/asymptote.spec b/Build/source/utils/asymptote/asymptote.spec
index e0e4ec2b589..93658f36340 100644
--- a/Build/source/utils/asymptote/asymptote.spec
+++ b/Build/source/utils/asymptote/asymptote.spec
@@ -3,7 +3,7 @@
%global __python %{__python3}
Name: asymptote
-Version: 2.76
+Version: 2.77
Release: 1%{?dist}
Summary: Descriptive vector graphics language
diff --git a/Build/source/utils/asymptote/base/shaders/partialsum.glsl b/Build/source/utils/asymptote/base/shaders/partialsum.glsl
index 0506965c239..4b04a01dae4 100644
--- a/Build/source/utils/asymptote/base/shaders/partialsum.glsl
+++ b/Build/source/utils/asymptote/base/shaders/partialsum.glsl
@@ -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 @@ layout(binding=1, std430) buffer offsetBuffer
shared uint sharedData[PROCESSORS];
-uint ceilquotient(uint a, uint b)
-{
- return (a+b-1u)/b;
-}
-
void main(void)
{
uint id=gl_LocalInvocationID.x;
@@ -30,25 +24,25 @@ void main(void)
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;
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]
}
diff --git a/Build/source/utils/asymptote/base/shaders/postsum.glsl b/Build/source/utils/asymptote/base/shaders/postsum.glsl
index 9a2afaf845e..999fe5fdf37 100644
--- a/Build/source/utils/asymptote/base/shaders/postsum.glsl
+++ b/Build/source/utils/asymptote/base/shaders/postsum.glsl
@@ -7,24 +7,24 @@ layout(binding=1, std430) buffer offsetBuffer
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;
}
}
diff --git a/Build/source/utils/asymptote/base/shaders/presum.glsl b/Build/source/utils/asymptote/base/shaders/presum.glsl
index 0bcb02c91d0..f2311c67565 100644
--- a/Build/source/utils/asymptote/base/shaders/presum.glsl
+++ b/Build/source/utils/asymptote/base/shaders/presum.glsl
@@ -12,19 +12,20 @@ layout(binding=1, std430) buffer offsetBuffer
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)
diff --git a/Build/source/utils/asymptote/base/v3dheadertypes.asy b/Build/source/utils/asymptote/base/v3dheadertypes.asy
index 3243fb3f4db..1932d23d8b7 100644
--- a/Build/source/utils/asymptote/base/v3dheadertypes.asy
+++ b/Build/source/utils/asymptote/base/v3dheadertypes.asy
@@ -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
{
diff --git a/Build/source/utils/asymptote/base/v3dtypes.asy b/Build/source/utils/asymptote/base/v3dtypes.asy
index 12e2d58c282..f885de3c756 100644
--- a/Build/source/utils/asymptote/base/v3dtypes.asy
+++ b/Build/source/utils/asymptote/base/v3dtypes.asy
@@ -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
{
diff --git a/Build/source/utils/asymptote/configure b/Build/source/utils/asymptote/configure
index 3e5c10ec221..7c08d55f3c9 100755
--- a/Build/source/utils/asymptote/configure
+++ b/Build/source/utils/asymptote/configure
@@ -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 @@ MAKEFLAGS=
# 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 @@ if test "$ac_init_help" = "long"; then
# 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 @@ fi
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 @@ fi
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 @@ cat >config.log <<_ACEOF
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 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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 @@ _ACEOF
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\\"
diff --git a/Build/source/utils/asymptote/configure.ac b/Build/source/utils/asymptote/configure.ac
index e3dfb83654e..d80d5eab15e 100644
--- a/Build/source/utils/asymptote/configure.ac
+++ b/Build/source/utils/asymptote/configure.ac
@@ -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])
diff --git a/Build/source/utils/asymptote/doc/CAD.pdf b/Build/source/utils/asymptote/doc/CAD.pdf
index 63e01c6df69..95ab3553ce4 100644
--- a/Build/source/utils/asymptote/doc/CAD.pdf
+++ b/Build/source/utils/asymptote/doc/CAD.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/FAQ/asy-faq.info b/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
index e519904581d..b6a0a4b61b7 100644
--- a/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
+++ b/Build/source/utils/asymptote/doc/FAQ/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-01-20
+ 2022-01-22
This is the list of Frequently Asked Questions about Asymptote (asy).
diff --git a/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf b/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
index b601e97f164..f87f1cbd59a 100644
--- a/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
+++ b/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asy-latex.pdf b/Build/source/utils/asymptote/doc/asy-latex.pdf
index 2df02469c31..0a9d7213e88 100644
--- a/Build/source/utils/asymptote/doc/asy-latex.pdf
+++ b/Build/source/utils/asymptote/doc/asy-latex.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asyRefCard.pdf b/Build/source/utils/asymptote/doc/asyRefCard.pdf
index df72b197642..568707af8fe 100644
--- a/Build/source/utils/asymptote/doc/asyRefCard.pdf
+++ b/Build/source/utils/asymptote/doc/asyRefCard.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asymptote.pdf b/Build/source/utils/asymptote/doc/asymptote.pdf
index 23be992f8d4..b6344390210 100644
--- a/Build/source/utils/asymptote/doc/asymptote.pdf
+++ b/Build/source/utils/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asymptote.texi b/Build/source/utils/asymptote/doc/asymptote.texi
index bb30445c208..2d5e355ec4f 100644
--- a/Build/source/utils/asymptote/doc/asymptote.texi
+++ b/Build/source/utils/asymptote/doc/asymptote.texi
@@ -11,7 +11,7 @@ This file documents @code{Asymptote}, version @value{VERSION}.
@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 @@ provides a mathematical coordinate-based framework for technical drawing.
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
-@code{PostScript} output, but it can also generate @code{PDF},
-@code{SVG}, @code{WebGL}, @code{V3D}, @code{PRC}, and 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}
+@code{PostScript} output, but it can also generate @code{OpenGL}, @code{PDF},
+@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,9 +10111,7 @@ Jacob Skitsko, Joseph Chaumont, and Oliver Cheng. Pedram Emami
developed the @code{Asymptote Web Application} hosted at
@url{http://asymptote.ualberta.ca}:
-@url{https://github.com/vectorgraphics/asymptote-http-server}
-
-
+@url{https://github.com/vectorgraphics/asymptoteWebApplication}
@node Index, , Credits, Top
@unnumbered Index
diff --git a/Build/source/utils/asymptote/doc/png/asymptote.info b/Build/source/utils/asymptote/doc/png/asymptote.info
index 4482fbb1ffb..d7efd368890 100644
--- a/Build/source/utils/asymptote/doc/png/asymptote.info
+++ b/Build/source/utils/asymptote/doc/png/asymptote.info
@@ -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 @@ File: asymptote.info, Node: Top, Next: Description, Prev: (dir), Up: (dir)
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 @@ provides a mathematical coordinate-based framework for technical
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 @@ Stefan Knorr, Supakorn "Jamie" Rassameemasmuang, Jacob Skitsko, Joseph
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 @@ Index
* 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 @@ Index
* 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 @@ Index
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
diff --git a/Build/source/utils/asymptote/glrender.cc b/Build/source/utils/asymptote/glrender.cc
index 091b6350168..80484a3150a 100644
--- a/Build/source/utils/asymptote/glrender.cc
+++ b/Build/source/utils/asymptote/glrender.cc
@@ -153,7 +153,6 @@ extern void exitHandler(int);
namespace gl {
GLint processors;
-GLint steps;
bool outlinemode=false;
bool ibl=false;
@@ -517,6 +516,12 @@ void noShaders()
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 @@ void initShaders()
} 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 @@ void init_osmesa()
#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 @@ void glrender(const string& prefix, const picture *pic, const string& format,
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 @@ void refreshBuffers()
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 @@ void refreshBuffers()
glUseProgram(partialSumShader);
glUniform1ui(glGetUniformLocation(partialSumShader,"elements"),pixels);
- glUniform1ui(glGetUniformLocation(partialSumShader,"steps"),gl::steps);
glMemoryBarrier(GL_SHADER_STORAGE_BARRIER_BIT);
glDispatchCompute(1,1,1);
diff --git a/Build/source/utils/asymptote/revision.cc b/Build/source/utils/asymptote/revision.cc
index 6a2022db3cd..477862d5b2b 100644
--- a/Build/source/utils/asymptote/revision.cc
+++ b/Build/source/utils/asymptote/revision.cc
@@ -1,2 +1,2 @@
-const char *REVISION="2.76";
+const char *REVISION="2.77";
const char *AsyGLVersion="1.01";
diff --git a/Build/source/utils/asymptote/v3dheadertypes.h b/Build/source/utils/asymptote/v3dheadertypes.h
index c3b66d5e13b..8e0ed7bd731 100644
--- a/Build/source/utils/asymptote/v3dheadertypes.h
+++ b/Build/source/utils/asymptote/v3dheadertypes.h
@@ -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
{
diff --git a/Build/source/utils/asymptote/v3dheadertypes.py b/Build/source/utils/asymptote/v3dheadertypes.py
index 83422c2fb90..d2f27b84ca0 100644
--- a/Build/source/utils/asymptote/v3dheadertypes.py
+++ b/Build/source/utils/asymptote/v3dheadertypes.py
@@ -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
diff --git a/Build/source/utils/asymptote/v3dtypes.h b/Build/source/utils/asymptote/v3dtypes.h
index dbe67e17f1e..26dfb11b450 100644
--- a/Build/source/utils/asymptote/v3dtypes.h
+++ b/Build/source/utils/asymptote/v3dtypes.h
@@ -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
{
diff --git a/Build/source/utils/asymptote/v3dtypes.py b/Build/source/utils/asymptote/v3dtypes.py
index 7bd72105b45..aa2a89a75cc 100644
--- a/Build/source/utils/asymptote/v3dtypes.py
+++ b/Build/source/utils/asymptote/v3dtypes.py
@@ -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