pkgsrc/emulators/tme/patches/patch-aa
skrll 2526dad9fe Import of tme 0.2
The Machine Emulator, or tme, is a program that provides a general-
purpose framework for computer emulation. The first machine that tme
could emulate was the Sun 2/120, one of the first widely available Sun
workstations.
2004-01-23 08:21:54 +00:00

131 lines
6 KiB
Text

$NetBSD: patch-aa,v 1.1.1.1 2004/01/23 08:21:59 skrll Exp $
--- generic/fb-xlat-auto.sh.orig Mon Sep 29 12:42:56 2003
+++ generic/fb-xlat-auto.sh
@@ -1905,50 +1905,82 @@ for src_key in ${src_all}; do
echo " : ${dst_shift}));"
echo ""
- echo " /* put the pixel into both FIFOs again. if"
- echo " dst_bipp is 24 or greater, the FIFOs can"
- echo " not entirely take these further pixels,"
- echo " so we need to shift: */"
- echo " if (dst_bipp >= 24) {"
- echo " TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned,"
- echo " dst_fifo0,"
- echo " dst_fifo0_next,"
- echo " dst_fifo0_bits,"
- echo " dst_bipp,"
- echo " dst_raw0,"
- echo " dst_order);"
- echo " TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned,"
- echo " dst_fifo1,"
- echo " dst_fifo1_next,"
- echo " dst_fifo1_bits,"
- echo " dst_bipp,"
- echo " dst_raw1,"
- echo " dst_order);"
- echo " dst_fifo0 |="
- echo " (pixel"
- echo " << (dst_order == TME_ENDIAN_BIG"
- echo " ? ((32 - dst_bipp) - ${dst_shift})"
- echo " : ${dst_shift}));"
- echo " dst_fifo1 |="
- echo " (pixel"
- echo " << (dst_order == TME_ENDIAN_BIG"
- echo " ? ((32 - dst_bipp) - ${dst_shift})"
- echo " : ${dst_shift}));"
- echo " }"
- echo ""
- echo " /* otherwise, the FIFOs can take these further pixels: */"
- echo " else {"
- echo " dst_fifo0 |="
- echo " (pixel"
- echo " << (dst_order == TME_ENDIAN_BIG"
- echo " ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))"
- echo " : (${dst_shift} + dst_bipp)));"
- echo " dst_fifo1 |="
- echo " (pixel"
- echo " << (dst_order == TME_ENDIAN_BIG"
- echo " ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))"
- echo " : (${dst_shift} + dst_bipp)));"
- echo " }"
+ if test `expr ${dst_bipp} \>= 24` = 1; then
+ echo " /* put the pixel into both FIFOs again. in"
+ echo " this case, dst_bipp is known to be ${dst_bipp},"
+ echo " meaning the FIFOs cannot entirely take these"
+ echo " further pixels, so we need to shift the FIFOs: */"
+ indent0=""
+ indent1=X
+ elif test ${dst_bipp} = 0; then
+ echo " /* put the pixel into both FIFOs again. if"
+ echo " dst_bipp is 24 or greater, the FIFOs can"
+ echo " not entirely take these further pixels,"
+ echo " so we need to shift the FIFOs: */"
+ echo " if (dst_bipp >= 24) {"
+ indent0=" "
+ indent1=" "
+ else
+ echo " /* put the pixel into both FIFOs again. in"
+ echo " this case, dst_bipp is known to be ${dst_bipp},"
+ echo " meaning the FIFOs can take these further pixels"
+ echo " without shifting the FIFOs, as long as we shift"
+ echo " the pixels one pixel further: */"
+ indent0=X
+ indent1=""
+ fi
+ if test "X${indent0}" != "XX"; then
+ echo "${indent0} TME_FB_XLAT_SHIFT_DST(dst_fifo0_may_be_unaligned,"
+ echo "${indent0} dst_fifo0,"
+ echo "${indent0} dst_fifo0_next,"
+ echo "${indent0} dst_fifo0_bits,"
+ echo "${indent0} dst_bipp,"
+ echo "${indent0} dst_raw0,"
+ echo "${indent0} dst_order);"
+ echo "${indent0} TME_FB_XLAT_SHIFT_DST(dst_fifo1_may_be_unaligned,"
+ echo "${indent0} dst_fifo1,"
+ echo "${indent0} dst_fifo1_next,"
+ echo "${indent0} dst_fifo1_bits,"
+ echo "${indent0} dst_bipp,"
+ echo "${indent0} dst_raw1,"
+ echo "${indent0} dst_order);"
+ echo ""
+ echo "${indent0} /* now that we've shifted by dst_bipp, we can"
+ echo "${indent0} put the further pixels exactly where the"
+ echo "${indent0} first pixels went in the FIFOs: */"
+ echo "${indent0} dst_fifo0 |="
+ echo "${indent0} (pixel"
+ echo "${indent0} << (dst_order == TME_ENDIAN_BIG"
+ echo "${indent0} ? ((32 - dst_bipp) - ${dst_shift})"
+ echo "${indent0} : ${dst_shift}));"
+ echo "${indent0} dst_fifo1 |="
+ echo "${indent0} (pixel"
+ echo "${indent0} << (dst_order == TME_ENDIAN_BIG"
+ echo "${indent0} ? ((32 - dst_bipp) - ${dst_shift})"
+ echo "${indent0} : ${dst_shift}));"
+ fi
+ if test ${dst_bipp} = 0; then
+ echo " }"
+ echo ""
+ echo " /* otherwise, the FIFOs can take these further pixels,"
+ echo " as long as we shift the pixels one pixel further: */"
+ echo " else {"
+ fi
+ if test "X${indent1}" != "XX"; then
+ echo "${indent1} dst_fifo0 |="
+ echo "${indent1} (pixel"
+ echo "${indent1} << (dst_order == TME_ENDIAN_BIG"
+ echo "${indent1} ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))"
+ echo "${indent1} : (${dst_shift} + dst_bipp)));"
+ echo "${indent1} dst_fifo1 |="
+ echo "${indent1} (pixel"
+ echo "${indent1} << (dst_order == TME_ENDIAN_BIG"
+ echo "${indent1} ? ((32 - dst_bipp) - (${dst_shift} + dst_bipp))"
+ echo "${indent1} : (${dst_shift} + dst_bipp)));"
+ fi
+ if test ${dst_bipp} = 0; then
+ echo " }"
+ fi
fi
echo ""