diff options
Diffstat (limited to 'src/gfxstream/codegen/vulkan/vulkan-docs-next/scripts/compImages.sh')
-rwxr-xr-x | src/gfxstream/codegen/vulkan/vulkan-docs-next/scripts/compImages.sh | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/src/gfxstream/codegen/vulkan/vulkan-docs-next/scripts/compImages.sh b/src/gfxstream/codegen/vulkan/vulkan-docs-next/scripts/compImages.sh new file mode 100755 index 00000000000..24d65ce0d41 --- /dev/null +++ b/src/gfxstream/codegen/vulkan/vulkan-docs-next/scripts/compImages.sh @@ -0,0 +1,127 @@ +#!/bin/bash +# +# Copyright 2020-2023 The Khronos Group Inc. +# +# SPDX-License-Identifier: Apache-2.0 + +# compareImages - compare all asciidoctor images in two branches +# Usage: compareImages branch1 branch2 + +# Where to put temporary files +compare=compare + +branch1=$1 +branch2=$2 + +echo "Preparing test tree under compare/" +rm -rf $compare + +echo "Gathering images under compare/$1 compare/$2" +if git checkout $branch1 ; then + img1=$compare/$branch1 + files1=$compare/$branch1-files + mkdir -p $img1 + cp images/*.svg $img1 + (cd $img1 ; ls) > $files1 +else + echo "Cannot switch to branch $branch1" + rm -rf $compare + exit 1 +fi + +if git checkout $branch2 ; then + img2=$compare/$branch2 + files2=$compare/$branch2-files + mkdir -p $img2 + cp images/*.svg $img2 + (cd $img2 ; ls) > $files2 +else + echo "Cannot switch to branch $branch2" + rm -rf $compare + exit 1 +fi + +srcfile=compare/compImages.adoc + +# Boilerplate header +echo "= Image Comparison of Vulkan images in $branch1 $branch2 +:data-uri: +:icons: font +include::../config/attribs.adoc[] +" > $srcfile + + +# Files common to both branches +echo "== Images Common to Both Branches +" >> $srcfile + +# Identical images +identical=() + +# Where to generate comparison images +compdir=$compare/compare +mkdir -p $compdir + +for file in `comm -12 $files1 $files2` ; do + echo "Comparing $file" + if diff -q $img1/$file $img2/$file > /dev/null ; then + identical+=( $file ) + # Files are identical + else + # sum1=`sum $img1/$file | awk '{print $1}'` + # sum2=`sum $img2/$file | awk '{print $1}'` + # + # if test $sum1 -eq $sum2 ; then + + # Generate comparison image + compfile="$compdir/$file" + compare $img1/$file $img2/$file $compfile + + echo "=== $file + +image::$branch1/$file[title=\"$file in $branch1\",align=\"center\",opts=\"inline\"] + +image::$branch2/$file[title=\"$file in $branch2\",align=\"center\",opts=\"inline\"] + +image::compare/$file[title=\"Comparison of branches\",align=\"center\",opts=\"inline\"] + +<<< + +" >> $srcfile + + fi +done + + +# Identical files +echo "== Identical images +" >> $srcfile + +for file in ${identical[@]} ; do + echo " * $file" >> $srcfile +done +echo >> $srcfile + + +# Files only in first branch +echo "== Images only in $branch1 +" >> $srcfile + +for file in `comm -23 $files1 $files2` ; do + echo " * $file" >> $srcfile +done +echo >> $srcfile + + +# Files only in second branch +echo "== Images only in $branch2 +" >> $srcfile + +for file in `comm -13 $files1 $files2` ; do + echo " * $file" >> $srcfile +done +echo >> $srcfile + +outfile=$compare/`basename $srcfile .adoc`.pdf +echo "Generating $outfile from $srcfile" +asciidoctor -b pdf -r asciidoctor-pdf -o $outfile $srcfile |