Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Emulators
tme
0005-fb-xlat-auto.m4-Replace-as_echo-with-AS_EC...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0005-fb-xlat-auto.m4-Replace-as_echo-with-AS_ECHO.patch of Package tme
From 93a3f89154ed0896a6aa1b544165bad7535647f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= <kkaempf@gmail.com> Date: Thu, 3 Oct 2024 14:52:28 +0200 Subject: [PATCH 05/12] fb-xlat-auto.m4: Replace $as_echo with AS_ECHO() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Klaus Kämpf <kkaempf@gmail.com> --- generic/fb-xlat-auto.m4 | 2547 +++++++++++++++++++-------------------- 1 file changed, 1273 insertions(+), 1274 deletions(-) diff --git a/generic/fb-xlat-auto.m4 b/generic/fb-xlat-auto.m4 index e9bc82e..827ee4c 100644 --- a/generic/fb-xlat-auto.m4 +++ b/generic/fb-xlat-auto.m4 @@ -625,53 +625,53 @@ for src_key in ${src_all}; do src_parts=${src_key} # get the width: - width=`$as_echo ${src_parts} | sed -e 's/^\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + width=`AS_ECHO([${src_parts}])| sed -e 's/^\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the height: - height=`$as_echo ${src_parts} | sed -e 's/^x\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^x\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + height=`AS_ECHO([${src_parts}])| sed -e 's/^x\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^x\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the source depth: - src_depth=`$as_echo ${src_parts} | sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + src_depth=`AS_ECHO([${src_parts}])| sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the source bits per pixel: - src_bipp=`$as_echo ${src_parts} | sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + src_bipp=`AS_ECHO([${src_parts}])| sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the source skip pixel count: - src_skipx=`$as_echo ${src_parts} | sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\2/'` + src_skipx=`AS_ECHO([${src_parts}])| sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the source scanline pad: - src_pad=`$as_echo ${src_parts} | sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + src_pad=`AS_ECHO([${src_parts}])| sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the source "order" - i.e., byte order and leftmost (first) # pixel significance: - src_order=`$as_echo ${src_parts} | sed -e 's/^o\([[ml]]\)\(.*\)$/\1/'` - src_parts=`$as_echo ${src_parts} | sed -e 's/^o\([[ml]]\)\(.*\)$/\2/'` + src_order=`AS_ECHO([${src_parts}])| sed -e 's/^o\([[ml]]\)\(.*\)$/\1/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^o\([[ml]]\)\(.*\)$/\2/'` # get the optional source "class" - monochrome or color: - src_class=`$as_echo ${src_parts} | sed -e 's/^c\([[mc]]\)\(.*\)$/\1/'` + src_class=`AS_ECHO([${src_parts}])| sed -e 's/^c\([[mc]]\)\(.*\)$/\1/'` if test "x${src_class}" = "x${src_parts}"; then src_class= ; fi - src_parts=`$as_echo ${src_parts} | sed -e 's/^c\([[mc]]\)\(.*\)$/\2/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^c\([[mc]]\)\(.*\)$/\2/'` # get the optional source pixel mapping - linear or indexed, and # the optional number of bits in the map range: - src_map=`$as_echo ${src_parts} | sed -e 's/^m\([[li]]\)\([[0-9]]*\)\(.*\)$/\1/'` - src_map_bits=`$as_echo ${src_parts} | sed -e 's/^m\([[li]]\)\([[0-9]]*\)\(.*\)$/\2/'` + src_map=`AS_ECHO([${src_parts}])| sed -e 's/^m\([[li]]\)\([[0-9]]*\)\(.*\)$/\1/'` + src_map_bits=`AS_ECHO([${src_parts}])| sed -e 's/^m\([[li]]\)\([[0-9]]*\)\(.*\)$/\2/'` if test "x${src_map}" = "x${src_parts}"; then src_map= ; src_map_bits= ; fi - src_parts=`$as_echo ${src_parts} | sed -e 's/^m\([[li]]\)\([[0-9]]*\)\(.*\)$/\3/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^m\([[li]]\)\([[0-9]]*\)\(.*\)$/\3/'` # get the optional source pixel subfield masks: src_mask_g= ; src_mask_r= ; src_mask_b= while true; do - src_mask=`$as_echo ${src_parts} | sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/src_mask\1=\2/'` + src_mask=`AS_ECHO([${src_parts}])| sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/src_mask\1=\2/'` if test "x${src_mask}" = "x${src_parts}"; then break; fi eval ${src_mask} - src_parts=`$as_echo ${src_parts} | sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/\3/'` + src_parts=`AS_ECHO([${src_parts}])| sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/\3/'` done # get the source scaling: @@ -743,38 +743,38 @@ for src_key in ${src_all}; do dst_parts=${dst_key} # get the destination depth: - dst_depth=`$as_echo ${dst_parts} | sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + dst_depth=`AS_ECHO([${dst_parts}])| sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^d\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the destination bits per pixel: - dst_bipp=`$as_echo ${dst_parts} | sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + dst_bipp=`AS_ECHO([${dst_parts}])| sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^b\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the destination skip pixel count: - dst_skipx=`$as_echo ${dst_parts} | sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\1/'` - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\2/'` + dst_skipx=`AS_ECHO([${dst_parts}])| sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\1/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^s\([[_0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the destination scanline pad: - dst_pad=`$as_echo ${dst_parts} | sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` + dst_pad=`AS_ECHO([${dst_parts}])| sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\1/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^p\([[0-9]][[0-9]]*\)\(.*\)$/\2/'` # get the destination "order" - i.e., byte order and leftmost # (first) pixel significance: - dst_order=`$as_echo ${dst_parts} | sed -e 's/^o\([[ml]]\)\(.*\)$/\1/'` - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^o\([[ml]]\)\(.*\)$/\2/'` + dst_order=`AS_ECHO([${dst_parts}])| sed -e 's/^o\([[ml]]\)\(.*\)$/\1/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^o\([[ml]]\)\(.*\)$/\2/'` # get the optional destination pixel mapping - linear or indexed: - dst_map=`$as_echo ${dst_parts} | sed -e 's/^m\([[li]]\)\(.*\)$/\1/'` + dst_map=`AS_ECHO([${dst_parts}])| sed -e 's/^m\([[li]]\)\(.*\)$/\1/'` if test "x${dst_map}" = "x${dst_parts}"; then dst_map= ; fi - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^m\([[li]]\)\(.*\)$/\2/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^m\([[li]]\)\(.*\)$/\2/'` # get the optional destination pixel subfield masks: dst_mask_g= ; dst_mask_r= ; dst_mask_b= while true; do - dst_mask=`$as_echo ${dst_parts} | sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/dst_mask\1=\2/'` + dst_mask=`AS_ECHO([${dst_parts}])| sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/dst_mask\1=\2/'` if test "x${dst_mask}" = "x${dst_parts}"; then break; fi eval ${dst_mask} - dst_parts=`$as_echo ${dst_parts} | sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/\3/'` + dst_parts=`AS_ECHO([${dst_parts}])| sed -e 's/^\(_[[rgb]]\)\(0x[[0-9A-Fa-f]][[0-9A-Fa-f]]*\)\(.*\)$/\3/'` done # allocate the xlat number: @@ -783,119 +783,119 @@ for src_key in ${src_all}; do xlat_info="tme_fb_xlat${xlat}" # start the function: - $as_echo "" - $as_echo "/* this translates frame buffer contents from this source format:" + AS_ECHO([""]) + AS_ECHO(["/* this translates frame buffer contents from this source format:"]) case "${width}x${height}" in - 0x0) $as_echo_n " any dimensions" ;; - *x0) $as_echo_n " width $width, any height" ;; - 0x*) $as_echo_n " any width, height ${height}" ;; - *) $as_echo_n " ${width}x${height}" ;; + 0x0) AS_ECHO_N([" any dimensions"]) ;; + *x0) AS_ECHO_N([" width $width, any height"]) ;; + 0x*) AS_ECHO_N([" any width, height ${height}"]) ;; + *) AS_ECHO_N([" ${width}x${height}"]) ;; esac xlat_info="${xlat_info}, ${width}, ${height}" case ${scale} in - _h_) $as_echo " (image will be halved)" ; value="HALF" ;; - _d_) $as_echo " (image will be doubled)" ; value="DOUBLE" ;; - *) $as_echo "" ; value="NONE" ;; + _h_) AS_ECHO([" (image will be halved)" ; value="HALF"]) ;; + _d_) AS_ECHO([" (image will be doubled)" ; value="DOUBLE"]) ;; + *) AS_ECHO(["" ; value="NONE"]) ;; esac xlat_info="${xlat_info}, TME_FB_XLAT_SCALE_${value}" - $as_echo_n " " + AS_ECHO_N([" "]) case ${src_depth} in - 0) $as_echo_n "any depth" ;; - 1) $as_echo_n "1 bit deep" ;; - *) $as_echo_n "${src_depth} bits deep" ;; + 0) AS_ECHO_N(["any depth"]) ;; + 1) AS_ECHO_N(["1 bit deep"]) ;; + *) AS_ECHO_N(["${src_depth} bits deep"]) ;; esac xlat_info="${xlat_info}, ${src_depth}" case ${src_bipp} in - 0) $as_echo_n ", any bits per pixel" ;; - 1) $as_echo_n ", 1 bit per pixel" ;; - *) $as_echo_n ", ${src_bipp} bits per pixel" ;; + 0) AS_ECHO_N([", any bits per pixel"]) ;; + 1) AS_ECHO_N([", 1 bit per pixel"]) ;; + *) AS_ECHO_N([", ${src_bipp} bits per pixel"]) ;; esac xlat_info="${xlat_info}, ${src_bipp}" case ${src_skipx} in - _) $as_echo_n ", any number of pixels skipped" ; value="-1";; - *) $as_echo_n ", ${src_skipx} pixels skipped" ; value=${src_skipx} ;; + _) AS_ECHO_N([", any number of pixels skipped" ; value="-1"]);; + *) AS_ECHO_N([", ${src_skipx} pixels skipped"]) ; value=${src_skipx} ;; esac xlat_info="${xlat_info}, ${value}" case ${src_pad} in - 0) $as_echo_n ", any scanline padding" ;; - *) $as_echo_n ", ${src_pad}-bit scanline padding" ;; + 0) AS_ECHO_N([", any scanline padding"]) ;; + *) AS_ECHO_N([", ${src_pad}-bit scanline padding"]) ;; esac xlat_info="${xlat_info}, ${src_pad}" case ${src_order} in - m) $as_echo_n ", MSB-first" ; value="BIG" ;; - l) $as_echo_n ", LSB-first" ; value="LITTLE" ;; + m) AS_ECHO_N([", MSB-first" ; value="BIG"]) ;; + l) AS_ECHO_N([", LSB-first" ; value="LITTLE"]) ;; esac xlat_info="${xlat_info}, TME_ENDIAN_${value}" case "x${src_class}" in - xm) $as_echo_n ", monochrome" ; value="MONOCHROME" ;; - xc) $as_echo_n ", color" ; value="COLOR" ;; - *) $as_echo_n ", either color or monochrome" ; value="ANY" ;; + xm) AS_ECHO_N([", monochrome" ; value="MONOCHROME"]) ;; + xc) AS_ECHO_N([", color" ; value="COLOR"]) ;; + *) AS_ECHO_N([", either color or monochrome" ; value="ANY"]) ;; esac xlat_info="${xlat_info}, TME_FB_XLAT_CLASS_${value}" case "x${src_map}" in - xl) $as_echo_n ", linearly mapped pixels" ; value="LINEAR" ;; - xi) $as_echo_n ", index mapped pixels" ; value="INDEX" ;; - *) $as_echo_n ", any pixel mapping" ; value="ANY" ;; + xl) AS_ECHO_N([", linearly mapped pixels" ; value="LINEAR"]) ;; + xi) AS_ECHO_N([", index mapped pixels" ; value="INDEX"]) ;; + *) AS_ECHO_N([", any pixel mapping" ; value="ANY"]) ;; esac xlat_info="${xlat_info}, TME_FB_XLAT_MAP_${value}" value=${src_map_bits} case "${src_map_bits}" in - 0) $as_echo_n ", any bits per mapped intensity" ;; - 1) $as_echo_n ", 1 bit per mapped intensity" ;; - *) $as_echo_n ", ${src_map_bits} bits per mapped intensity" ;; + 0) AS_ECHO_N([", any bits per mapped intensity"]) ;; + 1) AS_ECHO_N([", 1 bit per mapped intensity"]) ;; + *) AS_ECHO_N([", ${src_map_bits} bits per mapped intensity"]) ;; esac xlat_info="${xlat_info}, ${value}" for primary in g r b; do eval "src_mask=\$src_mask_${primary}" case "x${src_mask}" in - x) $as_echo_n ", no ${primary} mask" ; value=0 ;; - x0x0) $as_echo_n ", any ${primary} mask" ; value=TME_FB_XLAT_MASK_ANY ;; - *) $as_echo_n ", a ${primary} mask of ${src_mask}" ; value=${src_mask} ;; + x) AS_ECHO_N([", no ${primary} mask"]) ; value=0 ;; + x0x0) AS_ECHO_N([", any ${primary} mask"]) ; value=TME_FB_XLAT_MASK_ANY ;; + *) AS_ECHO_N([", a ${primary} mask of ${src_mask}"]) ; value=${src_mask} ;; esac xlat_info="${xlat_info}, ${value}" done - $as_echo "" - $as_echo " to this destination format:" - $as_echo_n " " + AS_ECHO([""]) + AS_ECHO([" to this destination format:"]) + AS_ECHO_N([" "]) case ${dst_depth} in - 0) $as_echo_n "any depth" ;; - 1) $as_echo_n "1 bit deep" ;; - *) $as_echo_n "${dst_depth} bits deep" ;; + 0) AS_ECHO_N(["any depth"]) ;; + 1) AS_ECHO_N(["1 bit deep"]) ;; + *) AS_ECHO_N(["${dst_depth} bits deep"]) ;; esac xlat_info="${xlat_info}, ${dst_depth}" case ${dst_bipp} in - 0) $as_echo_n ", any bits per pixel" ;; - 1) $as_echo_n ", 1 bit per pixel" ;; - *) $as_echo_n ", ${dst_bipp} bits per pixel" ;; + 0) AS_ECHO_N([", any bits per pixel"]) ;; + 1) AS_ECHO_N([", 1 bit per pixel"]) ;; + *) AS_ECHO_N([", ${dst_bipp} bits per pixel"]) ;; esac xlat_info="${xlat_info}, ${dst_bipp}" case ${dst_skipx} in - _) $as_echo_n ", any number of pixels skipped" ; value="-1";; - *) $as_echo_n ", ${dst_skipx} pixels skipped" ; value=${dst_skipx} ;; + _) AS_ECHO_N([", any number of pixels skipped" ; value="-1"]);; + *) AS_ECHO_N([", ${dst_skipx} pixels skipped"]) ; value=${dst_skipx} ;; esac xlat_info="${xlat_info}, ${value}" case ${dst_pad} in - 0) $as_echo_n ", any scanline padding" ;; - *) $as_echo_n ", ${dst_pad}-bit scanline padding" ;; + 0) AS_ECHO_N([", any scanline padding"]) ;; + *) AS_ECHO_N([", ${dst_pad}-bit scanline padding"]) ;; esac xlat_info="${xlat_info}, ${dst_pad}" case ${dst_order} in - m) $as_echo_n ", MSB-first" ; value="BIG" ;; - l) $as_echo_n ", LSB-first" ; value="LITTLE" ;; + m) AS_ECHO_N([", MSB-first" ; value="BIG"]) ;; + l) AS_ECHO_N([", LSB-first" ; value="LITTLE"]) ;; esac xlat_info="${xlat_info}, TME_ENDIAN_${value}" case "x${dst_map}" in - xl) $as_echo_n ", linearly mapped pixels" ; value="LINEAR" ;; - xi) $as_echo_n ", index mapped pixels" ; value="INDEX" ;; - *) $as_echo_n ", any pixel mapping" ; value="ANY" ;; + xl) AS_ECHO_N([", linearly mapped pixels" ; value="LINEAR"]) ;; + xi) AS_ECHO_N([", index mapped pixels" ; value="INDEX"]) ;; + *) AS_ECHO_N([", any pixel mapping" ; value="ANY"]) ;; esac xlat_info="${xlat_info}, TME_FB_XLAT_MAP_${value}" for primary in g r b; do eval "dst_mask=\$dst_mask_${primary}" case "x${dst_mask}" in - x) $as_echo_n ", no ${primary} mask" ; value=0 ;; - x0x0) $as_echo_n ", any ${primary} mask" ; value=TME_FB_XLAT_MASK_ANY ;; - *) $as_echo_n ", a ${primary} mask of ${dst_mask}" ; value=${dst_mask} ;; + x) AS_ECHO_N([", no ${primary} mask"]) ; value=0 ;; + x0x0) AS_ECHO_N([", any ${primary} mask"]) ; value=TME_FB_XLAT_MASK_ANY ;; + *) AS_ECHO_N([", a ${primary} mask of ${dst_mask}"]) ; value=${dst_mask} ;; esac xlat_info="${xlat_info}, ${value}" done @@ -904,31 +904,31 @@ for src_key in ${src_all}; do xlat_array="${xlat_array} { $xlat_info }, " IFS=$save_IFS - $as_echo "" - $as_echo "*/" - $as_echo "static int" - $as_echo "tme_fb_xlat${xlat}(struct tme_fb_connection *src," - $as_echo " struct tme_fb_connection *dst)" - $as_echo "{" + AS_ECHO([""]) + AS_ECHO(["*/"]) + AS_ECHO(["static int"]) + AS_ECHO(["tme_fb_xlat${xlat}(struct tme_fb_connection *src,"]) + AS_ECHO([" struct tme_fb_connection *dst)"]) + AS_ECHO(["{"]) undef_macros= - $as_echo "" - $as_echo " /* whenever possible we define macros instead of declaring" - $as_echo " variables, for optimization: */" + AS_ECHO([""]) + AS_ECHO([" /* whenever possible we define macros instead of declaring"]) + AS_ECHO([" variables, for optimization: */"]) - $as_echo "" - $as_echo " /* declare src_x and src_y. these are the current translation" - $as_echo " coordinates in the source image: */" - $as_echo " unsigned int src_x, src_y;" + AS_ECHO([""]) + AS_ECHO([" /* declare src_x and src_y. these are the current translation"]) + AS_ECHO([" coordinates in the source image: */"]) + AS_ECHO([" unsigned int src_x, src_y;"]) - $as_echo "" - $as_echo " /* declare dst_x and dst_y. these are the current translation" - $as_echo " coordinates in the destination image. since this function" + AS_ECHO([""]) + AS_ECHO([" /* declare dst_x and dst_y. these are the current translation"]) + AS_ECHO([" coordinates in the destination image. since this function"]) if test $scale = _; then - $as_echo " does not scale the image, these coordinates are always" - $as_echo " the same as the coordinates in the source image: */" - $as_echo "#define dst_x (src_x)" - $as_echo "#define dst_y (src_y)" + AS_ECHO([" does not scale the image, these coordinates are always"]) + AS_ECHO([" the same as the coordinates in the source image: */"]) + AS_ECHO(["#define dst_x (src_x)"]) + AS_ECHO(["#define dst_y (src_y)"]) undef_macros="${undef_macros} dst_x dst_y" scale_op= scale_math= @@ -941,44 +941,44 @@ for src_key in ${src_all}; do scale_name='doubles' fi scale_math=" ${scale_op} 2" - $as_echo " ${scale_name} the image, the coordinates in the destination image" - $as_echo " are always the coordinates in the source image${scale_math}: */" - $as_echo " unsigned int dst_x, dst_y;" + AS_ECHO([" ${scale_name} the image, the coordinates in the destination image"]) + AS_ECHO([" are always the coordinates in the source image${scale_math}: */"]) + AS_ECHO([" unsigned int dst_x, dst_y;"]) fi - $as_echo "" - $as_echo " /* declare pixel. this holds a single pixel value being translated" - $as_echo " for the destination image: */" - $as_echo " tme_uint32_t pixel;" + AS_ECHO([""]) + AS_ECHO([" /* declare pixel. this holds a single pixel value being translated"]) + AS_ECHO([" for the destination image: */"]) + AS_ECHO([" tme_uint32_t pixel;"]) - $as_echo "" - $as_echo " /* declare src_width and dst_width. these are in terms of pixels: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_width and dst_width. these are in terms of pixels: */"]) value="(src_width${scale_math})" if test ${width} = 0; then - $as_echo " const unsigned int src_width = src->tme_fb_connection_width;" + AS_ECHO([" const unsigned int src_width = src->tme_fb_connection_width;"]) if test $scale != _; then - $as_echo " const unsigned int dst_width = ${value};" + AS_ECHO([" const unsigned int dst_width = ${value};"]) else - $as_echo "#define dst_width ${value}" + AS_ECHO(["#define dst_width ${value}"]) undef_macros="${undef_macros} dst_width" fi else - $as_echo "#define src_width (${width})" - $as_echo "#define dst_width ${value}" + AS_ECHO(["#define src_width (${width})"]) + AS_ECHO(["#define dst_width ${value}"]) undef_macros="${undef_macros} src_width dst_width" fi - $as_echo "" - $as_echo " /* declare src_depth, the source pixel depth, which is in" - $as_echo " terms of bits. declare src_mask, which is the corresponding" - $as_echo " mask of one bits: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_depth, the source pixel depth, which is in"]) + AS_ECHO([" terms of bits. declare src_mask, which is the corresponding"]) + AS_ECHO([" mask of one bits: */"]) value="(0xffffffff >> (32 - src_depth))" if test ${src_depth} = 0; then - $as_echo " const unsigned int src_depth = src->tme_fb_connection_depth;" - $as_echo " const tme_uint32_t src_mask = ${value};" + AS_ECHO([" const unsigned int src_depth = src->tme_fb_connection_depth;"]) + AS_ECHO([" const tme_uint32_t src_mask = ${value};"]) else - $as_echo "#define src_depth (${src_depth})" - $as_echo "#define src_mask ${value}" + AS_ECHO(["#define src_depth (${src_depth})"]) + AS_ECHO(["#define src_mask ${value}"]) undef_macros="${undef_macros} src_depth src_mask" fi @@ -987,199 +987,199 @@ for src_key in ${src_all}; do # if test ${scale} = _h_ || test "x${src_mask_g}" != x; then - $as_echo "" - $as_echo " /* declare src_indexed. this is nonzero if source pixel subfields" - $as_echo " are index-mapped into intensities: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_indexed. this is nonzero if source pixel subfields"]) + AS_ECHO([" are index-mapped into intensities: */"]) if test "x${src_map}" = x; then - $as_echo " const unsigned int src_indexed = (src->tme_fb_connection_map_g != NULL);" + AS_ECHO([" const unsigned int src_indexed = (src->tme_fb_connection_map_g != NULL);"]) else if test "x${src_map}" = xi; then value=TRUE; else value=FALSE; fi - $as_echo "#define src_indexed (${value})" + AS_ECHO(["#define src_indexed (${value})"]) undef_macros="${undef_macros} src_indexed" fi - $as_echo "" - $as_echo " /* declare src_mask_i, which is the mask for a source intensity: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_mask_i, which is the mask for a source intensity: */"]) if test "${src_map_bits}" = 0; then - $as_echo " const tme_uint32_t src_mask_i = (0xffffffff >> (32 - src->tme_fb_connection_map_bits));" + AS_ECHO([" const tme_uint32_t src_mask_i = (0xffffffff >> (32 - src->tme_fb_connection_map_bits));"]) else - $as_echo "#define src_mask_i (0xffffffff >> (32 - ${src_map_bits}))" + AS_ECHO(["#define src_mask_i (0xffffffff >> (32 - ${src_map_bits}))"]) undef_macros="${undef_macros} src_mask_i" fi if test "x${src_class}" != xm; then - $as_echo "" - $as_echo " /* declare dst_indexed. this is nonzero if intensities are index-mapped" - $as_echo " into destination pixel subfields: */" + AS_ECHO([""]) + AS_ECHO([" /* declare dst_indexed. this is nonzero if intensities are index-mapped"]) + AS_ECHO([" into destination pixel subfields: */"]) if test "x${dst_map}" = x; then - $as_echo " const unsigned int dst_indexed = (dst->tme_fb_connection_map_g != NULL);" + AS_ECHO([" const unsigned int dst_indexed = (dst->tme_fb_connection_map_g != NULL);"]) else if test "x${dst_map}" = xi; then value=TRUE; else value=FALSE; fi - $as_echo "#define dst_indexed (${value})" + AS_ECHO(["#define dst_indexed (${value})"]) undef_macros="${undef_macros} dst_indexed" fi - $as_echo "" - $as_echo " /* declare dst_masks_default. this is nonzero if the destination" - $as_echo " subfield masks are the default: */" + AS_ECHO([""]) + AS_ECHO([" /* declare dst_masks_default. this is nonzero if the destination"]) + AS_ECHO([" subfield masks are the default: */"]) if test "x${dst_mask_g}" = "x0x0"; then - $as_echo " const unsigned int dst_masks_default = (dst->tme_fb_connection_mask_g == 0);" + AS_ECHO([" const unsigned int dst_masks_default = (dst->tme_fb_connection_mask_g == 0);"]) else if test "x${dst_mask_g}" = x; then value=TRUE; else value=FALSE; fi - $as_echo "#define dst_masks_default (${value})" + AS_ECHO(["#define dst_masks_default (${value})"]) undef_macros="${undef_macros} dst_masks_default" fi fi for primary in g r b; do - primary_cap=`$as_echo ${primary} | tr a-z A-Z` - $as_echo "" - $as_echo " /* declare src_mask_${primary}, the mask for the ${primary} subfield in a source pixel: */" + primary_cap=`AS_ECHO([${primary}])| tr a-z A-Z` + AS_ECHO([""]) + AS_ECHO([" /* declare src_mask_${primary}, the mask for the ${primary} subfield in a source pixel: */"]) eval "src_mask=\$src_mask_${primary}" if test "x${src_mask}" = x0x0; then - $as_echo " const tme_uint32_t src_mask_${primary}" - $as_echo " = (src->tme_fb_connection_mask_${primary} != 0" - $as_echo " ? src->tme_fb_connection_mask_${primary}" - $as_echo " : src_mask);" + AS_ECHO([" const tme_uint32_t src_mask_${primary}"]) + AS_ECHO([" = (src->tme_fb_connection_mask_${primary} != 0"]) + AS_ECHO([" ? src->tme_fb_connection_mask_${primary}"]) + AS_ECHO([" : src_mask);"]) else if test "x${src_mask}" = x; then src_mask="src_mask"; fi - $as_echo "#define src_mask_${primary} (${src_mask})" + AS_ECHO(["#define src_mask_${primary} (${src_mask})"]) undef_macros="${undef_macros} src_mask_${primary}" fi - $as_echo "" - $as_echo " /* declare value_${primary}, the intensity value for the ${primary} subfield in a pixel: */" - $as_echo " tme_uint32_t value_${primary};" + AS_ECHO([""]) + AS_ECHO([" /* declare value_${primary}, the intensity value for the ${primary} subfield in a pixel: */"]) + AS_ECHO([" tme_uint32_t value_${primary};"]) if test "x${src_class}" = xm; then break; fi - $as_echo "" - $as_echo " /* declare dst_mask_${primary}, the mask for the ${primary} subfield in a destination pixel: */" + AS_ECHO([""]) + AS_ECHO([" /* declare dst_mask_${primary}, the mask for the ${primary} subfield in a destination pixel: */"]) eval "dst_mask=\$dst_mask_${primary}" if test "x${dst_mask}" = x0x0; then - $as_echo " const tme_uint32_t dst_mask_${primary}" - $as_echo " = (dst->tme_fb_connection_mask_${primary} != 0" - $as_echo " ? dst->tme_fb_connection_mask_${primary}" - $as_echo " : TME_FB_XLAT_MASK_DEFAULT_${primary_cap});" + AS_ECHO([" const tme_uint32_t dst_mask_${primary}"]) + AS_ECHO([" = (dst->tme_fb_connection_mask_${primary} != 0"]) + AS_ECHO([" ? dst->tme_fb_connection_mask_${primary}"]) + AS_ECHO([" : TME_FB_XLAT_MASK_DEFAULT_${primary_cap});"]) else if test "x${dst_mask}" = x; then dst_mask="TME_FB_XLAT_MASK_DEFAULT_${primary_cap}"; fi - $as_echo "#define dst_mask_${primary} (${dst_mask})" + AS_ECHO(["#define dst_mask_${primary} (${dst_mask})"]) undef_macros="${undef_macros} dst_mask_${primary}" fi done fi - $as_echo "" - $as_echo " /* declare src_bipp and dst_bipp. these are the bits-per-pixel" - $as_echo " values for the source and destination images: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_bipp and dst_bipp. these are the bits-per-pixel"]) + AS_ECHO([" values for the source and destination images: */"]) if test ${src_bipp} = 0; then - $as_echo " const unsigned int src_bipp = src->tme_fb_connection_bits_per_pixel;" + AS_ECHO([" const unsigned int src_bipp = src->tme_fb_connection_bits_per_pixel;"]) else - $as_echo "#define src_bipp (${src_bipp})" + AS_ECHO(["#define src_bipp (${src_bipp})"]) undef_macros="${undef_macros} src_bipp" fi if test ${dst_bipp} = 0; then - $as_echo " const unsigned int dst_bipp = dst->tme_fb_connection_bits_per_pixel;" + AS_ECHO([" const unsigned int dst_bipp = dst->tme_fb_connection_bits_per_pixel;"]) else - $as_echo "#define dst_bipp (${dst_bipp})" + AS_ECHO(["#define dst_bipp (${dst_bipp})"]) undef_macros="${undef_macros} dst_bipp" fi - $as_echo "" - $as_echo " /* declare src_skipx and dst_skipx. these are the counts of" - $as_echo " undisplayed pixels at the beginning of each scanline in the" - $as_echo " source and destination images: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_skipx and dst_skipx. these are the counts of"]) + AS_ECHO([" undisplayed pixels at the beginning of each scanline in the"]) + AS_ECHO([" source and destination images: */"]) if test ${src_skipx} = _; then - $as_echo " const unsigned int src_skipx = src->tme_fb_connection_skipx;" + AS_ECHO([" const unsigned int src_skipx = src->tme_fb_connection_skipx;"]) else - $as_echo "#define src_skipx (${src_skipx})" + AS_ECHO(["#define src_skipx (${src_skipx})"]) undef_macros="${undef_macros} src_skipx" fi if test ${dst_skipx} = _; then - $as_echo " const unsigned int dst_skipx = dst->tme_fb_connection_skipx;" + AS_ECHO([" const unsigned int dst_skipx = dst->tme_fb_connection_skipx;"]) else - $as_echo "#define dst_skipx (${dst_skipx})" + AS_ECHO(["#define dst_skipx (${dst_skipx})"]) undef_macros="${undef_macros} dst_skipx" fi - $as_echo "" - $as_echo " /* declare src_pad and dst_pad. these are the paddings, in bits," - $as_echo " of each scanline in the source and destination images: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_pad and dst_pad. these are the paddings, in bits,"]) + AS_ECHO([" of each scanline in the source and destination images: */"]) if test ${src_pad} = 0; then - $as_echo " const unsigned int src_pad = src->tme_fb_connection_scanline_pad;" + AS_ECHO([" const unsigned int src_pad = src->tme_fb_connection_scanline_pad;"]) else - $as_echo "#define src_pad (${src_pad})" + AS_ECHO(["#define src_pad (${src_pad})"]) undef_macros="${undef_macros} src_pad" fi if test ${dst_pad} = 0; then - $as_echo " const unsigned int dst_pad = dst->tme_fb_connection_scanline_pad;" + AS_ECHO([" const unsigned int dst_pad = dst->tme_fb_connection_scanline_pad;"]) else - $as_echo "#define dst_pad (${dst_pad})" + AS_ECHO(["#define dst_pad (${dst_pad})"]) undef_macros="${undef_macros} dst_pad" fi - $as_echo "" - $as_echo " /* declare src_order and dst_order. these are the bit and byte" - $as_echo " orders (either TME_ENDIAN_BIG or TME_ENDIAN_LITTLE) of the" - $as_echo " source and destination images. since these values profoundly" - $as_echo " affect optimization, they are always constant: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_order and dst_order. these are the bit and byte"]) + AS_ECHO([" orders (either TME_ENDIAN_BIG or TME_ENDIAN_LITTLE) of the"]) + AS_ECHO([" source and destination images. since these values profoundly"]) + AS_ECHO([" affect optimization, they are always constant: */"]) if test ${src_order} = m; then value=BIG; else value=LITTLE; fi - $as_echo "#define src_order (TME_ENDIAN_${value})" + AS_ECHO(["#define src_order (TME_ENDIAN_${value})"]) undef_macros="${undef_macros} src_order" if test ${dst_order} = m; then value=BIG; else value=LITTLE; fi - $as_echo "#define dst_order (TME_ENDIAN_${value})" + AS_ECHO(["#define dst_order (TME_ENDIAN_${value})"]) undef_macros="${undef_macros} dst_order" - $as_echo "" - $as_echo " /* declare src_bypl and dst_bypl. these are the bytes per scanline" - $as_echo " in the source and destination images. these values are calculated" - $as_echo " from the count of undisplayed and displayed pixels per scanline," - $as_echo " the number of bits per pixel, and the scanline padding: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_bypl and dst_bypl. these are the bytes per scanline"]) + AS_ECHO([" in the source and destination images. these values are calculated"]) + AS_ECHO([" from the count of undisplayed and displayed pixels per scanline,"]) + AS_ECHO([" the number of bits per pixel, and the scanline padding: */"]) value="(((((src_skipx + src_width) * src_bipp) + (src_pad - 1)) & -src_pad) / 8)" if test ${src_skipx} = _ || test ${width} = 0 || test ${src_bipp} = 0 || test ${src_pad} = 0; then - $as_echo " const unsigned int src_bypl = ${value};" + AS_ECHO([" const unsigned int src_bypl = ${value};"]) src_bypl_var=true else - $as_echo "#define src_bypl ${value}" + AS_ECHO(["#define src_bypl ${value}"]) undef_macros="${undef_macros} src_bypl" src_bypl_var=false fi value="(((((dst_skipx + dst_width) * dst_bipp) + (dst_pad - 1)) & -dst_pad) / 8)" if test ${dst_skipx} = _ || test ${width} = 0 || test ${dst_bipp} = 0 || test ${dst_pad} = 0; then - $as_echo " const unsigned int dst_bypl = ${value};" + AS_ECHO([" const unsigned int dst_bypl = ${value};"]) dst_bypl_var=true else - $as_echo "#define dst_bypl ${value}" + AS_ECHO(["#define dst_bypl ${value}"]) undef_macros="${undef_macros} dst_bypl" dst_bypl_var=false fi - $as_echo "" - $as_echo " /* declare src_packed and dst_packed. these are nonzero iff" - $as_echo " every last bit in a scanline belongs to a displayed pixel." - $as_echo " put another way, this is zero iff a scanline has undisplayed" - $as_echo " pixels at its beginning or padding bits at its end. when" - $as_echo " a source image or destination image is packed, translation" - $as_echo " doesn't have to worry about skipping FIFO bits to get to" - $as_echo " bits belonging to displayed pixels: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_packed and dst_packed. these are nonzero iff"]) + AS_ECHO([" every last bit in a scanline belongs to a displayed pixel."]) + AS_ECHO([" put another way, this is zero iff a scanline has undisplayed"]) + AS_ECHO([" pixels at its beginning or padding bits at its end. when"]) + AS_ECHO([" a source image or destination image is packed, translation"]) + AS_ECHO([" doesn't have to worry about skipping FIFO bits to get to"]) + AS_ECHO([" bits belonging to displayed pixels: */"]) value="((src_width * src_bipp) == (src_bypl * 8))" if $src_bypl_var; then - $as_echo " const unsigned int src_packed = ${value};" + AS_ECHO([" const unsigned int src_packed = ${value};"]) else - $as_echo "#define src_packed ${value}" + AS_ECHO(["#define src_packed ${value}"]) undef_macros="${undef_macros} src_packed" fi value="((dst_width * dst_bipp) == (dst_bypl * 8))" if $dst_bypl_var; then - $as_echo " const unsigned int dst_packed = ${value};" + AS_ECHO([" const unsigned int dst_packed = ${value};"]) else - $as_echo "#define dst_packed ${value}" + AS_ECHO(["#define dst_packed ${value}"]) undef_macros="${undef_macros} dst_packed" fi - $as_echo "" - $as_echo " /* declare src_bypb and src_bypb_real. src_bypb is the bytes" - $as_echo " per source image buffer with the \"translation termination" - $as_echo " overhead\" of approximately two extra scanlines. src_bypb_real" - $as_echo " is the real bytes per source image buffer with no overhead." - $as_echo " both values are padded to a multiple of 4 bytes (32 bits): */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_bypb and src_bypb_real. src_bypb is the bytes"]) + AS_ECHO([" per source image buffer with the \"translation termination"]) + AS_ECHO([" overhead\" of approximately two extra scanlines. src_bypb_real"]) + AS_ECHO([" is the real bytes per source image buffer with no overhead."]) + AS_ECHO([" both values are padded to a multiple of 4 bytes (32 bits): */"]) if test ${height} = 0; then value="src->tme_fb_connection_height" else @@ -1188,98 +1188,98 @@ for src_key in ${src_all}; do value_real="(((${value} * src_bypl) + 3) & -4)" value="((src_bypb_real + (src_bypl * 2)) & -4)" if test ${height} = 0 || $src_bypl_var; then - $as_echo " const unsigned int src_bypb_real = ${value_real};" - $as_echo " const unsigned int src_bypb = ${value};" + AS_ECHO([" const unsigned int src_bypb_real = ${value_real};"]) + AS_ECHO([" const unsigned int src_bypb = ${value};"]) else - $as_echo "#define src_bypb_real ${value_real}" - $as_echo "#define src_bypb ${value}" + AS_ECHO(["#define src_bypb_real ${value_real}"]) + AS_ECHO(["#define src_bypb ${value}"]) undef_macros="${undef_macros} src_bypb_real src_bypb" fi - $as_echo "" - $as_echo " /* declare the source primary bit FIFO:" - $as_echo "" - $as_echo " src_raw0 points to the next aligned 32-bit word to be" - $as_echo " read from the image buffer." - $as_echo "" - $as_echo " src_fifo0 is the visible part of the bit FIFO." - $as_echo "" - $as_echo " src_fifo0_next and src_fifo0_bits are only used when the" - $as_echo " visible part of the bit FIFO is not guaranteed to always" - $as_echo " correspond to an aligned 32-bit word in the image buffer." - $as_echo " src_fifo0_next is the invisible part of the bit FIFO," - $as_echo " and src_fifo0_bits tracks the total number of bits in the" - $as_echo " visible and invisible parts of the FIFO. */" - $as_echo " const tme_uint32_t *src_raw0;" - $as_echo " tme_uint32_t src_fifo0, src_fifo0_next;" - $as_echo " unsigned int src_fifo0_bits;" + AS_ECHO([""]) + AS_ECHO([" /* declare the source primary bit FIFO:"]) + AS_ECHO([""]) + AS_ECHO([" src_raw0 points to the next aligned 32-bit word to be"]) + AS_ECHO([" read from the image buffer."]) + AS_ECHO([""]) + AS_ECHO([" src_fifo0 is the visible part of the bit FIFO."]) + AS_ECHO([""]) + AS_ECHO([" src_fifo0_next and src_fifo0_bits are only used when the"]) + AS_ECHO([" visible part of the bit FIFO is not guaranteed to always"]) + AS_ECHO([" correspond to an aligned 32-bit word in the image buffer."]) + AS_ECHO([" src_fifo0_next is the invisible part of the bit FIFO,"]) + AS_ECHO([" and src_fifo0_bits tracks the total number of bits in the"]) + AS_ECHO([" visible and invisible parts of the FIFO. */"]) + AS_ECHO([" const tme_uint32_t *src_raw0;"]) + AS_ECHO([" tme_uint32_t src_fifo0, src_fifo0_next;"]) + AS_ECHO([" unsigned int src_fifo0_bits;"]) if test ${scale} = _h_; then - $as_echo "" - $as_echo " /* since this function ${scale_name} the image, declare the" - $as_echo " source secondary bit FIFO. these variables work in " - $as_echo " exactly the same way that their primary counterparts do: */" - $as_echo " const tme_uint32_t *src_raw1;" - $as_echo " tme_uint32_t src_fifo1, src_fifo1_next;" - $as_echo " unsigned int src_fifo1_bits;" + AS_ECHO([""]) + AS_ECHO([" /* since this function ${scale_name} the image, declare the"]) + AS_ECHO([" source secondary bit FIFO. these variables work in "]) + AS_ECHO([" exactly the same way that their primary counterparts do: */"]) + AS_ECHO([" const tme_uint32_t *src_raw1;"]) + AS_ECHO([" tme_uint32_t src_fifo1, src_fifo1_next;"]) + AS_ECHO([" unsigned int src_fifo1_bits;"]) fi - $as_echo "" - $as_echo " /* declare the destination primary bit FIFO:" - $as_echo "" - $as_echo " dst_raw0 points to the next aligned 32-bit word to be" - $as_echo " written into the image buffer." - $as_echo "" - $as_echo " dst_fifo0 is the visible part of the bit FIFO." - $as_echo "" - $as_echo " dst_fifo0_next and dst_fifo0_bits are only used when the" - $as_echo " visible part of the bit FIFO is not guaranteed to always" - $as_echo " correspond to an aligned 32-bit word in the image buffer." - $as_echo " dst_fifo0_next is the invisible part of the bit FIFO," - $as_echo " and dst_fifo0_bits tracks the total number of bits in the" - $as_echo " invisible part of the FIFO. */" - $as_echo " tme_uint32_t *dst_raw0;" - $as_echo " tme_uint32_t dst_fifo0, dst_fifo0_next;" - $as_echo " unsigned int dst_fifo0_bits;" + AS_ECHO([""]) + AS_ECHO([" /* declare the destination primary bit FIFO:"]) + AS_ECHO([""]) + AS_ECHO([" dst_raw0 points to the next aligned 32-bit word to be"]) + AS_ECHO([" written into the image buffer."]) + AS_ECHO([""]) + AS_ECHO([" dst_fifo0 is the visible part of the bit FIFO."]) + AS_ECHO([""]) + AS_ECHO([" dst_fifo0_next and dst_fifo0_bits are only used when the"]) + AS_ECHO([" visible part of the bit FIFO is not guaranteed to always"]) + AS_ECHO([" correspond to an aligned 32-bit word in the image buffer."]) + AS_ECHO([" dst_fifo0_next is the invisible part of the bit FIFO,"]) + AS_ECHO([" and dst_fifo0_bits tracks the total number of bits in the"]) + AS_ECHO([" invisible part of the FIFO. */"]) + AS_ECHO([" tme_uint32_t *dst_raw0;"]) + AS_ECHO([" tme_uint32_t dst_fifo0, dst_fifo0_next;"]) + AS_ECHO([" unsigned int dst_fifo0_bits;"]) if test ${scale} = _d_; then - $as_echo "" - $as_echo " /* since this function ${scale_name} the image, declare" - $as_echo " the destination secondary bit FIFO. these variables work" - $as_echo " in exactly the same way that their primary counterparts" - $as_echo " do: */" - $as_echo " tme_uint32_t *dst_raw1;" - $as_echo " tme_uint32_t dst_fifo1, dst_fifo1_next;" - $as_echo " unsigned int dst_fifo1_bits;" + AS_ECHO([""]) + AS_ECHO([" /* since this function ${scale_name} the image, declare"]) + AS_ECHO([" the destination secondary bit FIFO. these variables work"]) + AS_ECHO([" in exactly the same way that their primary counterparts"]) + AS_ECHO([" do: */"]) + AS_ECHO([" tme_uint32_t *dst_raw1;"]) + AS_ECHO([" tme_uint32_t dst_fifo1, dst_fifo1_next;"]) + AS_ECHO([" unsigned int dst_fifo1_bits;"]) fi - $as_echo "" - $as_echo " /* declare src_off and dst_off. these are used when priming a" - $as_echo " source or destination bit FIFO, to identify an initial aligned" - $as_echo " 32-bit word in the source or destination image buffer, and an" - $as_echo " initial bit offset within that word: */" - $as_echo " unsigned int src_off, dst_off;" - - $as_echo "" - $as_echo " /* declare src_fifo0_may_be_unaligned. this is zero iff all" - $as_echo " aligned 32-bit words in the source buffer contain a whole" - $as_echo " number of displayed pixels, and at *all times during the" - $as_echo " translation* the visible part of the bit FIFO is guaranteed" - $as_echo " to correspond to an aligned 32-bit word in the image buffer." - $as_echo "" - $as_echo " this is *not* so if any of the following are true:" - $as_echo "" - $as_echo " - the source bits-per-pixel value is not known at compile" - $as_echo " time. in this case, we can't unroll the translation loop" - $as_echo " for source pixels, and are forced to shift the FIFO after" - $as_echo " each one." - $as_echo "" - $as_echo " - if the source image is not packed. in this case, there may" - $as_echo " be undisplayed pixels in the FIFO, which we will need to" - $as_echo " shift out." - $as_echo "" - $as_echo " - if there are 24 bits per source pixel. in this case, a" - $as_echo " source pixel may cross a 32-bit boundary: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_off and dst_off. these are used when priming a"]) + AS_ECHO([" source or destination bit FIFO, to identify an initial aligned"]) + AS_ECHO([" 32-bit word in the source or destination image buffer, and an"]) + AS_ECHO([" initial bit offset within that word: */"]) + AS_ECHO([" unsigned int src_off, dst_off;"]) + + AS_ECHO([""]) + AS_ECHO([" /* declare src_fifo0_may_be_unaligned. this is zero iff all"]) + AS_ECHO([" aligned 32-bit words in the source buffer contain a whole"]) + AS_ECHO([" number of displayed pixels, and at *all times during the"]) + AS_ECHO([" translation* the visible part of the bit FIFO is guaranteed"]) + AS_ECHO([" to correspond to an aligned 32-bit word in the image buffer."]) + AS_ECHO([""]) + AS_ECHO([" this is *not* so if any of the following are true:"]) + AS_ECHO([""]) + AS_ECHO([" - the source bits-per-pixel value is not known at compile"]) + AS_ECHO([" time. in this case, we can't unroll the translation loop"]) + AS_ECHO([" for source pixels, and are forced to shift the FIFO after"]) + AS_ECHO([" each one."]) + AS_ECHO([""]) + AS_ECHO([" - if the source image is not packed. in this case, there may"]) + AS_ECHO([" be undisplayed pixels in the FIFO, which we will need to"]) + AS_ECHO([" shift out."]) + AS_ECHO([""]) + AS_ECHO([" - if there are 24 bits per source pixel. in this case, a"]) + AS_ECHO([" source pixel may cross a 32-bit boundary: */"]) src_fifo0_may_be_unaligned_var=false if test ${src_bipp} = 0; then value=TRUE @@ -1288,77 +1288,77 @@ for src_key in ${src_all}; do src_fifo0_may_be_unaligned_var=${src_bypl_var} fi if $src_fifo0_may_be_unaligned_var; then - $as_echo " const unsigned int src_fifo0_may_be_unaligned = ${value};" + AS_ECHO([" const unsigned int src_fifo0_may_be_unaligned = ${value};"]) else - $as_echo "#define src_fifo0_may_be_unaligned ${value}" + AS_ECHO(["#define src_fifo0_may_be_unaligned ${value}"]) undef_macros="${undef_macros} src_fifo0_may_be_unaligned" fi if test $scale = _h_; then - $as_echo "" - $as_echo " /* declare src_fifo1_may_be_unaligned. this is zero iff all" - $as_echo " aligned 32-bit words in the source buffer contain a" - $as_echo " whole number of displayed pixels, *and* for every aligned" - $as_echo " 32-bit word on one scanline all other scanlines have an" - $as_echo " aligned 32-bit word corresponding to the same x coordinate: */" + AS_ECHO([""]) + AS_ECHO([" /* declare src_fifo1_may_be_unaligned. this is zero iff all"]) + AS_ECHO([" aligned 32-bit words in the source buffer contain a"]) + AS_ECHO([" whole number of displayed pixels, *and* for every aligned"]) + AS_ECHO([" 32-bit word on one scanline all other scanlines have an"]) + AS_ECHO([" aligned 32-bit word corresponding to the same x coordinate: */"]) value="(src_fifo0_may_be_unaligned || (src_bypl & 3))" if $src_bypl_var; then - $as_echo " const unsigned int src_fifo1_may_be_unaligned = ${value};" + AS_ECHO([" const unsigned int src_fifo1_may_be_unaligned = ${value};"]) else - $as_echo "#define src_fifo1_may_be_unaligned ${value}" + AS_ECHO(["#define src_fifo1_may_be_unaligned ${value}"]) undef_macros="${undef_macros} src_fifo1_may_be_unaligned" fi fi - $as_echo "" - $as_echo " /* declare dst_fifo0_may_be_unaligned. this is zero iff all" - $as_echo " aligned 32-bit words in the destination buffer contain a whole" - $as_echo " number of displayed pixels, and at *all times during the" - $as_echo " translation* the visible part of the bit FIFO is guaranteed" - $as_echo " to correspond to an aligned 32-bit word in the image buffer." - $as_echo "" - $as_echo " this is *not* so if any of the following are true:" - $as_echo "" - $as_echo " - the destination bits-per-pixel value is not known at compile" - $as_echo " time. in this case, we can't unroll the translation loop" - $as_echo " for destination pixels, and are forced to shift the FIFO" - $as_echo " after each one." - $as_echo "" - $as_echo " - if src_fifo0_may_be_unaligned is true. in this case, we" - $as_echo " definitely can't guarantee that any initial dst_x will" - $as_echo " correspond to an aligned 32-bit word in the destination buffer." - $as_echo "" - $as_echo " - if the destination image is not packed. in this case, there may" - $as_echo " be undisplayed pixels in the FIFO, which we will need to" - $as_echo " shift out." - $as_echo "" - $as_echo " - if there are 24 bits per destination pixel. in this case," - $as_echo " a destination pixel may cross a 32-bit boundary." - $as_echo "" - $as_echo " - if a possible initial dst_x doesn't correspond to an aligned" - $as_echo " 32-bit word in the destination buffer. for this last one:" - $as_echo "" - $as_echo " since we require that src_fifo0_may_be_unaligned is zero, we" - $as_echo " know that the initial src_x = (Z * 32) / src_bipp for " - $as_echo " some Z. we also have the initial dst_x = src_x${scale_math}." - $as_echo " the initial destination bit offset will then be:" - $as_echo "" - $as_echo " (dst_skipx + dst_x) * dst_bipp" - $as_echo " = (dst_skipx * dst_bipp) + (dst_x * dst_bipp)" - $as_echo "" - $as_echo " if we additionally require that (dst_skipx * dst_bipp)" - $as_echo " be 32-bit aligned, this reduces things to:" - $as_echo "" - $as_echo " dst_x * dst_bipp" - $as_echo " = (src_x${scale_math}) * dst_bipp" - $as_echo " = (((Z * 32) / src_bipp)${scale_math}) * dst_bipp" - $as_echo "" - $as_echo " which will be a multiple of 32 iff:" - $as_echo "" - $as_echo " ((1 / src_bipp)${scale_math}) * dst_bipp >= 1 and integral" - $as_echo "" - $as_echo " or, equivalently:" - $as_echo "" + AS_ECHO([""]) + AS_ECHO([" /* declare dst_fifo0_may_be_unaligned. this is zero iff all"]) + AS_ECHO([" aligned 32-bit words in the destination buffer contain a whole"]) + AS_ECHO([" number of displayed pixels, and at *all times during the"]) + AS_ECHO([" translation* the visible part of the bit FIFO is guaranteed"]) + AS_ECHO([" to correspond to an aligned 32-bit word in the image buffer."]) + AS_ECHO([""]) + AS_ECHO([" this is *not* so if any of the following are true:"]) + AS_ECHO([""]) + AS_ECHO([" - the destination bits-per-pixel value is not known at compile"]) + AS_ECHO([" time. in this case, we can't unroll the translation loop"]) + AS_ECHO([" for destination pixels, and are forced to shift the FIFO"]) + AS_ECHO([" after each one."]) + AS_ECHO([""]) + AS_ECHO([" - if src_fifo0_may_be_unaligned is true. in this case, we"]) + AS_ECHO([" definitely can't guarantee that any initial dst_x will"]) + AS_ECHO([" correspond to an aligned 32-bit word in the destination buffer."]) + AS_ECHO([""]) + AS_ECHO([" - if the destination image is not packed. in this case, there may"]) + AS_ECHO([" be undisplayed pixels in the FIFO, which we will need to"]) + AS_ECHO([" shift out."]) + AS_ECHO([""]) + AS_ECHO([" - if there are 24 bits per destination pixel. in this case,"]) + AS_ECHO([" a destination pixel may cross a 32-bit boundary."]) + AS_ECHO([""]) + AS_ECHO([" - if a possible initial dst_x doesn't correspond to an aligned"]) + AS_ECHO([" 32-bit word in the destination buffer. for this last one:"]) + AS_ECHO([""]) + AS_ECHO([" since we require that src_fifo0_may_be_unaligned is zero, we"]) + AS_ECHO([" know that the initial src_x = (Z * 32) / src_bipp for "]) + AS_ECHO([" some Z. we also have the initial dst_x = src_x${scale_math}."]) + AS_ECHO([" the initial destination bit offset will then be:"]) + AS_ECHO([""]) + AS_ECHO([" (dst_skipx + dst_x) * dst_bipp"]) + AS_ECHO([" = (dst_skipx * dst_bipp) + (dst_x * dst_bipp)"]) + AS_ECHO([""]) + AS_ECHO([" if we additionally require that (dst_skipx * dst_bipp)"]) + AS_ECHO([" be 32-bit aligned, this reduces things to:"]) + AS_ECHO([""]) + AS_ECHO([" dst_x * dst_bipp"]) + AS_ECHO([" = (src_x${scale_math}) * dst_bipp"]) + AS_ECHO([" = (((Z * 32) / src_bipp)${scale_math}) * dst_bipp"]) + AS_ECHO([""]) + AS_ECHO([" which will be a multiple of 32 iff:"]) + AS_ECHO([""]) + AS_ECHO([" ((1 / src_bipp)${scale_math}) * dst_bipp >= 1 and integral"]) + AS_ECHO([""]) + AS_ECHO([" or, equivalently:"]) + AS_ECHO([""]) denom="src_bipp" numer="dst_bipp" case $scale in @@ -1366,8 +1366,8 @@ for src_key in ${src_all}; do _h_) denom="(${denom} * 2)" ;; _d_) numer="(${numer} * 2)" ;; esac - $as_echo " (${numer} % ${denom}) == 0" - $as_echo " */" + AS_ECHO([" (${numer} % ${denom}) == 0"]) + AS_ECHO([" */"]) dst_fifo0_may_be_unaligned_var=false if test ${dst_bipp} = 0; then value=TRUE @@ -1378,371 +1378,371 @@ for src_key in ${src_all}; do fi fi if $dst_fifo0_may_be_unaligned_var; then - $as_echo " const unsigned int dst_fifo0_may_be_unaligned = ${value};" + AS_ECHO([" const unsigned int dst_fifo0_may_be_unaligned = ${value};"]) else - $as_echo "#define dst_fifo0_may_be_unaligned ${value}" + AS_ECHO(["#define dst_fifo0_may_be_unaligned ${value}"]) undef_macros="${undef_macros} dst_fifo0_may_be_unaligned" fi if test $scale = _d_; then - $as_echo "" - $as_echo " /* declare dst_fifo1_may_be_unaligned. this is zero iff all" - $as_echo " 32-bit aligned values in the destination buffer contain a" - $as_echo " whole number of displayed pixels, and for every 32-bit" - $as_echo " aligned value on one scanline all other scanlines have a" - $as_echo " 32-bit aligned value corresponding to the same x coordinate: */" + AS_ECHO([""]) + AS_ECHO([" /* declare dst_fifo1_may_be_unaligned. this is zero iff all"]) + AS_ECHO([" 32-bit aligned values in the destination buffer contain a"]) + AS_ECHO([" whole number of displayed pixels, and for every 32-bit"]) + AS_ECHO([" aligned value on one scanline all other scanlines have a"]) + AS_ECHO([" 32-bit aligned value corresponding to the same x coordinate: */"]) value="(dst_fifo0_may_be_unaligned || (dst_bypl & 3))" if $src_bypl_var || $dst_bypl_var; then - $as_echo " const unsigned int dst_fifo1_may_be_unaligned = ${value};" + AS_ECHO([" const unsigned int dst_fifo1_may_be_unaligned = ${value};"]) else - $as_echo "#define dst_fifo1_may_be_unaligned ${value}" + AS_ECHO(["#define dst_fifo1_may_be_unaligned ${value}"]) undef_macros="${undef_macros} dst_fifo1_may_be_unaligned" fi fi - $as_echo "" - $as_echo " /* declare src_offset_updated_first and src_offset_updated_last," - $as_echo " which hold the offsets of the first and last updated bytes in" - $as_echo " the source image: */" - $as_echo " tme_uint32_t src_offset_updated_first;" - $as_echo " tme_uint32_t src_offset_updated_last;" + AS_ECHO([""]) + AS_ECHO([" /* declare src_offset_updated_first and src_offset_updated_last,"]) + AS_ECHO([" which hold the offsets of the first and last updated bytes in"]) + AS_ECHO([" the source image: */"]) + AS_ECHO([" tme_uint32_t src_offset_updated_first;"]) + AS_ECHO([" tme_uint32_t src_offset_updated_last;"]) - $as_echo "" - $as_echo " /* declare src_raw0_end. when treating the source image as" - $as_echo " an array of aligned 32-bit words, this variable holds the" - $as_echo " address of the first word after the real source image." - $as_echo " if the fast, aligned 32-bit word comparison loop passes" - $as_echo " this point, the entire source image has been processed and" - $as_echo " the function terminates: */" - $as_echo " const tme_uint32_t *src_raw0_end;" - - $as_echo "" - $as_echo " /* declare xlat_run. see the comment for the TME_FB_XLAT_RUN" - $as_echo " macro for an explanation of what this variable does: */" - $as_echo " int xlat_run;" - - $as_echo "" - $as_echo " /* this silences gcc -Wuninitialized: */" - $as_echo " src_fifo0_next = 0;" - $as_echo " src_fifo0_bits = 0;" + AS_ECHO([""]) + AS_ECHO([" /* declare src_raw0_end. when treating the source image as"]) + AS_ECHO([" an array of aligned 32-bit words, this variable holds the"]) + AS_ECHO([" address of the first word after the real source image."]) + AS_ECHO([" if the fast, aligned 32-bit word comparison loop passes"]) + AS_ECHO([" this point, the entire source image has been processed and"]) + AS_ECHO([" the function terminates: */"]) + AS_ECHO([" const tme_uint32_t *src_raw0_end;"]) + + AS_ECHO([""]) + AS_ECHO([" /* declare xlat_run. see the comment for the TME_FB_XLAT_RUN"]) + AS_ECHO([" macro for an explanation of what this variable does: */"]) + AS_ECHO([" int xlat_run;"]) + + AS_ECHO([""]) + AS_ECHO([" /* this silences gcc -Wuninitialized: */"]) + AS_ECHO([" src_fifo0_next = 0;"]) + AS_ECHO([" src_fifo0_bits = 0;"]) if test ${scale} = _h_; then - $as_echo " src_fifo1_next = 0;" - $as_echo " src_fifo1_bits = 0;" + AS_ECHO([" src_fifo1_next = 0;"]) + AS_ECHO([" src_fifo1_bits = 0;"]) fi - $as_echo " dst_fifo0_next = 0;" - $as_echo " dst_fifo0_bits = 0;" + AS_ECHO([" dst_fifo0_next = 0;"]) + AS_ECHO([" dst_fifo0_bits = 0;"]) if test ${scale} = _d_; then - $as_echo " dst_fifo1_next = 0;" - $as_echo " dst_fifo1_bits = 0;" + AS_ECHO([" dst_fifo1_next = 0;"]) + AS_ECHO([" dst_fifo1_bits = 0;"]) fi - $as_echo "" - $as_echo " /* initialize src_raw0 and src_raw0_end for the fast aligned 32-bit" - $as_echo " word comparison loop. on entry to (and when continuing) that loop," - $as_echo " src_raw0 always points to the aligned 32-bit word *before* the" - $as_echo " next word to check. src_raw0_end always points after the last" - $as_echo " word to check." - $as_echo "" - $as_echo " src_raw0 is actually part of the source primary bit FIFO, which" - $as_echo " is good, because when the fast comparison fails on a word, src_raw0" - $as_echo " is already primed and ready to work for that bit FIFO: */" - $as_echo " src_offset_updated_first = src->tme_fb_connection_offset_updated_first;" - $as_echo " src_offset_updated_last = TME_MIN(src->tme_fb_connection_offset_updated_last, src_bypb_real - 1);" - $as_echo " src->tme_fb_connection_offset_updated_first = 0;" - $as_echo " src->tme_fb_connection_offset_updated_last = src_bypb_real - 1;" - $as_echo " if (src_offset_updated_first > src_offset_updated_last) {" - $as_echo " return (FALSE);" - $as_echo " }" - $as_echo " src_raw0" - $as_echo " = (((const tme_uint32_t *)" - $as_echo " (src->tme_fb_connection_buffer" - $as_echo " + (src_offset_updated_first" - $as_echo " & (0 - (tme_uint32_t) sizeof(tme_uint32_t)))))" - $as_echo " -1);" - $as_echo " src_raw0_end" - $as_echo " = ((const tme_uint32_t *)" - $as_echo " (src->tme_fb_connection_buffer" - $as_echo " + src_offset_updated_last" - $as_echo " + 1));" - - $as_echo "" - $as_echo " /* initialize xlat_run to -1. it can never go negative inside the" - $as_echo " pixel translation loop, so if xlat_run stays negative for the" - $as_echo " entire translation, it means that the source image hasn't changed" - $as_echo " since the last translation. this information is returned to the" - $as_echo " caller to hopefully save more work in updating the display: */" - $as_echo " xlat_run = -1;" + AS_ECHO([""]) + AS_ECHO([" /* initialize src_raw0 and src_raw0_end for the fast aligned 32-bit"]) + AS_ECHO([" word comparison loop. on entry to (and when continuing) that loop,"]) + AS_ECHO([" src_raw0 always points to the aligned 32-bit word *before* the"]) + AS_ECHO([" next word to check. src_raw0_end always points after the last"]) + AS_ECHO([" word to check."]) + AS_ECHO([""]) + AS_ECHO([" src_raw0 is actually part of the source primary bit FIFO, which"]) + AS_ECHO([" is good, because when the fast comparison fails on a word, src_raw0"]) + AS_ECHO([" is already primed and ready to work for that bit FIFO: */"]) + AS_ECHO([" src_offset_updated_first = src->tme_fb_connection_offset_updated_first;"]) + AS_ECHO([" src_offset_updated_last = TME_MIN(src->tme_fb_connection_offset_updated_last, src_bypb_real - 1);"]) + AS_ECHO([" src->tme_fb_connection_offset_updated_first = 0;"]) + AS_ECHO([" src->tme_fb_connection_offset_updated_last = src_bypb_real - 1;"]) + AS_ECHO([" if (src_offset_updated_first > src_offset_updated_last) {"]) + AS_ECHO([" return (FALSE);"]) + AS_ECHO([" }"]) + AS_ECHO([" src_raw0"]) + AS_ECHO([" = (((const tme_uint32_t *)"]) + AS_ECHO([" (src->tme_fb_connection_buffer"]) + AS_ECHO([" + (src_offset_updated_first"]) + AS_ECHO([" & (0 - (tme_uint32_t) sizeof(tme_uint32_t)))))"]) + AS_ECHO([" -1);"]) + AS_ECHO([" src_raw0_end"]) + AS_ECHO([" = ((const tme_uint32_t *)"]) + AS_ECHO([" (src->tme_fb_connection_buffer"]) + AS_ECHO([" + src_offset_updated_last"]) + AS_ECHO([" + 1));"]) + + AS_ECHO([""]) + AS_ECHO([" /* initialize xlat_run to -1. it can never go negative inside the"]) + AS_ECHO([" pixel translation loop, so if xlat_run stays negative for the"]) + AS_ECHO([" entire translation, it means that the source image hasn't changed"]) + AS_ECHO([" since the last translation. this information is returned to the"]) + AS_ECHO([" caller to hopefully save more work in updating the display: */"]) + AS_ECHO([" xlat_run = -1;"]) - $as_echo "" - $as_echo " /* this is the main translation loop, which contains the fast aligned" - $as_echo " 32-bit word comparison loop, and the pixel translation loop: */" - $as_echo " for (;;) {" - - $as_echo "" - $as_echo " /* this is the fast aligned 32-bit word comparison loop. it" - $as_echo " terminates either when a word fails comparison, or when the" - $as_echo " entire source image has been compared. the if test that" - $as_echo " follows checks for the latter case and breaks the main" - $as_echo " translation loop: */" - $as_echo " for (; (++src_raw0 < src_raw0_end" - $as_echo " && *src_raw0 == *TME_FB_XLAT_SRC_OLD(src_raw0)); );" - $as_echo " if (src_raw0 >= src_raw0_end) {" - $as_echo " break;" - $as_echo " }" - - $as_echo "" - $as_echo " /* calculate the byte offset into the source buffer of the" - $as_echo " 32-bit word that failed comparison: */" - $as_echo " src_off = ((tme_uint8_t *) src_raw0) - src->tme_fb_connection_buffer;" - - $as_echo "" - $as_echo " /* calculate the source y pixel coordinate, and reduce" - $as_echo " src_off from the byte offset into the buffer to the" - $as_echo " byte offset into that scanline: */" - $as_echo " src_y = src_off / src_bypl;" - $as_echo " src_off = src_off % src_bypl;" - - $as_echo "" - $as_echo " /* while translating pixels, we use one or more \"bit FIFOs\"," - $as_echo " each composed of one or more 32-bit integers. we load these" - $as_echo " FIFOs 32 bits at a time. */" - $as_echo "" - $as_echo " /* prime the visible part of the source primary bit FIFO: */" - $as_echo " src_fifo0 = *src_raw0;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0;" - $as_echo " src_raw0++;" - $as_echo " src_fifo0 = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo0)" - $as_echo " : tme_letoh_u32(src_fifo0));" - $as_echo "" - $as_echo " /* if the source primary bit FIFO may be unaligned: */" - $as_echo " if (src_fifo0_may_be_unaligned) {" - $as_echo "" - $as_echo " /* prime the invisible part of the source primary bit FIFO and" - $as_echo " assume that we will not have to shift it to finish: */" - $as_echo " src_fifo0_next = *src_raw0;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0_next;" - $as_echo " src_raw0++;" - $as_echo " src_fifo0_next = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo0_next)" - $as_echo " : tme_letoh_u32(src_fifo0_next));" - $as_echo " src_fifo0_bits = 0;" - $as_echo "" - $as_echo " /* if there are pixels that need to be skipped, the first 32 bits" - $as_echo " we loaded into the FIFO may have first bits that belong to" - $as_echo " those undisplayed (skipped) pixels. it is *not* possible for" - $as_echo " it to have first bits that belong to the scanline pad; there" - $as_echo " might be pad bits in the *middle* of the first 32 bits, but any" - $as_echo " first bits *must* belong to pixels, displayed or not: */" - $as_echo " if (src_skipx > 0" - $as_echo " && (src_off * 8) < (src_skipx * src_bipp)) {" - $as_echo "" - $as_echo " /* see how many bits we will need to skip: */" - $as_echo " src_fifo0_bits = (src_skipx * src_bipp) - (src_off * 8);" - $as_echo "" - $as_echo " /* if it is more than 31 bits, this is an entire 32 bits of" - $as_echo " undisplayed pixels. just advance: */" - $as_echo " if (src_fifo0_bits > 31) {" - $as_echo " src_raw0--;" - $as_echo " continue;" - $as_echo " }" - $as_echo "" - $as_echo " /* set the source x coordinate to zero: */" - $as_echo " src_x = 0;" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the first 32 bits we load will have first bits for" - $as_echo " a displayable pixel: */" - $as_echo " else {" - $as_echo "" - $as_echo " /* if the source bits per pixel is 24, calculate the number of" - $as_echo " bytes *before* the original src_raw0 of any split pixel, and" - $as_echo " subtract this from src_off, to leave src_off as the byte offset" - $as_echo " into the scanline of the beginning of a pixel: */" - $as_echo " if (src_bipp == 24) {" - $as_echo " src_fifo0_bits = (src_off % 3);" - $as_echo " src_off -= src_fifo0_bits;" - $as_echo "" - $as_echo " /* if this is a split pixel, we need to prime the source primary" - $as_echo " bit FIFO starting with the part *before* the original src_raw0." - $as_echo " we do not have to copy to the old; it passed comparison: */" - $as_echo " if (src_fifo0_bits) {" - $as_echo " src_raw0--;" - $as_echo " src_fifo0_next = src_fifo0;" - $as_echo " src_fifo0 = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(*(src_raw0 - 2))" - $as_echo " : tme_letoh_u32(*(src_raw0 - 2)));" - $as_echo " }" - $as_echo " }" - $as_echo "" - $as_echo " /* calculate the source x coordinate: */" - $as_echo " src_x = ((src_off * 8) / src_bipp) - src_skipx;" - $as_echo " }" - $as_echo "" - $as_echo " /* do any shifting to finish priming the source primary FIFO: */" - $as_echo " if (src_fifo0_bits) {" - $as_echo " if (src_order == TME_ENDIAN_BIG) {" - $as_echo " src_fifo0 = (src_fifo0 << src_fifo0_bits) | (src_fifo0_next >> (32 - src_fifo0_bits));" - $as_echo " src_fifo0_next <<= src_fifo0_bits;" - $as_echo " }" - $as_echo " else {" - $as_echo " src_fifo0 = (src_fifo0 >> src_fifo0_bits) | (src_fifo0_next << (32 - src_fifo0_bits));" - $as_echo " src_fifo0_next >>= src_fifo0_bits;" - $as_echo " }" - $as_echo " }" - $as_echo " src_fifo0_bits = 64 - src_fifo0_bits;" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the source primary FIFO is aligned: */" - $as_echo " else {" - $as_echo " src_x = ((src_off * 8) / src_bipp) - src_skipx;" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* this is the main translation loop, which contains the fast aligned"]) + AS_ECHO([" 32-bit word comparison loop, and the pixel translation loop: */"]) + AS_ECHO([" for (;;) {"]) + + AS_ECHO([""]) + AS_ECHO([" /* this is the fast aligned 32-bit word comparison loop. it"]) + AS_ECHO([" terminates either when a word fails comparison, or when the"]) + AS_ECHO([" entire source image has been compared. the if test that"]) + AS_ECHO([" follows checks for the latter case and breaks the main"]) + AS_ECHO([" translation loop: */"]) + AS_ECHO([" for (; (++src_raw0 < src_raw0_end"]) + AS_ECHO([" && *src_raw0 == *TME_FB_XLAT_SRC_OLD(src_raw0)); );"]) + AS_ECHO([" if (src_raw0 >= src_raw0_end) {"]) + AS_ECHO([" break;"]) + AS_ECHO([" }"]) + + AS_ECHO([""]) + AS_ECHO([" /* calculate the byte offset into the source buffer of the"]) + AS_ECHO([" 32-bit word that failed comparison: */"]) + AS_ECHO([" src_off = ((tme_uint8_t *) src_raw0) - src->tme_fb_connection_buffer;"]) + + AS_ECHO([""]) + AS_ECHO([" /* calculate the source y pixel coordinate, and reduce"]) + AS_ECHO([" src_off from the byte offset into the buffer to the"]) + AS_ECHO([" byte offset into that scanline: */"]) + AS_ECHO([" src_y = src_off / src_bypl;"]) + AS_ECHO([" src_off = src_off % src_bypl;"]) + + AS_ECHO([""]) + AS_ECHO([" /* while translating pixels, we use one or more \"bit FIFOs\","]) + AS_ECHO([" each composed of one or more 32-bit integers. we load these"]) + AS_ECHO([" FIFOs 32 bits at a time. */"]) + AS_ECHO([""]) + AS_ECHO([" /* prime the visible part of the source primary bit FIFO: */"]) + AS_ECHO([" src_fifo0 = *src_raw0;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0;"]) + AS_ECHO([" src_raw0++;"]) + AS_ECHO([" src_fifo0 = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo0)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo0));"]) + AS_ECHO([""]) + AS_ECHO([" /* if the source primary bit FIFO may be unaligned: */"]) + AS_ECHO([" if (src_fifo0_may_be_unaligned) {"]) + AS_ECHO([""]) + AS_ECHO([" /* prime the invisible part of the source primary bit FIFO and"]) + AS_ECHO([" assume that we will not have to shift it to finish: */"]) + AS_ECHO([" src_fifo0_next = *src_raw0;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0_next;"]) + AS_ECHO([" src_raw0++;"]) + AS_ECHO([" src_fifo0_next = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo0_next)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo0_next));"]) + AS_ECHO([" src_fifo0_bits = 0;"]) + AS_ECHO([""]) + AS_ECHO([" /* if there are pixels that need to be skipped, the first 32 bits"]) + AS_ECHO([" we loaded into the FIFO may have first bits that belong to"]) + AS_ECHO([" those undisplayed (skipped) pixels. it is *not* possible for"]) + AS_ECHO([" it to have first bits that belong to the scanline pad; there"]) + AS_ECHO([" might be pad bits in the *middle* of the first 32 bits, but any"]) + AS_ECHO([" first bits *must* belong to pixels, displayed or not: */"]) + AS_ECHO([" if (src_skipx > 0"]) + AS_ECHO([" && (src_off * 8) < (src_skipx * src_bipp)) {"]) + AS_ECHO([""]) + AS_ECHO([" /* see how many bits we will need to skip: */"]) + AS_ECHO([" src_fifo0_bits = (src_skipx * src_bipp) - (src_off * 8);"]) + AS_ECHO([""]) + AS_ECHO([" /* if it is more than 31 bits, this is an entire 32 bits of"]) + AS_ECHO([" undisplayed pixels. just advance: */"]) + AS_ECHO([" if (src_fifo0_bits > 31) {"]) + AS_ECHO([" src_raw0--;"]) + AS_ECHO([" continue;"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* set the source x coordinate to zero: */"]) + AS_ECHO([" src_x = 0;"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the first 32 bits we load will have first bits for"]) + AS_ECHO([" a displayable pixel: */"]) + AS_ECHO([" else {"]) + AS_ECHO([""]) + AS_ECHO([" /* if the source bits per pixel is 24, calculate the number of"]) + AS_ECHO([" bytes *before* the original src_raw0 of any split pixel, and"]) + AS_ECHO([" subtract this from src_off, to leave src_off as the byte offset"]) + AS_ECHO([" into the scanline of the beginning of a pixel: */"]) + AS_ECHO([" if (src_bipp == 24) {"]) + AS_ECHO([" src_fifo0_bits = (src_off % 3);"]) + AS_ECHO([" src_off -= src_fifo0_bits;"]) + AS_ECHO([""]) + AS_ECHO([" /* if this is a split pixel, we need to prime the source primary"]) + AS_ECHO([" bit FIFO starting with the part *before* the original src_raw0."]) + AS_ECHO([" we do not have to copy to the old; it passed comparison: */"]) + AS_ECHO([" if (src_fifo0_bits) {"]) + AS_ECHO([" src_raw0--;"]) + AS_ECHO([" src_fifo0_next = src_fifo0;"]) + AS_ECHO([" src_fifo0 = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(*(src_raw0 - 2))"]) + AS_ECHO([" : tme_letoh_u32(*(src_raw0 - 2)));"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the source x coordinate: */"]) + AS_ECHO([" src_x = ((src_off * 8) / src_bipp) - src_skipx;"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* do any shifting to finish priming the source primary FIFO: */"]) + AS_ECHO([" if (src_fifo0_bits) {"]) + AS_ECHO([" if (src_order == TME_ENDIAN_BIG) {"]) + AS_ECHO([" src_fifo0 = (src_fifo0 << src_fifo0_bits) | (src_fifo0_next >> (32 - src_fifo0_bits));"]) + AS_ECHO([" src_fifo0_next <<= src_fifo0_bits;"]) + AS_ECHO([" }"]) + AS_ECHO([" else {"]) + AS_ECHO([" src_fifo0 = (src_fifo0 >> src_fifo0_bits) | (src_fifo0_next << (32 - src_fifo0_bits));"]) + AS_ECHO([" src_fifo0_next >>= src_fifo0_bits;"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([" src_fifo0_bits = 64 - src_fifo0_bits;"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the source primary FIFO is aligned: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" src_x = ((src_off * 8) / src_bipp) - src_skipx;"]) + AS_ECHO([" }"]) if test $scale = _h_; then - $as_echo "" - $as_echo " /* when halving the image, we have a source secondary bit " - $as_echo " FIFO, providing pixel values at the same source x coordinate" - $as_echo " but on the \"other\" line. prime the source secondary" - $as_echo " bit FIFO: */" - $as_echo " if (src_fifo1_may_be_unaligned) {" - $as_echo "" - $as_echo " /* calculate the bit offset into the source buffer of" - $as_echo " this exact same pixel on the other line: */" - $as_echo " src_off = ((src_y ^ 1) * src_bypl * 8) + ((src_skipx + src_x) * src_bipp);" - $as_echo "" - $as_echo " /* calculate how many bits offset from a 32-bit boundary the pixel is: */" - $as_echo " src_fifo1_bits = src_off % 32;" - $as_echo "" - $as_echo " /* set src_raw1: */" - $as_echo " src_raw1 = (const tme_uint32_t *)" - $as_echo " (src->tme_fb_connection_buffer" - $as_echo " + ((src_off - src_fifo1_bits) / 8));" - $as_echo "" - $as_echo " /* actually prime the FIFO by loading the first two words and" - $as_echo " shifting off any offset bits: */" - $as_echo " src_fifo1 = *src_raw1;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1;" - $as_echo " src_raw1++;" - $as_echo " src_fifo1_next = *src_raw1;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1_next;" - $as_echo " src_raw1++;" - $as_echo " if (src_order == TME_ENDIAN_BIG) {" - $as_echo " src_fifo1 = tme_betoh_u32(src_fifo1);" - $as_echo " src_fifo1_next = tme_betoh_u32(src_fifo1_next);" - $as_echo " if (src_fifo1_bits) {" - $as_echo " src_fifo1 = (src_fifo1 << src_fifo1_bits) | (src_fifo1_next >> (32 - src_fifo1_bits));" - $as_echo " src_fifo1_next <<= src_fifo1_bits;" - $as_echo " }" - $as_echo " }" - $as_echo " else {" - $as_echo " src_fifo1 = tme_letoh_u32(src_fifo1);" - $as_echo " src_fifo1_next = tme_letoh_u32(src_fifo1_next);" - $as_echo " if (src_fifo1_bits) {" - $as_echo " src_fifo1 = (src_fifo1 >> src_fifo1_bits) | (src_fifo1_next << (32 - src_fifo1_bits));" - $as_echo " src_fifo1_next >>= src_fifo1_bits;" - $as_echo " }" - $as_echo " }" - $as_echo " src_fifo1_bits = 64 - src_fifo1_bits;" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise the source secondary FIFO is aligned: */" - $as_echo " else {" - $as_echo " src_raw1 = (const tme_uint32_t *)" - $as_echo " (((tme_uint8_t *) src_raw0)" - $as_echo " + ((" - $as_echo " /* if src_y is even, this addend is now src_bypl * 4," - $as_echo " else if src_y is odd, this addend is now src_bypl * 2: */" - $as_echo " ((src_bypl * 4) >> (src_y & 1))" - $as_echo " /* if src_y is even, this addend is now src_bypl," - $as_echo " else if src_y is odd, this addend is now -src_bypl: */" - $as_echo " - (src_bypl * 3))" - $as_echo " /* this -4 compensates for src_raw0 already having" - $as_echo " been advanced by one: */" - $as_echo " - 4));" - $as_echo " src_fifo1 = *src_raw1;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1;" - $as_echo " src_raw1++;" - $as_echo " src_fifo1 = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo1)" - $as_echo " : tme_letoh_u32(src_fifo1));" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* when halving the image, we have a source secondary bit "]) + AS_ECHO([" FIFO, providing pixel values at the same source x coordinate"]) + AS_ECHO([" but on the \"other\" line. prime the source secondary"]) + AS_ECHO([" bit FIFO: */"]) + AS_ECHO([" if (src_fifo1_may_be_unaligned) {"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the bit offset into the source buffer of"]) + AS_ECHO([" this exact same pixel on the other line: */"]) + AS_ECHO([" src_off = ((src_y ^ 1) * src_bypl * 8) + ((src_skipx + src_x) * src_bipp);"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate how many bits offset from a 32-bit boundary the pixel is: */"]) + AS_ECHO([" src_fifo1_bits = src_off % 32;"]) + AS_ECHO([""]) + AS_ECHO([" /* set src_raw1: */"]) + AS_ECHO([" src_raw1 = (const tme_uint32_t *)"]) + AS_ECHO([" (src->tme_fb_connection_buffer"]) + AS_ECHO([" + ((src_off - src_fifo1_bits) / 8));"]) + AS_ECHO([""]) + AS_ECHO([" /* actually prime the FIFO by loading the first two words and"]) + AS_ECHO([" shifting off any offset bits: */"]) + AS_ECHO([" src_fifo1 = *src_raw1;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1;"]) + AS_ECHO([" src_raw1++;"]) + AS_ECHO([" src_fifo1_next = *src_raw1;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1_next;"]) + AS_ECHO([" src_raw1++;"]) + AS_ECHO([" if (src_order == TME_ENDIAN_BIG) {"]) + AS_ECHO([" src_fifo1 = tme_betoh_u32(src_fifo1);"]) + AS_ECHO([" src_fifo1_next = tme_betoh_u32(src_fifo1_next);"]) + AS_ECHO([" if (src_fifo1_bits) {"]) + AS_ECHO([" src_fifo1 = (src_fifo1 << src_fifo1_bits) | (src_fifo1_next >> (32 - src_fifo1_bits));"]) + AS_ECHO([" src_fifo1_next <<= src_fifo1_bits;"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([" else {"]) + AS_ECHO([" src_fifo1 = tme_letoh_u32(src_fifo1);"]) + AS_ECHO([" src_fifo1_next = tme_letoh_u32(src_fifo1_next);"]) + AS_ECHO([" if (src_fifo1_bits) {"]) + AS_ECHO([" src_fifo1 = (src_fifo1 >> src_fifo1_bits) | (src_fifo1_next << (32 - src_fifo1_bits));"]) + AS_ECHO([" src_fifo1_next >>= src_fifo1_bits;"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([" src_fifo1_bits = 64 - src_fifo1_bits;"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise the source secondary FIFO is aligned: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" src_raw1 = (const tme_uint32_t *)"]) + AS_ECHO([" (((tme_uint8_t *) src_raw0)"]) + AS_ECHO([" + (("]) + AS_ECHO([" /* if src_y is even, this addend is now src_bypl * 4,"]) + AS_ECHO([" else if src_y is odd, this addend is now src_bypl * 2: */"]) + AS_ECHO([" ((src_bypl * 4) >> (src_y & 1))"]) + AS_ECHO([" /* if src_y is even, this addend is now src_bypl,"]) + AS_ECHO([" else if src_y is odd, this addend is now -src_bypl: */"]) + AS_ECHO([" - (src_bypl * 3))"]) + AS_ECHO([" /* this -4 compensates for src_raw0 already having"]) + AS_ECHO([" been advanced by one: */"]) + AS_ECHO([" - 4));"]) + AS_ECHO([" src_fifo1 = *src_raw1;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1;"]) + AS_ECHO([" src_raw1++;"]) + AS_ECHO([" src_fifo1 = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo1)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo1));"]) + AS_ECHO([" }"]) fi if test $scale != _; then - $as_echo "" - $as_echo " /* calculate the destination coordinates: */" - $as_echo " dst_y = src_y${scale_math};" - $as_echo " dst_x = src_x${scale_math};" + AS_ECHO([""]) + AS_ECHO([" /* calculate the destination coordinates: */"]) + AS_ECHO([" dst_y = src_y${scale_math};"]) + AS_ECHO([" dst_x = src_x${scale_math};"]) fi - $as_echo "" - $as_echo " /* prime the destination primary bit FIFO: */" - $as_echo " dst_fifo0 = 0;" - $as_echo " if (dst_fifo0_may_be_unaligned) {" - $as_echo "" - $as_echo " /* calculate the bit offset into the destination buffer of" - $as_echo " the destination pixel: */" - $as_echo " dst_off = (dst_y * dst_bypl * 8) + ((dst_skipx + dst_x) * dst_bipp);" - $as_echo "" - $as_echo " /* calculate the number of bits that will be in the primed FIFO: */" - $as_echo " dst_fifo0_bits = dst_off % 32;" - $as_echo "" - $as_echo " /* set dst_raw0: */" - $as_echo " dst_raw0 = (tme_uint32_t *)" - $as_echo " (dst->tme_fb_connection_buffer" - $as_echo " + ((dst_off - dst_fifo0_bits) / 8));" - $as_echo "" - $as_echo " /* prime the primary destination FIFO: */" - $as_echo " dst_fifo0_next = 0;" - $as_echo " if (dst_fifo0_bits) {" - $as_echo " dst_fifo0_next = (src_order == TME_ENDIAN_BIG" - $as_echo " ? (tme_betoh_u32(*dst_raw0) & (0xffffffffUL << (32 - dst_fifo0_bits)))" - $as_echo " : (tme_letoh_u32(*dst_raw0) & (0xffffffffUL >> (32 - dst_fifo0_bits))));" - $as_echo " }" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise the destination primary FIFO is aligned: */" - $as_echo " else {" - $as_echo " dst_off = (dst_y * dst_bypl) + (((dst_skipx + dst_x) * dst_bipp) / 8);" - $as_echo " dst_raw0 = (tme_uint32_t *) (dst->tme_fb_connection_buffer + dst_off);" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* prime the destination primary bit FIFO: */"]) + AS_ECHO([" dst_fifo0 = 0;"]) + AS_ECHO([" if (dst_fifo0_may_be_unaligned) {"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the bit offset into the destination buffer of"]) + AS_ECHO([" the destination pixel: */"]) + AS_ECHO([" dst_off = (dst_y * dst_bypl * 8) + ((dst_skipx + dst_x) * dst_bipp);"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the number of bits that will be in the primed FIFO: */"]) + AS_ECHO([" dst_fifo0_bits = dst_off % 32;"]) + AS_ECHO([""]) + AS_ECHO([" /* set dst_raw0: */"]) + AS_ECHO([" dst_raw0 = (tme_uint32_t *)"]) + AS_ECHO([" (dst->tme_fb_connection_buffer"]) + AS_ECHO([" + ((dst_off - dst_fifo0_bits) / 8));"]) + AS_ECHO([""]) + AS_ECHO([" /* prime the primary destination FIFO: */"]) + AS_ECHO([" dst_fifo0_next = 0;"]) + AS_ECHO([" if (dst_fifo0_bits) {"]) + AS_ECHO([" dst_fifo0_next = (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (tme_betoh_u32(*dst_raw0) & (0xffffffffUL << (32 - dst_fifo0_bits)))"]) + AS_ECHO([" : (tme_letoh_u32(*dst_raw0) & (0xffffffffUL >> (32 - dst_fifo0_bits))));"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise the destination primary FIFO is aligned: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" dst_off = (dst_y * dst_bypl) + (((dst_skipx + dst_x) * dst_bipp) / 8);"]) + AS_ECHO([" dst_raw0 = (tme_uint32_t *) (dst->tme_fb_connection_buffer + dst_off);"]) + AS_ECHO([" }"]) if test $scale = _d_; then - $as_echo "" - $as_echo " /* when doubling the image, we have a destination secondary bit " - $as_echo " FIFO, for pixel values at the same source x coordinate" - $as_echo " but on the \"other\" line. prime the destination secondary" - $as_echo " bit FIFO: */" - $as_echo " dst_fifo1 = 0;" - $as_echo " if (dst_fifo1_may_be_unaligned) {" - $as_echo "" - $as_echo " /* calculate the bit offset into the destination buffer of" - $as_echo " the destination pixel: */" - $as_echo " dst_off = ((dst_y + 1) * dst_bypl * 8) + ((dst_skipx + dst_x) * dst_bipp);" - $as_echo "" - $as_echo " /* calculate the number of bits that will be in the primed FIFO: */" - $as_echo " dst_fifo1_bits = dst_off % 32;" - $as_echo "" - $as_echo " /* set dst_raw1: */" - $as_echo " dst_raw1 = (tme_uint32_t *)" - $as_echo " (dst->tme_fb_connection_buffer" - $as_echo " + ((dst_off - dst_fifo1_bits) / 8));" - $as_echo "" - $as_echo " /* prime the primary destination FIFO: */" - $as_echo " dst_fifo1_next = 0;" - $as_echo " if (dst_fifo1_bits) {" - $as_echo " dst_fifo1_next = (src_order == TME_ENDIAN_BIG" - $as_echo " ? (tme_betoh_u32(*dst_raw1) & (0xffffffffUL << (32 - dst_fifo1_bits)))" - $as_echo " : (tme_letoh_u32(*dst_raw1) & (0xffffffffUL >> (32 - dst_fifo1_bits))));" - $as_echo " }" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the destination secondary FIFO is aligned: */" - $as_echo " else {" - $as_echo " dst_raw1 = (tme_uint32_t *)" - $as_echo " (((tme_uint8_t *) dst_raw0)" - $as_echo " + dst_bypl);" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* when doubling the image, we have a destination secondary bit "]) + AS_ECHO([" FIFO, for pixel values at the same source x coordinate"]) + AS_ECHO([" but on the \"other\" line. prime the destination secondary"]) + AS_ECHO([" bit FIFO: */"]) + AS_ECHO([" dst_fifo1 = 0;"]) + AS_ECHO([" if (dst_fifo1_may_be_unaligned) {"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the bit offset into the destination buffer of"]) + AS_ECHO([" the destination pixel: */"]) + AS_ECHO([" dst_off = ((dst_y + 1) * dst_bypl * 8) + ((dst_skipx + dst_x) * dst_bipp);"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the number of bits that will be in the primed FIFO: */"]) + AS_ECHO([" dst_fifo1_bits = dst_off % 32;"]) + AS_ECHO([""]) + AS_ECHO([" /* set dst_raw1: */"]) + AS_ECHO([" dst_raw1 = (tme_uint32_t *)"]) + AS_ECHO([" (dst->tme_fb_connection_buffer"]) + AS_ECHO([" + ((dst_off - dst_fifo1_bits) / 8));"]) + AS_ECHO([""]) + AS_ECHO([" /* prime the primary destination FIFO: */"]) + AS_ECHO([" dst_fifo1_next = 0;"]) + AS_ECHO([" if (dst_fifo1_bits) {"]) + AS_ECHO([" dst_fifo1_next = (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (tme_betoh_u32(*dst_raw1) & (0xffffffffUL << (32 - dst_fifo1_bits)))"]) + AS_ECHO([" : (tme_letoh_u32(*dst_raw1) & (0xffffffffUL >> (32 - dst_fifo1_bits))));"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the destination secondary FIFO is aligned: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" dst_raw1 = (tme_uint32_t *)"]) + AS_ECHO([" (((tme_uint8_t *) dst_raw0)"]) + AS_ECHO([" + dst_bypl);"]) + AS_ECHO([" }"]) fi # we want to unroll the pixel translation loop to read as many @@ -1838,16 +1838,16 @@ for src_key in ${src_all}; do src_fifo_shift=32 fi - $as_echo "" - $as_echo " /* since src_bipp is known at code-generation time, the" - $as_echo " pixel translation loop is unrolled to translate all" - $as_echo " source pixels in the 32-bit visible part of the source" - $as_echo " bit FIFO(s) before shifting." - $as_echo "" - $as_echo " in this case, src_bipp is known to be ${src_bipp}, so "`expr ${src_unroll} \* ${src_iter_scale}`" pixels will" - $as_echo " be read out of the source bit FIFO(s) before shifting, and" - $as_echo " when the source bit FIFO(s) are shifted, they are shifted" - $as_echo " ${src_fifo_shift} bits at a time: */" + AS_ECHO([""]) + AS_ECHO([" /* since src_bipp is known at code-generation time, the"]) + AS_ECHO([" pixel translation loop is unrolled to translate all"]) + AS_ECHO([" source pixels in the 32-bit visible part of the source"]) + AS_ECHO([" bit FIFO(s) before shifting."]) + AS_ECHO([""]) + AS_ECHO([" in this case, src_bipp is known to be ${src_bipp}, so "`expr ${src_unroll} \* ${src_iter_scale}`" pixels will"]) + AS_ECHO([" be read out of the source bit FIFO(s) before shifting, and"]) + AS_ECHO([" when the source bit FIFO(s) are shifted, they are shifted"]) + AS_ECHO([" ${src_fifo_shift} bits at a time: */"]) fi # if dst_bipp is known now, see how many times we can unroll the @@ -1885,16 +1885,16 @@ for src_key in ${src_all}; do dst_fifo_shift=32 fi - $as_echo "" - $as_echo " /* since dst_bipp is known at code-generation time, the pixel" - $as_echo " translation loop is unrolled to translate all destination" - $as_echo " pixels in the 32-bit visible part of the destination bit" - $as_echo " FIFO(s) before shifting." - $as_echo "" - $as_echo " in this case, dst_bipp is known to be ${dst_bipp}, so "`expr ${dst_unroll} \* ${dst_iter_scale}`" pixels will" - $as_echo " be written into the destination bit FIFO(s) before shifting," - $as_echo " and when the destination bit FIFO(s) are shifted, they are" - $as_echo " shifted ${dst_fifo_shift} bits at a time: */" + AS_ECHO([""]) + AS_ECHO([" /* since dst_bipp is known at code-generation time, the pixel"]) + AS_ECHO([" translation loop is unrolled to translate all destination"]) + AS_ECHO([" pixels in the 32-bit visible part of the destination bit"]) + AS_ECHO([" FIFO(s) before shifting."]) + AS_ECHO([""]) + AS_ECHO([" in this case, dst_bipp is known to be ${dst_bipp}, so "`expr ${dst_unroll} \* ${dst_iter_scale}`" pixels will"]) + AS_ECHO([" be written into the destination bit FIFO(s) before shifting,"]) + AS_ECHO([" and when the destination bit FIFO(s) are shifted, they are"]) + AS_ECHO([" shifted ${dst_fifo_shift} bits at a time: */"]) fi # unroll the translation loop the maximum number amount of times: @@ -1905,17 +1905,17 @@ for src_key in ${src_all}; do unroll=${dst_unroll} fi - $as_echo "" - $as_echo " /* src_unroll = ${src_unroll}, src_iter_scale = ${src_iter_scale}" - $as_echo " dst_unroll = ${dst_unroll}, dst_iter_scale = ${dst_iter_scale} */" - $as_echo " for (xlat_run = TME_FB_XLAT_RUN;" - $as_echo " xlat_run > 0; ) {" + AS_ECHO([""]) + AS_ECHO([" /* src_unroll = ${src_unroll}, src_iter_scale = ${src_iter_scale}"]) + AS_ECHO([" dst_unroll = ${dst_unroll}, dst_iter_scale = ${dst_iter_scale} */"]) + AS_ECHO([" for (xlat_run = TME_FB_XLAT_RUN;"]) + AS_ECHO([" xlat_run > 0; ) {"]) iter=0 while test `expr ${iter} \< ${unroll}` = 1; do - $as_echo "" - $as_echo " /* iter #${iter} */" - $as_echo "" + AS_ECHO([""]) + AS_ECHO([" /* iter #${iter} */"]) + AS_ECHO([""]) iter_next=`expr ${iter} + 1` # the number of bits to skip in a source FIFO to get to @@ -1923,41 +1923,41 @@ for src_key in ${src_all}; do src_shift=`expr ${iter} % ${src_unroll}` src_shift='('`expr ${src_shift} \* ${src_iter_scale}`' * src_bipp)' - $as_echo " /* get a pixel from the source primary FIFO: */" - $as_echo " pixel =" - $as_echo " ((src_fifo0" - $as_echo " >> (src_order == TME_ENDIAN_BIG" - $as_echo " ? (32 - (src_bipp + ${src_shift}))" - $as_echo " : ${src_shift})));" + AS_ECHO([" /* get a pixel from the source primary FIFO: */"]) + AS_ECHO([" pixel ="]) + AS_ECHO([" ((src_fifo0"]) + AS_ECHO([" >> (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (32 - (src_bipp + ${src_shift}))"]) + AS_ECHO([" : ${src_shift})));"]) indent0=X if test $scale != _h_; then if test "x${src_mask_g}" = x; then - $as_echo "" - $as_echo " /* since source pixels are known at compile time to" - $as_echo " not have subfields, map the source pixel into the" - $as_echo " destination pixel: */" - $as_echo " pixel = dst->tme_fb_connection_map_pixel[[pixel & src_mask]];" + AS_ECHO([""]) + AS_ECHO([" /* since source pixels are known at compile time to"]) + AS_ECHO([" not have subfields, map the source pixel into the"]) + AS_ECHO([" destination pixel: */"]) + AS_ECHO([" pixel = dst->tme_fb_connection_map_pixel[[pixel & src_mask]];"]) else - $as_echo "" - $as_echo " /* if the source depth is within the threshold for pixel" - $as_echo " mapping, or if source pixels don't have subfields," - $as_echo " map the source pixel into the destination pixel: */" - $as_echo " if (src_mask <= TME_FB_XLAT_MAP_INDEX_MASK_MAX" - $as_echo " || src_mask_g == src_mask) {" - $as_echo " pixel = dst->tme_fb_connection_map_pixel[[pixel & src_mask]];" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, we will decompose this source pixel" - $as_echo " and then compose the destination pixel: */" - $as_echo " else {" - $as_echo "" - $as_echo " /* map the pixel subfields into intensities: */" - $as_echo " value_g = TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([""]) + AS_ECHO([" /* if the source depth is within the threshold for pixel"]) + AS_ECHO([" mapping, or if source pixels don't have subfields,"]) + AS_ECHO([" map the source pixel into the destination pixel: */"]) + AS_ECHO([" if (src_mask <= TME_FB_XLAT_MAP_INDEX_MASK_MAX"]) + AS_ECHO([" || src_mask_g == src_mask) {"]) + AS_ECHO([" pixel = dst->tme_fb_connection_map_pixel[[pixel & src_mask]];"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, we will decompose this source pixel"]) + AS_ECHO([" and then compose the destination pixel: */"]) + AS_ECHO([" else {"]) + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities: */"]) + AS_ECHO([" value_g = TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r = TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b = TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r = TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b = TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi indent0=" " src_mask_i=src_mask_i @@ -1966,111 +1966,111 @@ for src_key in ${src_all}; do else - $as_echo "" - $as_echo " /* map the pixel subfields into intensities: */" - $as_echo " value_g = TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities: */"]) + AS_ECHO([" value_g = TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r = TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b = TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r = TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b = TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi - $as_echo "" - $as_echo " /* get a second pixel, from the source secondary FIFO: */" - $as_echo " pixel =" - $as_echo " ((src_fifo1" - $as_echo " >> (src_order == TME_ENDIAN_BIG" - $as_echo " ? (32 - (src_bipp + ${src_shift}))" - $as_echo " : ${src_shift})));" - - $as_echo "" - $as_echo " /* map the pixel subfields into intensities and accumulate them: */" - $as_echo " value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([""]) + AS_ECHO([" /* get a second pixel, from the source secondary FIFO: */"]) + AS_ECHO([" pixel ="]) + AS_ECHO([" ((src_fifo1"]) + AS_ECHO([" >> (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (32 - (src_bipp + ${src_shift}))"]) + AS_ECHO([" : ${src_shift})));"]) + + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities and accumulate them: */"]) + AS_ECHO([" value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi - $as_echo "" - $as_echo " /* get third and fourth pixels, from the source primary" - $as_echo " FIFO and source secondary FIFO, respectively. if" - $as_echo " src_bipp is 24 or greater, these pixels are not yet" - $as_echo " entirely in the first parts of the FIFOs, so we need" - $as_echo " to shift: */" - $as_echo " if (src_bipp >= 24) {" - $as_echo " TME_FB_XLAT_SHIFT_SRC(src_fifo0_may_be_unaligned," - $as_echo " src_fifo0," - $as_echo " src_fifo0_next," - $as_echo " src_fifo0_bits," - $as_echo " src_bipp," - $as_echo " src_raw0," - $as_echo " src_order);" - $as_echo " TME_FB_XLAT_SHIFT_SRC(src_fifo1_may_be_unaligned," - $as_echo " src_fifo1," - $as_echo " src_fifo1_next," - $as_echo " src_fifo1_bits," - $as_echo " src_bipp," - $as_echo " src_raw1," - $as_echo " src_order);" - $as_echo " pixel =" - $as_echo " ((src_fifo0" - $as_echo " >> (src_order == TME_ENDIAN_BIG" - $as_echo " ? (32 - (src_bipp + ${src_shift}))" - $as_echo " : ${src_shift})));" - - $as_echo "" - $as_echo " /* map the pixel subfields into intensities and accumulate them: */" - $as_echo " value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([""]) + AS_ECHO([" /* get third and fourth pixels, from the source primary"]) + AS_ECHO([" FIFO and source secondary FIFO, respectively. if"]) + AS_ECHO([" src_bipp is 24 or greater, these pixels are not yet"]) + AS_ECHO([" entirely in the first parts of the FIFOs, so we need"]) + AS_ECHO([" to shift: */"]) + AS_ECHO([" if (src_bipp >= 24) {"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(src_fifo0_may_be_unaligned,"]) + AS_ECHO([" src_fifo0,"]) + AS_ECHO([" src_fifo0_next,"]) + AS_ECHO([" src_fifo0_bits,"]) + AS_ECHO([" src_bipp,"]) + AS_ECHO([" src_raw0,"]) + AS_ECHO([" src_order);"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(src_fifo1_may_be_unaligned,"]) + AS_ECHO([" src_fifo1,"]) + AS_ECHO([" src_fifo1_next,"]) + AS_ECHO([" src_fifo1_bits,"]) + AS_ECHO([" src_bipp,"]) + AS_ECHO([" src_raw1,"]) + AS_ECHO([" src_order);"]) + AS_ECHO([" pixel ="]) + AS_ECHO([" ((src_fifo0"]) + AS_ECHO([" >> (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (32 - (src_bipp + ${src_shift}))"]) + AS_ECHO([" : ${src_shift})));"]) + + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities and accumulate them: */"]) + AS_ECHO([" value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi - $as_echo "" + AS_ECHO([""]) - $as_echo " pixel =" - $as_echo " ((src_fifo1" - $as_echo " >> (src_order == TME_ENDIAN_BIG" - $as_echo " ? (32 - (src_bipp + ${src_shift}))" - $as_echo " : ${src_shift})));" - - $as_echo "" - $as_echo " /* map the pixel subfields into intensities and accumulate them: */" - $as_echo " value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([" pixel ="]) + AS_ECHO([" ((src_fifo1"]) + AS_ECHO([" >> (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (32 - (src_bipp + ${src_shift}))"]) + AS_ECHO([" : ${src_shift})));"]) + + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities and accumulate them: */"]) + AS_ECHO([" value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the third and fourth pixels are already in the" - $as_echo " visible parts of the source bit FIFOs; we just have to" - $as_echo " reach over the pixels we already read to get at them: */" - $as_echo " else {" - $as_echo " pixel =" - $as_echo " ((src_fifo0" - $as_echo " >> (src_order == TME_ENDIAN_BIG" - $as_echo " ? (32 - (src_bipp + (${src_shift} + src_bipp)))" - $as_echo " : (${src_shift} + src_bipp))));" - $as_echo "" - $as_echo " /* map the pixel subfields into intensities and accumulate them: */" - $as_echo " value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the third and fourth pixels are already in the"]) + AS_ECHO([" visible parts of the source bit FIFOs; we just have to"]) + AS_ECHO([" reach over the pixels we already read to get at them: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" pixel ="]) + AS_ECHO([" ((src_fifo0"]) + AS_ECHO([" >> (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (32 - (src_bipp + (${src_shift} + src_bipp)))"]) + AS_ECHO([" : (${src_shift} + src_bipp))));"]) + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities and accumulate them: */"]) + AS_ECHO([" value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi - $as_echo "" - $as_echo " pixel =" - $as_echo " ((src_fifo1" - $as_echo " >> (src_order == TME_ENDIAN_BIG" - $as_echo " ? (32 - (src_bipp + (${src_shift} + src_bipp)))" - $as_echo " : (${src_shift} + src_bipp))));" - $as_echo "" - $as_echo " /* map the pixel subfields into intensities and accumulate them: */" - $as_echo " value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);" + AS_ECHO([""]) + AS_ECHO([" pixel ="]) + AS_ECHO([" ((src_fifo1"]) + AS_ECHO([" >> (src_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? (32 - (src_bipp + (${src_shift} + src_bipp)))"]) + AS_ECHO([" : (${src_shift} + src_bipp))));"]) + AS_ECHO([""]) + AS_ECHO([" /* map the pixel subfields into intensities and accumulate them: */"]) + AS_ECHO([" value_g += TME_FB_XLAT_MAP(pixel, src_mask_g, src_mask_i, src_indexed, src->tme_fb_connection_map_g);"]) if test "x${src_class}" != xm; then - $as_echo " value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);" - $as_echo " value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);" + AS_ECHO([" value_r += TME_FB_XLAT_MAP(pixel, src_mask_r, src_mask_i, src_indexed, src->tme_fb_connection_map_r);"]) + AS_ECHO([" value_b += TME_FB_XLAT_MAP(pixel, src_mask_b, src_mask_i, src_indexed, src->tme_fb_connection_map_b);"]) fi - $as_echo " }" + AS_ECHO([" }"]) indent0= src_mask_i='((src_mask_i * 4) + 3)' src_mask_i_max='(TME_FB_XLAT_MAP_INDEX_MASK_MAX / 4)' @@ -2079,290 +2079,290 @@ for src_key in ${src_all}; do # if we may have intensities: # if test "X${indent0}" != XX; then - $as_echo "" + AS_ECHO([""]) indent1=X case "x${src_class}" in xm) - $as_echo "${indent0} /* since the source_class is known as monochrome at code-generation" - $as_echo "${indent0} time, we map the green intensity directly into a pixel. we may have" - $as_echo "${indent0} to scale the intensity to be in the lookup range: */" - $as_echo "${indent0} if (src_mask_i > ${src_mask_i_max}) {" - $as_echo "${indent0} value_g /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);" - $as_echo "${indent0} }" - $as_echo "${indent0} pixel = dst->tme_fb_connection_map_pixel[[value_g]];" + AS_ECHO(["${indent0} /* since the source_class is known as monochrome at code-generation"]) + AS_ECHO(["${indent0} time, we map the green intensity directly into a pixel. we may have"]) + AS_ECHO(["${indent0} to scale the intensity to be in the lookup range: */"]) + AS_ECHO(["${indent0} if (src_mask_i > ${src_mask_i_max}) {"]) + AS_ECHO(["${indent0} value_g /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);"]) + AS_ECHO(["${indent0} }"]) + AS_ECHO(["${indent0} pixel = dst->tme_fb_connection_map_pixel[[value_g]];"]) ;; x) - $as_echo "${indent0} /* if the source class is monochrome, we map the green intensity" - $as_echo "${indent0} directly into a pixel. we may have to scale the intensity" - $as_echo "${indent0} to be in the lookup range: */" - $as_echo "${indent0} if (src->tme_fb_connection_class == TME_FB_XLAT_CLASS_MONOCHROME) {" - $as_echo "${indent0} if (src_mask_i > ${src_mask_i_max}) {" - $as_echo "${indent0} value_g /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);" - $as_echo "${indent0} }" - $as_echo "${indent0} pixel = dst->tme_fb_connection_map_pixel[[value_g]];" - $as_echo "${indent0} }" - $as_echo "" - $as_echo "${indent0} /* otherwise, we have to consider all three intensities: */" - $as_echo "${indent0} else {" + AS_ECHO(["${indent0} /* if the source class is monochrome, we map the green intensity"]) + AS_ECHO(["${indent0} directly into a pixel. we may have to scale the intensity"]) + AS_ECHO(["${indent0} to be in the lookup range: */"]) + AS_ECHO(["${indent0} if (src->tme_fb_connection_class == TME_FB_XLAT_CLASS_MONOCHROME) {"]) + AS_ECHO(["${indent0} if (src_mask_i > ${src_mask_i_max}) {"]) + AS_ECHO(["${indent0} value_g /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);"]) + AS_ECHO(["${indent0} }"]) + AS_ECHO(["${indent0} pixel = dst->tme_fb_connection_map_pixel[[value_g]];"]) + AS_ECHO(["${indent0} }"]) + AS_ECHO([""]) + AS_ECHO(["${indent0} /* otherwise, we have to consider all three intensities: */"]) + AS_ECHO(["${indent0} else {"]) indent1="${indent0} " ;; *) - $as_echo "${indent0} /* we have to consider all three intensities: */" + AS_ECHO(["${indent0} /* we have to consider all three intensities: */"]) indent1="${indent0}" esac if test "X${indent1}" != "XX"; then - $as_echo "" - $as_echo "${indent1} /* if destination intensities are indexed: */" - $as_echo "${indent1} if (dst_indexed) {" - $as_echo "" - $as_echo "${indent1} /* we may have to scale the intensities to be in the lookup range: */" - $as_echo "${indent1} if (src_mask_i > ${src_mask_i_max}) {" - $as_echo "${indent1} value_g /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);" - $as_echo "${indent1} value_r /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);" - $as_echo "${indent1} value_b /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);" - $as_echo "${indent1} }" - $as_echo "" - $as_echo "${indent1} /* form the pixel: */" - $as_echo "${indent1} pixel = _TME_FB_XLAT_MAP_INDEX(value_g, dst_mask_g, dst->tme_fb_connection_map_g);" - $as_echo "${indent1} pixel |= _TME_FB_XLAT_MAP_INDEX(value_r, dst_mask_r, dst->tme_fb_connection_map_r);" - $as_echo "${indent1} pixel |= _TME_FB_XLAT_MAP_INDEX(value_b, dst_mask_b, dst->tme_fb_connection_map_b);" - $as_echo "${indent1} pixel |= 0xff000000;" - $as_echo "${indent1} }" - $as_echo "" - $as_echo "${indent1} /* otherwise, destination intensities are linear: */" - $as_echo "${indent1} else {" - $as_echo "" - $as_echo "${indent1} /* form the pixel: */" - $as_echo "${indent1} pixel = _TME_FB_XLAT_MAP_LINEAR(value_g, ${src_mask_i}, dst_mask_g);" - $as_echo "${indent1} pixel |= _TME_FB_XLAT_MAP_LINEAR(value_r, ${src_mask_i}, dst_mask_r);" - $as_echo "${indent1} pixel |= _TME_FB_XLAT_MAP_LINEAR(value_b, ${src_mask_i}, dst_mask_b);" - $as_echo "${indent1} pixel |= 0xff000000;" - $as_echo "" - $as_echo "${indent1} /* if destination pixels are indexed: */" - $as_echo "${indent1} if (dst_masks_default) {" - $as_echo "${indent1} pixel = dst->tme_fb_connection_map_pixel[[pixel]];" - $as_echo "${indent1} }" - $as_echo "${indent1} }" + AS_ECHO([""]) + AS_ECHO(["${indent1} /* if destination intensities are indexed: */"]) + AS_ECHO(["${indent1} if (dst_indexed) {"]) + AS_ECHO([""]) + AS_ECHO(["${indent1} /* we may have to scale the intensities to be in the lookup range: */"]) + AS_ECHO(["${indent1} if (src_mask_i > ${src_mask_i_max}) {"]) + AS_ECHO(["${indent1} value_g /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);"]) + AS_ECHO(["${indent1} value_r /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);"]) + AS_ECHO(["${indent1} value_b /= TME_FB_XLAT_MAP_LINEAR_SCALE(${src_mask_i}, TME_FB_XLAT_MAP_INDEX_MASK_MAX);"]) + AS_ECHO(["${indent1} }"]) + AS_ECHO([""]) + AS_ECHO(["${indent1} /* form the pixel: */"]) + AS_ECHO(["${indent1} pixel = _TME_FB_XLAT_MAP_INDEX(value_g, dst_mask_g, dst->tme_fb_connection_map_g);"]) + AS_ECHO(["${indent1} pixel |= _TME_FB_XLAT_MAP_INDEX(value_r, dst_mask_r, dst->tme_fb_connection_map_r);"]) + AS_ECHO(["${indent1} pixel |= _TME_FB_XLAT_MAP_INDEX(value_b, dst_mask_b, dst->tme_fb_connection_map_b);"]) + AS_ECHO(["${indent1} pixel |= 0xff000000;"]) + AS_ECHO(["${indent1} }"]) + AS_ECHO([""]) + AS_ECHO(["${indent1} /* otherwise, destination intensities are linear: */"]) + AS_ECHO(["${indent1} else {"]) + AS_ECHO([""]) + AS_ECHO(["${indent1} /* form the pixel: */"]) + AS_ECHO(["${indent1} pixel = _TME_FB_XLAT_MAP_LINEAR(value_g, ${src_mask_i}, dst_mask_g);"]) + AS_ECHO(["${indent1} pixel |= _TME_FB_XLAT_MAP_LINEAR(value_r, ${src_mask_i}, dst_mask_r);"]) + AS_ECHO(["${indent1} pixel |= _TME_FB_XLAT_MAP_LINEAR(value_b, ${src_mask_i}, dst_mask_b);"]) + AS_ECHO(["${indent1} pixel |= 0xff000000;"]) + AS_ECHO([""]) + AS_ECHO(["${indent1} /* if destination pixels are indexed: */"]) + AS_ECHO(["${indent1} if (dst_masks_default) {"]) + AS_ECHO(["${indent1} pixel = dst->tme_fb_connection_map_pixel[[pixel]];"]) + AS_ECHO(["${indent1} }"]) + AS_ECHO(["${indent1} }"]) if test "X${indent1}" != "X${indent0}"; then - $as_echo "${indent0} }" + AS_ECHO(["${indent0} }"]) fi if test "X${indent0}" != X; then - $as_echo "${indent0} }" + AS_ECHO(["${indent0} }"]) fi fi fi - $as_echo "" + AS_ECHO([""]) if test $scale = _h_; then - $as_echo " /* if we just read the last pixels on these" - $as_echo " source scanlines: */" + AS_ECHO([" /* if we just read the last pixels on these"]) + AS_ECHO([" source scanlines: */"]) if test `expr ${iter_next} % ${src_unroll}` = 0; then - $as_echo " if ((src_x +=" - $as_echo " (src_packed" - $as_echo " ? `expr ${src_unroll} \* 2`" - $as_echo " : 2))" - $as_echo " == src_width) {" + AS_ECHO([" if ((src_x +="]) + AS_ECHO([" (src_packed"]) + AS_ECHO([" ? `expr ${src_unroll} \* 2`"]) + AS_ECHO([" : 2))"]) + AS_ECHO([" == src_width) {"]) else - $as_echo " if (!src_packed" - $as_echo " && (src_x += 2) == src_width) {" + AS_ECHO([" if (!src_packed"]) + AS_ECHO([" && (src_x += 2) == src_width) {"]) fi - $as_echo "" - $as_echo " /* we need to rapidly shift the source FIFOs" - $as_echo " to skip not only pad bits and undisplayed" - $as_echo " pixels on the next line, but actually the" - $as_echo " *entire* next line." - $as_echo "" - $as_echo " note that this sounds like when we're done," - $as_echo " the bits at the fronts of the FIFOs will be" - $as_echo " the *first* pixels on the next scanlines." - $as_echo "" - $as_echo " but the bits at the fronts of the FIFOs now" - $as_echo " are the *last* pixels on the current scanlines -" - $as_echo " they haven't been shifted off yet. so when" - $as_echo " we're done, we want one pixel's worth of bits" - $as_echo " in the FIFOs before the first pixel on the" - $as_echo " next scanlines: */" - $as_echo "" - $as_echo " /* calculate the number of bits that we need" - $as_echo " to shift the source primary FIFO, after" - $as_echo " discarding any bits in it now: */" - $as_echo " src_off = ((src_bypl * 8) - (src_width * src_bipp)) + (src_bypl * 8);" - $as_echo " src_off -= (src_fifo0_may_be_unaligned" - $as_echo " ? src_fifo0_bits" - $as_echo " : 32);" - $as_echo "" - $as_echo " /* rapidly advance src_raw0 by the number of" - $as_echo " whole 32-bit words. this will leave it pointing" - $as_echo " to the 32-bit word that has the first bit that" - $as_echo " we want to end up as the first bit in the source" - $as_echo " primary FIFO: */" - $as_echo " src_raw0 += (src_off / 32);" - $as_echo "" - $as_echo " /* reprime the source primary FIFO: */" - $as_echo " src_fifo0 = *src_raw0;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0;" - $as_echo " src_raw0++;" - $as_echo " src_fifo0 = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo0)" - $as_echo " : tme_letoh_u32(src_fifo0));" - $as_echo "" - $as_echo " /* if the source primary FIFO may be unaligned: */" - $as_echo " if (src_fifo0_may_be_unaligned) {" - $as_echo "" - $as_echo " /* reprime the top half of the FIFO, leaving a" - $as_echo " total of 64 bits in it: */" - $as_echo " src_fifo0_next = *src_raw0;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0_next;" - $as_echo " src_raw0++;" - $as_echo " src_fifo0_next = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo0_next)" - $as_echo " : tme_letoh_u32(src_fifo0_next));" - $as_echo " src_fifo0_bits = 64;" - $as_echo "" - $as_echo " /* if we have to shift off bits left over" - $as_echo " from rapidly advancing whole 32-bit words: */" - $as_echo " src_off %= 32;" - $as_echo " if (src_off > 0) {" - $as_echo " TME_FB_XLAT_SHIFT_SRC(TRUE," - $as_echo " src_fifo0," - $as_echo " src_fifo0_next," - $as_echo " src_fifo0_bits," - $as_echo " src_off," - $as_echo " src_raw0," - $as_echo " src_order);" - $as_echo " }" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the source primary FIFO is always aligned: */" - $as_echo " else {" - $as_echo " assert ((src_off % 32) == 0);" - $as_echo " }" - $as_echo "" - $as_echo " /* calculate the number of bits that we need" - $as_echo " to shift the source secondary FIFO, after" - $as_echo " discarding any bits in it now: */" - $as_echo " src_off = ((src_bypl * 8) - (src_width * src_bipp)) + (src_bypl * 8);" - $as_echo " src_off -= (src_fifo1_may_be_unaligned" - $as_echo " ? src_fifo1_bits" - $as_echo " : 32);" - $as_echo "" - $as_echo " /* rapidly advance src_raw1 by the number of" - $as_echo " whole 32-bit words. this will leave it pointing" - $as_echo " to the 32-bit word that has the first bit that" - $as_echo " we want to end up as the first bit in the source" - $as_echo " secondary FIFO: */" - $as_echo " src_raw1 += (src_off / 32);" - $as_echo "" - $as_echo " /* reprime the source secondary FIFO: */" - $as_echo " src_fifo1 = *src_raw1;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1;" - $as_echo " src_raw1++;" - $as_echo " src_fifo1 = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo1)" - $as_echo " : tme_letoh_u32(src_fifo1));" - $as_echo "" - $as_echo " /* if the source secondary FIFO may be unaligned: */" - $as_echo " if (src_fifo1_may_be_unaligned) {" - $as_echo "" - $as_echo " /* reprime the top half of the FIFO, leaving a" - $as_echo " total of 64 bits in it: */" - $as_echo " src_fifo1_next = *src_raw1;" - $as_echo " *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1_next;" - $as_echo " src_raw1++;" - $as_echo " src_fifo1_next = ((src_order == TME_ENDIAN_BIG)" - $as_echo " ? tme_betoh_u32(src_fifo1_next)" - $as_echo " : tme_letoh_u32(src_fifo1_next));" - $as_echo " src_fifo1_bits = 64;" - $as_echo "" - $as_echo " /* if we have to shift off bits left over" - $as_echo " from rapidly advancing whole 32-bit words: */" - $as_echo " src_off %= 32;" - $as_echo " if (src_off > 0) {" - $as_echo " TME_FB_XLAT_SHIFT_SRC(TRUE," - $as_echo " src_fifo1," - $as_echo " src_fifo1_next," - $as_echo " src_fifo1_bits," - $as_echo " src_off," - $as_echo " src_raw1," - $as_echo " src_order);" - $as_echo " }" - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the source secondary FIFO is always aligned: */" - $as_echo " else {" - $as_echo " assert ((src_off % 32) == 0);" - $as_echo " }" - $as_echo "" - $as_echo " /* we are now on the first pixel of the next scanline: */" - $as_echo " src_x = 0;" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* we need to rapidly shift the source FIFOs"]) + AS_ECHO([" to skip not only pad bits and undisplayed"]) + AS_ECHO([" pixels on the next line, but actually the"]) + AS_ECHO([" *entire* next line."]) + AS_ECHO([""]) + AS_ECHO([" note that this sounds like when we're done,"]) + AS_ECHO([" the bits at the fronts of the FIFOs will be"]) + AS_ECHO([" the *first* pixels on the next scanlines."]) + AS_ECHO([""]) + AS_ECHO([" but the bits at the fronts of the FIFOs now"]) + AS_ECHO([" are the *last* pixels on the current scanlines -"]) + AS_ECHO([" they haven't been shifted off yet. so when"]) + AS_ECHO([" we're done, we want one pixel's worth of bits"]) + AS_ECHO([" in the FIFOs before the first pixel on the"]) + AS_ECHO([" next scanlines: */"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the number of bits that we need"]) + AS_ECHO([" to shift the source primary FIFO, after"]) + AS_ECHO([" discarding any bits in it now: */"]) + AS_ECHO([" src_off = ((src_bypl * 8) - (src_width * src_bipp)) + (src_bypl * 8);"]) + AS_ECHO([" src_off -= (src_fifo0_may_be_unaligned"]) + AS_ECHO([" ? src_fifo0_bits"]) + AS_ECHO([" : 32);"]) + AS_ECHO([""]) + AS_ECHO([" /* rapidly advance src_raw0 by the number of"]) + AS_ECHO([" whole 32-bit words. this will leave it pointing"]) + AS_ECHO([" to the 32-bit word that has the first bit that"]) + AS_ECHO([" we want to end up as the first bit in the source"]) + AS_ECHO([" primary FIFO: */"]) + AS_ECHO([" src_raw0 += (src_off / 32);"]) + AS_ECHO([""]) + AS_ECHO([" /* reprime the source primary FIFO: */"]) + AS_ECHO([" src_fifo0 = *src_raw0;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0;"]) + AS_ECHO([" src_raw0++;"]) + AS_ECHO([" src_fifo0 = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo0)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo0));"]) + AS_ECHO([""]) + AS_ECHO([" /* if the source primary FIFO may be unaligned: */"]) + AS_ECHO([" if (src_fifo0_may_be_unaligned) {"]) + AS_ECHO([""]) + AS_ECHO([" /* reprime the top half of the FIFO, leaving a"]) + AS_ECHO([" total of 64 bits in it: */"]) + AS_ECHO([" src_fifo0_next = *src_raw0;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw0) = src_fifo0_next;"]) + AS_ECHO([" src_raw0++;"]) + AS_ECHO([" src_fifo0_next = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo0_next)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo0_next));"]) + AS_ECHO([" src_fifo0_bits = 64;"]) + AS_ECHO([""]) + AS_ECHO([" /* if we have to shift off bits left over"]) + AS_ECHO([" from rapidly advancing whole 32-bit words: */"]) + AS_ECHO([" src_off %= 32;"]) + AS_ECHO([" if (src_off > 0) {"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(TRUE,"]) + AS_ECHO([" src_fifo0,"]) + AS_ECHO([" src_fifo0_next,"]) + AS_ECHO([" src_fifo0_bits,"]) + AS_ECHO([" src_off,"]) + AS_ECHO([" src_raw0,"]) + AS_ECHO([" src_order);"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the source primary FIFO is always aligned: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" assert ((src_off % 32) == 0);"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the number of bits that we need"]) + AS_ECHO([" to shift the source secondary FIFO, after"]) + AS_ECHO([" discarding any bits in it now: */"]) + AS_ECHO([" src_off = ((src_bypl * 8) - (src_width * src_bipp)) + (src_bypl * 8);"]) + AS_ECHO([" src_off -= (src_fifo1_may_be_unaligned"]) + AS_ECHO([" ? src_fifo1_bits"]) + AS_ECHO([" : 32);"]) + AS_ECHO([""]) + AS_ECHO([" /* rapidly advance src_raw1 by the number of"]) + AS_ECHO([" whole 32-bit words. this will leave it pointing"]) + AS_ECHO([" to the 32-bit word that has the first bit that"]) + AS_ECHO([" we want to end up as the first bit in the source"]) + AS_ECHO([" secondary FIFO: */"]) + AS_ECHO([" src_raw1 += (src_off / 32);"]) + AS_ECHO([""]) + AS_ECHO([" /* reprime the source secondary FIFO: */"]) + AS_ECHO([" src_fifo1 = *src_raw1;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1;"]) + AS_ECHO([" src_raw1++;"]) + AS_ECHO([" src_fifo1 = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo1)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo1));"]) + AS_ECHO([""]) + AS_ECHO([" /* if the source secondary FIFO may be unaligned: */"]) + AS_ECHO([" if (src_fifo1_may_be_unaligned) {"]) + AS_ECHO([""]) + AS_ECHO([" /* reprime the top half of the FIFO, leaving a"]) + AS_ECHO([" total of 64 bits in it: */"]) + AS_ECHO([" src_fifo1_next = *src_raw1;"]) + AS_ECHO([" *TME_FB_XLAT_SRC_OLD(src_raw1) = src_fifo1_next;"]) + AS_ECHO([" src_raw1++;"]) + AS_ECHO([" src_fifo1_next = ((src_order == TME_ENDIAN_BIG)"]) + AS_ECHO([" ? tme_betoh_u32(src_fifo1_next)"]) + AS_ECHO([" : tme_letoh_u32(src_fifo1_next));"]) + AS_ECHO([" src_fifo1_bits = 64;"]) + AS_ECHO([""]) + AS_ECHO([" /* if we have to shift off bits left over"]) + AS_ECHO([" from rapidly advancing whole 32-bit words: */"]) + AS_ECHO([" src_off %= 32;"]) + AS_ECHO([" if (src_off > 0) {"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(TRUE,"]) + AS_ECHO([" src_fifo1,"]) + AS_ECHO([" src_fifo1_next,"]) + AS_ECHO([" src_fifo1_bits,"]) + AS_ECHO([" src_off,"]) + AS_ECHO([" src_raw1,"]) + AS_ECHO([" src_order);"]) + AS_ECHO([" }"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the source secondary FIFO is always aligned: */"]) + AS_ECHO([" else {"]) + AS_ECHO([" assert ((src_off % 32) == 0);"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* we are now on the first pixel of the next scanline: */"]) + AS_ECHO([" src_x = 0;"]) + AS_ECHO([" }"]) else - $as_echo " /* if the source buffer is not packed, and we just" - $as_echo " read the last pixel on this source scanline: */" - $as_echo " if (!src_packed" - $as_echo " && ++src_x == src_width) {" - $as_echo "" - $as_echo " /* calculate the number of bits between the" - $as_echo " last bit of the last pixel and the first bit" - $as_echo " of the first displayed pixel on the next" - $as_echo " scanline. this is equal to the number of" - $as_echo " pad bits plus bits for undisplayed pixels: */" - $as_echo " src_off = ((src_bypl * 8) - (src_width * src_bipp));" - $as_echo "" - $as_echo " /* while there are bits to shift: */" - $as_echo " for (; src_off > 0; src_off -= TME_MIN(src_off, 32)) {" - $as_echo "" - $as_echo " /* shift the source primary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_SRC(src_fifo0_may_be_unaligned," - $as_echo " src_fifo0," - $as_echo " src_fifo0_next," - $as_echo " src_fifo0_bits," - $as_echo " TME_MIN(src_off, 32)," - $as_echo " src_raw0," - $as_echo " src_order);" - $as_echo " }" - $as_echo "" - $as_echo " /* we are now on the first pixel of the next scanline: */" - $as_echo " src_x = 0;" - $as_echo " }" + AS_ECHO([" /* if the source buffer is not packed, and we just"]) + AS_ECHO([" read the last pixel on this source scanline: */"]) + AS_ECHO([" if (!src_packed"]) + AS_ECHO([" && ++src_x == src_width) {"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the number of bits between the"]) + AS_ECHO([" last bit of the last pixel and the first bit"]) + AS_ECHO([" of the first displayed pixel on the next"]) + AS_ECHO([" scanline. this is equal to the number of"]) + AS_ECHO([" pad bits plus bits for undisplayed pixels: */"]) + AS_ECHO([" src_off = ((src_bypl * 8) - (src_width * src_bipp));"]) + AS_ECHO([""]) + AS_ECHO([" /* while there are bits to shift: */"]) + AS_ECHO([" for (; src_off > 0; src_off -= TME_MIN(src_off, 32)) {"]) + AS_ECHO([""]) + AS_ECHO([" /* shift the source primary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(src_fifo0_may_be_unaligned,"]) + AS_ECHO([" src_fifo0,"]) + AS_ECHO([" src_fifo0_next,"]) + AS_ECHO([" src_fifo0_bits,"]) + AS_ECHO([" TME_MIN(src_off, 32),"]) + AS_ECHO([" src_raw0,"]) + AS_ECHO([" src_order);"]) + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* we are now on the first pixel of the next scanline: */"]) + AS_ECHO([" src_x = 0;"]) + AS_ECHO([" }"]) fi if test `expr ${iter_next} % ${src_unroll}` = 0; then - $as_echo "" + AS_ECHO([""]) if test "${src_fifo_shift}" = 32; then - $as_echo " /* we've just translated another 32-bit word of the" - $as_echo " source image, so decrement xlat_run: */" - $as_echo " xlat_run--;" + AS_ECHO([" /* we've just translated another 32-bit word of the"]) + AS_ECHO([" source image, so decrement xlat_run: */"]) + AS_ECHO([" xlat_run--;"]) else - $as_echo " /* if we've just finished translating another 32-bit" - $as_echo " word of the source image, decrement xlat_run: */" - $as_echo " if (src_fifo0_bits <= 32 + ${src_fifo_shift}) {" - $as_echo " xlat_run--;" - $as_echo " }" + AS_ECHO([" /* if we've just finished translating another 32-bit"]) + AS_ECHO([" word of the source image, decrement xlat_run: */"]) + AS_ECHO([" if (src_fifo0_bits <= 32 + ${src_fifo_shift}) {"]) + AS_ECHO([" xlat_run--;"]) + AS_ECHO([" }"]) fi - $as_echo "" - $as_echo " /* shift the source primary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_SRC(src_fifo0_may_be_unaligned," - $as_echo " src_fifo0," - $as_echo " src_fifo0_next," - $as_echo " src_fifo0_bits," - $as_echo " ${src_fifo_shift}," - $as_echo " src_raw0," - $as_echo " src_order);" + AS_ECHO([""]) + AS_ECHO([" /* shift the source primary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(src_fifo0_may_be_unaligned,"]) + AS_ECHO([" src_fifo0,"]) + AS_ECHO([" src_fifo0_next,"]) + AS_ECHO([" src_fifo0_bits,"]) + AS_ECHO([" ${src_fifo_shift},"]) + AS_ECHO([" src_raw0,"]) + AS_ECHO([" src_order);"]) if test $scale = _h_; then - $as_echo "" - $as_echo " /* shift the source secondary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_SRC(src_fifo1_may_be_unaligned," - $as_echo " src_fifo1," - $as_echo " src_fifo1_next," - $as_echo " src_fifo1_bits," - $as_echo " ${src_fifo_shift}," - $as_echo " src_raw1," - $as_echo " src_order);" + AS_ECHO([""]) + AS_ECHO([" /* shift the source secondary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_SRC(src_fifo1_may_be_unaligned,"]) + AS_ECHO([" src_fifo1,"]) + AS_ECHO([" src_fifo1_next,"]) + AS_ECHO([" src_fifo1_bits,"]) + AS_ECHO([" ${src_fifo_shift},"]) + AS_ECHO([" src_raw1,"]) + AS_ECHO([" src_order);"]) fi fi @@ -2371,232 +2371,231 @@ for src_key in ${src_all}; do dst_shift=`expr ${iter} % ${dst_unroll}` dst_shift='('`expr ${dst_shift} \* ${dst_iter_scale}`' * dst_bipp)' - $as_echo "" - $as_echo " /* put the pixel into the destination primary FIFO: */" - $as_echo " dst_fifo0 |=" - $as_echo " (pixel" - $as_echo " << (dst_order == TME_ENDIAN_BIG" - $as_echo " ? ((32 - dst_bipp) - ${dst_shift})" - $as_echo " : ${dst_shift}));" + AS_ECHO([""]) + AS_ECHO([" /* put the pixel into the destination primary FIFO: */"]) + AS_ECHO([" dst_fifo0 |="]) + AS_ECHO([" (pixel"]) + AS_ECHO([" << (dst_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? ((32 - dst_bipp) - ${dst_shift})"]) + AS_ECHO([" : ${dst_shift}));"]) if test $scale = _d_; then - $as_echo "" - $as_echo " /* put the pixel into the destination secondary FIFO: */" - $as_echo " dst_fifo1 |=" - $as_echo " (pixel" - $as_echo " << (dst_order == TME_ENDIAN_BIG" - $as_echo " ? ((32 - dst_bipp) - ${dst_shift})" - $as_echo " : ${dst_shift}));" + AS_ECHO([""]) + AS_ECHO([" /* put the pixel into the destination secondary FIFO: */"]) + AS_ECHO([" dst_fifo1 |="]) + AS_ECHO([" (pixel"]) + AS_ECHO([" << (dst_order == TME_ENDIAN_BIG"]) + AS_ECHO([" ? ((32 - dst_bipp) - ${dst_shift})"]) + AS_ECHO([" : ${dst_shift}));"]) - $as_echo "" + AS_ECHO([""]) if test `expr ${dst_bipp} \>= 24` = 1; then - $as_echo " /* put the pixel into both FIFOs again. in" - $as_echo " this case, dst_bipp is known to be ${dst_bipp}," - $as_echo " meaning the FIFOs cannot entirely take these" - $as_echo " further pixels, so we need to shift the FIFOs: */" + AS_ECHO([" /* put the pixel into both FIFOs again. in"]) + AS_ECHO([" this case, dst_bipp is known to be ${dst_bipp},"]) + AS_ECHO([" meaning the FIFOs cannot entirely take these"]) + AS_ECHO([" further pixels, so we need to shift the FIFOs: */"]) indent0="" indent1=X elif test ${dst_bipp} = 0; then - $as_echo " /* put the pixel into both FIFOs again. if" - $as_echo " dst_bipp is 24 or greater, the FIFOs can" - $as_echo " not entirely take these further pixels," - $as_echo " so we need to shift the FIFOs: */" - $as_echo " if (dst_bipp >= 24) {" + AS_ECHO([" /* put the pixel into both FIFOs again. if"]) + AS_ECHO([" dst_bipp is 24 or greater, the FIFOs can"]) + AS_ECHO([" not entirely take these further pixels,"]) + AS_ECHO([" so we need to shift the FIFOs: */"]) + AS_ECHO([" if (dst_bipp >= 24) {"]) indent0=" " indent1=" " else - $as_echo " /* put the pixel into both FIFOs again. in" - $as_echo " this case, dst_bipp is known to be ${dst_bipp}," - $as_echo " meaning the FIFOs can take these further pixels" - $as_echo " without shifting the FIFOs, as long as we shift" - $as_echo " the pixels one pixel further: */" + AS_ECHO([" /* put the pixel into both FIFOs again. in"]) + AS_ECHO([" this case, dst_bipp is known to be ${dst_bipp},"]) + AS_ECHO([" meaning the FIFOs can take these further pixels"]) + AS_ECHO([" without shifting the FIFOs, as long as we shift"]) + AS_ECHO([" the pixels one pixel further: */"]) indent0=X indent1="" fi if test "X${indent0}" != "XX"; then - $as_echo "${indent0} TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned," - $as_echo "${indent0} dst_fifo0," - $as_echo "${indent0} dst_fifo0_next," - $as_echo "${indent0} dst_fifo0_bits," - $as_echo "${indent0} dst_bipp," - $as_echo "${indent0} dst_raw0," - $as_echo "${indent0} dst_order);" - $as_echo "${indent0} TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned," - $as_echo "${indent0} dst_fifo1," - $as_echo "${indent0} dst_fifo1_next," - $as_echo "${indent0} dst_fifo1_bits," - $as_echo "${indent0} dst_bipp," - $as_echo "${indent0} dst_raw1," - $as_echo "${indent0} dst_order);" - $as_echo "" - $as_echo "${indent0} /* now that we've shifted by dst_bipp, we can" - $as_echo "${indent0} put the further pixels exactly where the" - $as_echo "${indent0} first pixels went in the FIFOs: */" - $as_echo "${indent0} dst_fifo0 |=" - $as_echo "${indent0} (pixel" - $as_echo "${indent0} << (dst_order == TME_ENDIAN_BIG" - $as_echo "${indent0} ? ((32 - dst_bipp) - ${dst_shift})" - $as_echo "${indent0} : ${dst_shift}));" - $as_echo "${indent0} dst_fifo1 |=" - $as_echo "${indent0} (pixel" - $as_echo "${indent0} << (dst_order == TME_ENDIAN_BIG" - $as_echo "${indent0} ? ((32 - dst_bipp) - ${dst_shift})" - $as_echo "${indent0} : ${dst_shift}));" + AS_ECHO(["${indent0} TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned,"]) + AS_ECHO(["${indent0} dst_fifo0,"]) + AS_ECHO(["${indent0} dst_fifo0_next,"]) + AS_ECHO(["${indent0} dst_fifo0_bits,"]) + AS_ECHO(["${indent0} dst_bipp,"]) + AS_ECHO(["${indent0} dst_raw0,"]) + AS_ECHO(["${indent0} dst_order);"]) + AS_ECHO(["${indent0} TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned,"]) + AS_ECHO(["${indent0} dst_fifo1,"]) + AS_ECHO(["${indent0} dst_fifo1_next,"]) + AS_ECHO(["${indent0} dst_fifo1_bits,"]) + AS_ECHO(["${indent0} dst_bipp,"]) + AS_ECHO(["${indent0} dst_raw1,"]) + AS_ECHO(["${indent0} dst_order);"]) + AS_ECHO([""]) + AS_ECHO(["${indent0} /* now that we've shifted by dst_bipp, we can"]) + AS_ECHO(["${indent0} put the further pixels exactly where the"]) + AS_ECHO(["${indent0} first pixels went in the FIFOs: */"]) + AS_ECHO(["${indent0} dst_fifo0 |="]) + AS_ECHO(["${indent0} (pixel"]) + AS_ECHO(["${indent0} << (dst_order == TME_ENDIAN_BIG"]) + AS_ECHO(["${indent0} ? ((32 - dst_bipp) - ${dst_shift})"]) + AS_ECHO(["${indent0} : ${dst_shift}));"]) + AS_ECHO(["${indent0} dst_fifo1 |="]) + AS_ECHO(["${indent0} (pixel"]) + AS_ECHO(["${indent0} << (dst_order == TME_ENDIAN_BIG"]) + AS_ECHO(["${indent0} ? ((32 - dst_bipp) - ${dst_shift})"]) + AS_ECHO(["${indent0} : ${dst_shift}));"]) fi if test ${dst_bipp} = 0; then - $as_echo " }" - $as_echo "" - $as_echo " /* otherwise, the FIFOs can take these further pixels," - $as_echo " as long as we shift the pixels one pixel further: */" - $as_echo " else {" + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* otherwise, the FIFOs can take these further pixels,"]) + AS_ECHO([" as long as we shift the pixels one pixel further: */"]) + AS_ECHO([" else {"]) fi if test "X${indent1}" != "XX"; then - $as_echo "${indent1} dst_fifo0 |=" - $as_echo "${indent1} (pixel" - $as_echo "${indent1} << (dst_order == TME_ENDIAN_BIG" - $as_echo "${indent1} ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))" - $as_echo "${indent1} : (${dst_shift} + dst_bipp)));" - $as_echo "${indent1} dst_fifo1 |=" - $as_echo "${indent1} (pixel" - $as_echo "${indent1} << (dst_order == TME_ENDIAN_BIG" - $as_echo "${indent1} ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))" - $as_echo "${indent1} : (${dst_shift} + dst_bipp)));" + AS_ECHO(["${indent1} dst_fifo0 |="]) + AS_ECHO(["${indent1} (pixel"]) + AS_ECHO(["${indent1} << (dst_order == TME_ENDIAN_BIG"]) + AS_ECHO(["${indent1} ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))"]) + AS_ECHO(["${indent1} : (${dst_shift} + dst_bipp)));"]) + AS_ECHO(["${indent1} dst_fifo1 |="]) + AS_ECHO(["${indent1} (pixel"]) + AS_ECHO(["${indent1} << (dst_order == TME_ENDIAN_BIG"]) + AS_ECHO(["${indent1} ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))"]) + AS_ECHO(["${indent1} : (${dst_shift} + dst_bipp)));"]) fi if test ${dst_bipp} = 0; then - $as_echo " }" + AS_ECHO([" }"]) fi fi - $as_echo "" - $as_echo " /* if the destination buffer is not packed, and we just" - $as_echo " wrote the last pixel on this destination scanline: */" + AS_ECHO([""]) + AS_ECHO([" /* if the destination buffer is not packed, and we just"]) + AS_ECHO([" wrote the last pixel on this destination scanline: */"]) if test $scale = _d_; then value=2; else value=1; fi - $as_echo " if (!dst_packed" - $as_echo " && (dst_x += ${value}) == dst_width) {" - $as_echo "" - $as_echo " /* calculate the number of bits between the" - $as_echo " last bit of the last pixel and the first bit" - $as_echo " of the first displayed pixel on the next" - $as_echo " scanline. this is equal to the number of" - $as_echo " pad bits plus bits for undisplayed pixels: */" - $as_echo " dst_off = ((dst_bypl * 8) - (dst_width * dst_bipp));" - $as_echo "" - $as_echo " /* while there are bits to shift: */" - $as_echo " for (; dst_off > 0; dst_off -= TME_MIN(dst_off, 32)) {" - $as_echo "" - $as_echo " /* shift the destination primary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned," - $as_echo " dst_fifo0," - $as_echo " dst_fifo0_next," - $as_echo " dst_fifo0_bits," - $as_echo " TME_MIN(dst_off, 32)," - $as_echo " dst_raw0," - $as_echo " dst_order);" + AS_ECHO([" if (!dst_packed"]) + AS_ECHO([" && (dst_x += ${value}) == dst_width) {"]) + AS_ECHO([""]) + AS_ECHO([" /* calculate the number of bits between the"]) + AS_ECHO([" last bit of the last pixel and the first bit"]) + AS_ECHO([" of the first displayed pixel on the next"]) + AS_ECHO([" scanline. this is equal to the number of"]) + AS_ECHO([" pad bits plus bits for undisplayed pixels: */"]) + AS_ECHO([" dst_off = ((dst_bypl * 8) - (dst_width * dst_bipp));"]) + AS_ECHO([""]) + AS_ECHO([" /* while there are bits to shift: */"]) + AS_ECHO([" for (; dst_off > 0; dst_off -= TME_MIN(dst_off, 32)) {"]) + AS_ECHO([""]) + AS_ECHO([" /* shift the destination primary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned,"]) + AS_ECHO([" dst_fifo0,"]) + AS_ECHO([" dst_fifo0_next,"]) + AS_ECHO([" dst_fifo0_bits,"]) + AS_ECHO([" TME_MIN(dst_off, 32),"]) + AS_ECHO([" dst_raw0,"]) + AS_ECHO([" dst_order);"]) if test $scale = _d_; then - $as_echo "" - $as_echo " /* shift the destination secondary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned," - $as_echo " dst_fifo1," - $as_echo " dst_fifo1_next," - $as_echo " dst_fifo1_bits," - $as_echo " TME_MIN(dst_off, 32)," - $as_echo " dst_raw1," - $as_echo " dst_order);" + AS_ECHO([""]) + AS_ECHO([" /* shift the destination secondary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned,"]) + AS_ECHO([" dst_fifo1,"]) + AS_ECHO([" dst_fifo1_next,"]) + AS_ECHO([" dst_fifo1_bits,"]) + AS_ECHO([" TME_MIN(dst_off, 32),"]) + AS_ECHO([" dst_raw1,"]) + AS_ECHO([" dst_order);"]) fi - $as_echo " }" - $as_echo "" - $as_echo " /* we are now on the first pixel of the next scanline: */" - $as_echo " dst_x = 0;" - $as_echo " }" + AS_ECHO([" }"]) + AS_ECHO([""]) + AS_ECHO([" /* we are now on the first pixel of the next scanline: */"]) + AS_ECHO([" dst_x = 0;"]) + AS_ECHO([" }"]) if test `expr ${iter_next} % ${dst_unroll}` = 0; then - $as_echo "" - $as_echo " /* shift the destination primary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned," - $as_echo " dst_fifo0," - $as_echo " dst_fifo0_next," - $as_echo " dst_fifo0_bits," - $as_echo " ${dst_fifo_shift}," - $as_echo " dst_raw0," - $as_echo " dst_order);" + AS_ECHO([""]) + AS_ECHO([" /* shift the destination primary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned,"]) + AS_ECHO([" dst_fifo0,"]) + AS_ECHO([" dst_fifo0_next,"]) + AS_ECHO([" dst_fifo0_bits,"]) + AS_ECHO([" ${dst_fifo_shift},"]) + AS_ECHO([" dst_raw0,"]) + AS_ECHO([" dst_order);"]) if test $scale = _d_; then - $as_echo "" - $as_echo " /* shift the destination secondary FIFO: */" - $as_echo " TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned," - $as_echo " dst_fifo1," - $as_echo " dst_fifo1_next," - $as_echo " dst_fifo1_bits," - $as_echo " ${dst_fifo_shift}," - $as_echo " dst_raw1," - $as_echo " dst_order);" + AS_ECHO([""]) + AS_ECHO([" /* shift the destination secondary FIFO: */"]) + AS_ECHO([" TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned,"]) + AS_ECHO([" dst_fifo1,"]) + AS_ECHO([" dst_fifo1_next,"]) + AS_ECHO([" dst_fifo1_bits,"]) + AS_ECHO([" ${dst_fifo_shift},"]) + AS_ECHO([" dst_raw1,"]) + AS_ECHO([" dst_order);"]) fi fi iter=${iter_next} done - $as_echo "" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" }"]) if test `expr ${iter} % ${dst_unroll}` != 0; then - $as_echo "$PROG internal error - the last iter did not shift the destination FIFOs ($iter and $dst_unroll)" 1>&2 + AS_ECHO(["$PROG internal error - the last iter did not shift the destination FIFOs ($iter and $dst_unroll)"]) 1>&2 exit 1 fi - $as_echo "" - $as_echo " /* if the destination FIFOs may be unaligned, there" - $as_echo " may be bits left in the FIFO that we need to flush: */" - $as_echo " if (dst_fifo0_may_be_unaligned" - $as_echo " && dst_fifo0_bits > 0) {" - $as_echo " dst_fifo0 = *dst_raw0;" - $as_echo " if (dst_order == TME_ENDIAN_BIG) {" - $as_echo " dst_fifo0_next |= (tme_betoh_u32(dst_fifo0) & (0xffffffff >> dst_fifo0_bits));" - $as_echo " dst_fifo0_next = tme_htobe_u32(dst_fifo0_next);" - $as_echo " }" - $as_echo " else {" - $as_echo " dst_fifo0_next |= (tme_letoh_u32(dst_fifo0) & (0xffffffff << dst_fifo0_bits));" - $as_echo " dst_fifo0_next = tme_htole_u32(dst_fifo0_next);" - $as_echo " }" - $as_echo " *dst_raw0 = dst_fifo0;" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* if the destination FIFOs may be unaligned, there"]) + AS_ECHO([" may be bits left in the FIFO that we need to flush: */"]) + AS_ECHO([" if (dst_fifo0_may_be_unaligned"]) + AS_ECHO([" && dst_fifo0_bits > 0) {"]) + AS_ECHO([" dst_fifo0 = *dst_raw0;"]) + AS_ECHO([" if (dst_order == TME_ENDIAN_BIG) {"]) + AS_ECHO([" dst_fifo0_next |= (tme_betoh_u32(dst_fifo0) & (0xffffffff >> dst_fifo0_bits));"]) + AS_ECHO([" dst_fifo0_next = tme_htobe_u32(dst_fifo0_next);"]) + AS_ECHO([" }"]) + AS_ECHO([" else {"]) + AS_ECHO([" dst_fifo0_next |= (tme_letoh_u32(dst_fifo0) & (0xffffffff << dst_fifo0_bits));"]) + AS_ECHO([" dst_fifo0_next = tme_htole_u32(dst_fifo0_next);"]) + AS_ECHO([" }"]) + AS_ECHO([" *dst_raw0 = dst_fifo0;"]) + AS_ECHO([" }"]) if test $scale = _d_; then - $as_echo " if (dst_fifo1_may_be_unaligned" - $as_echo " && dst_fifo1_bits > 0) {" - $as_echo " dst_fifo1 = *dst_raw1;" - $as_echo " if (dst_order == TME_ENDIAN_BIG) {" - $as_echo " dst_fifo1_next |= (tme_betoh_u32(dst_fifo1) & (0xffffffff >> dst_fifo1_bits));" - $as_echo " dst_fifo1_next = tme_htobe_u32(dst_fifo1_next);" - $as_echo " }" - $as_echo " else {" - $as_echo " dst_fifo1_next |= (tme_letoh_u32(dst_fifo1) & (0xffffffff << dst_fifo1_bits));" - $as_echo " dst_fifo1_next = tme_htole_u32(dst_fifo1_next);" - $as_echo " }" - $as_echo " *dst_raw1 = dst_fifo1;" - $as_echo " }" + AS_ECHO([" if (dst_fifo1_may_be_unaligned"]) + AS_ECHO([" && dst_fifo1_bits > 0) {"]) + AS_ECHO([" dst_fifo1 = *dst_raw1;"]) + AS_ECHO([" if (dst_order == TME_ENDIAN_BIG) {"]) + AS_ECHO([" dst_fifo1_next |= (tme_betoh_u32(dst_fifo1) & (0xffffffff >> dst_fifo1_bits));"]) + AS_ECHO([" dst_fifo1_next = tme_htobe_u32(dst_fifo1_next);"]) + AS_ECHO([" }"]) + AS_ECHO([" else {"]) + AS_ECHO([" dst_fifo1_next |= (tme_letoh_u32(dst_fifo1) & (0xffffffff << dst_fifo1_bits));"]) + AS_ECHO([" dst_fifo1_next = tme_htole_u32(dst_fifo1_next);"]) + AS_ECHO([" }"]) + AS_ECHO([" *dst_raw1 = dst_fifo1;"]) + AS_ECHO([" }"]) fi - $as_echo "" - $as_echo " /* loop back to compare more 32-bit words: */" - $as_echo " src_raw0--;" - $as_echo " }" + AS_ECHO([""]) + AS_ECHO([" /* loop back to compare more 32-bit words: */"]) + AS_ECHO([" src_raw0--;"]) + AS_ECHO([" }"]) - $as_echo "" - $as_echo " /* return nonzero iff we did some translating: */" - $as_echo " return (xlat_run >= 0);" + AS_ECHO([""]) + AS_ECHO([" /* return nonzero iff we did some translating: */"]) + AS_ECHO([" return (xlat_run >= 0);"]) - $as_echo "" + AS_ECHO([""]) for macro in ${undef_macros}; do - $as_echo "#undef ${macro}" + AS_ECHO(["#undef ${macro}"]) done - $as_echo "}" + AS_ECHO(["}"]) done done -$as_echo "" -$as_echo "/* the xlat function array: */" -$as_echo "static const struct tme_fb_xlat tme_fb_xlats[[]] = {$xlat_array -};" +AS_ECHO([""]) +AS_ECHO(["/* the xlat function array: */"]) +AS_ECHO(["static const struct tme_fb_xlat tme_fb_xlats[[]] = {$xlat_array};"]) # done: exit 0 -- 2.47.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor