aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/include
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-10-30 23:52:44 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-10-30 23:52:44 +0100
commit6b3080d547ff63c9d6d8e08d9133c4e47d98ed39 (patch)
treec0413fcad46ac80edee6b62ee1807a6b3c87f2f6 /nx-X11/programs/Xserver/include
parent23c66f400e52f9f98213fdd88cd77072c05c3e63 (diff)
parentb99c7872177bd22bfa182559f18cd77987382a36 (diff)
downloadnx-libs-6b3080d547ff63c9d6d8e08d9133c4e47d98ed39.tar.gz
nx-libs-6b3080d547ff63c9d6d8e08d9133c4e47d98ed39.tar.bz2
nx-libs-6b3080d547ff63c9d6d8e08d9133c4e47d98ed39.zip
Merge branch 'sunweaver-pr/drop-mfb-maskbits-h' into 3.6.x
Attributes GH PR #266: https://github.com/ArcticaProject/nx-libs/pull/266
Diffstat (limited to 'nx-X11/programs/Xserver/include')
-rw-r--r--nx-X11/programs/Xserver/include/servermd.h164
1 files changed, 5 insertions, 159 deletions
diff --git a/nx-X11/programs/Xserver/include/servermd.h b/nx-X11/programs/Xserver/include/servermd.h
index 7652964d0..27b5a8fb9 100644
--- a/nx-X11/programs/Xserver/include/servermd.h
+++ b/nx-X11/programs/Xserver/include/servermd.h
@@ -49,6 +49,11 @@ SOFTWARE.
#define SERVERMD_H 1
/*
+ * Note: much of this is vestigial from mfb/cfb times. This should
+ * really be simplified even further.
+ */
+
+/*
* Machine dependent values:
* GLYPHPADBYTES should be chosen with consideration for the space-time
* trade-off. Padding to 0 bytes means that there is no wasted space
@@ -62,62 +67,6 @@ SOFTWARE.
* kept separate from this. See server/include/font.h for how
* GLYPHPADBYTES is used.
*
- * Along with this, you should choose an appropriate value for
- * GETLEFTBITS_ALIGNMENT, which is used in ddx/mfb/maskbits.h. This
- * constant choses what kind of memory references are guarenteed during
- * font access; either 1, 2 or 4, for byte, word or longword access,
- * respectively. For instance, if you have decided to to have
- * GLYPHPADBYTES == 4, then it is pointless for you to have a
- * GETLEFTBITS_ALIGNMENT > 1, because the padding of the fonts has already
- * guarenteed you that your fonts are longword aligned. On the other
- * hand, even if you have chosen GLYPHPADBYTES == 1 to save space, you may
- * also decide that the computing involved in aligning the pointer is more
- * costly than an odd-address access; you choose GETLEFTBITS_ALIGNMENT == 1.
- *
- * Next, choose the tuning parameters which are appropriate for your
- * hardware; these modify the behaviour of the raw frame buffer code
- * in ddx/mfb and ddx/cfb. Defining these incorrectly will not cause
- * the server to run incorrectly, but defining these correctly will
- * cause some noticeable speed improvements:
- *
- * AVOID_MEMORY_READ - (8-bit cfb only)
- * When stippling pixels on the screen (polytext and pushpixels),
- * don't read long words from the display and mask in the
- * appropriate values. Rather, perform multiple byte/short/long
- * writes as appropriate. This option uses many more instructions
- * but runs much faster when the destination is much slower than
- * the CPU and at least 1 level of write buffer is availible (2
- * is much better). Defined currently for SPARC and MIPS.
- *
- * FAST_CONSTANT_OFFSET_MODE - (cfb and mfb)
- * This define is used on machines which have no auto-increment
- * addressing mode, but do have an effectively free constant-offset
- * addressing mode. Currently defined for MIPS and SPARC, even though
- * I remember the cg6 as performing better without it (cg3 definitely
- * performs better with it).
- *
- * LARGE_INSTRUCTION_CACHE -
- * This define increases the number of times some loops are
- * unrolled. On 68020 machines (with 256 bytes of i-cache),
- * this define will slow execution down as instructions miss
- * the cache frequently. On machines with real i-caches, this
- * reduces loop overhead, causing a slight performance improvement.
- * Currently defined for MIPS and SPARC
- *
- * FAST_UNALIGNED_READS -
- * For machines with more memory bandwidth than CPU, this
- * define uses unaligned reads for 8-bit BitBLT instead of doing
- * aligned reads and combining the results with shifts and
- * logical-ors. Currently defined for 68020 and vax.
- * PLENTIFUL_REGISTERS -
- * For machines with > 20 registers. Currently used for
- * unrolling the text painting code a bit more. Currently
- * defined for MIPS.
- * SHARED_IDCACHE -
- * For non-Harvard RISC machines, those which share the same
- * CPU memory bus for instructions and data. This unrolls some
- * solid fill loops which are otherwise best left rolled up.
- * Currently defined for SPARC.
*/
#ifdef vax
@@ -125,8 +74,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER LSBFirst /* Values for the VAX only */
#define BITMAP_BIT_ORDER LSBFirst
#define GLYPHPADBYTES 1
-#define GETLEFTBITS_ALIGNMENT 4
-#define FAST_UNALIGNED_READS
#endif /* vax */
@@ -145,9 +92,6 @@ SOFTWARE.
# endif
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-#define LARGE_INSTRUCTION_CACHE
-#define AVOID_MEMORY_READ
#endif /* __arm32__ */
@@ -167,9 +111,6 @@ SOFTWARE.
# endif
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-#define LARGE_INSTRUCTION_CACHE
-#define AVOID_MEMORY_READ
#endif /* __aarch64__ */
@@ -178,12 +119,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4 /* to make fb work */
-#define GETLEFTBITS_ALIGNMENT 1 /* PA forces longs to 4 */
- /* byte boundries */
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
#endif /* hpux || __hppa__ */
@@ -192,20 +127,12 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
/* XXX Should this be for Lynx only? */
#ifdef Lynx
#define BITMAP_SCANLINE_UNIT 8
#endif
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
-#define PLENTIFUL_REGISTERS
-#define AVOID_MEMORY_READ
-
-#define FAST_MEMCPY
-
#endif /* PowerPC */
#if defined(__sh__)
@@ -214,19 +141,12 @@ SOFTWARE.
# define IMAGE_BYTE_ORDER MSBFirst
# define BITMAP_BIT_ORDER MSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#else
# define IMAGE_BYTE_ORDER LSBFirst
# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#endif
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-
#endif /* SuperH */
@@ -248,19 +168,7 @@ SOFTWARE.
# define BITMAP_BIT_ORDER MSBFirst
#endif
-#ifdef sparc
-# define AVOID_MEMORY_READ
-# define LARGE_INSTRUCTION_CACHE
-# define FAST_CONSTANT_OFFSET_MODE
-# define SHARED_IDCACHE
-#endif
-
-#ifdef mc68020
-#define FAST_UNALIGNED_READS
-#endif
-
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif /* sun && !(i386 && SVR4) */
@@ -270,14 +178,7 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the RISC/6000 */
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
-#define PLENTIFUL_REGISTERS
-#define AVOID_MEMORY_READ
-#define FAST_MEMCPY
#endif /* AIXV3 */
#if defined(ibm032) || defined (ibm)
@@ -289,7 +190,6 @@ SOFTWARE.
#endif
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 1
-#define GETLEFTBITS_ALIGNMENT 4
/* ibm pcc doesn't understand pragmas. */
#ifdef i386
@@ -303,9 +203,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst /* Values for Pegasus only */
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-#define FAST_UNALIGNED_READS
#endif /* tektronix */
@@ -314,9 +211,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the MacII only */
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-
-/* might want FAST_UNALIGNED_READS for frame buffers with < 1us latency */
#endif /* macII */
@@ -326,19 +220,12 @@ SOFTWARE.
# define IMAGE_BYTE_ORDER LSBFirst /* Values for the PMAX only */
# define BITMAP_BIT_ORDER LSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#else
# define IMAGE_BYTE_ORDER MSBFirst /* Values for the MIPS only */
# define BITMAP_BIT_ORDER MSBFirst
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
#endif
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
-
#endif /* mips */
#if defined(__alpha) || defined(__alpha__) || defined(__alphaCross)
@@ -355,10 +242,6 @@ SOFTWARE.
# endif
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
-# define FAST_CONSTANT_OFFSET_MODE
-# define LARGE_INSTRUCTION_CACHE
-# define PLENTIFUL_REGISTERS
#endif /* alpha */
@@ -367,14 +250,8 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#define BITMAP_SCANLINE_UNIT 8
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
-#define FAST_UNALIGNED_READ
-
-#define FAST_MEMCPY
#endif /* linux/s390 */
@@ -383,14 +260,9 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#define BITMAP_SCANLINE_UNIT 8
-#define LARGE_INSTRUCTION_CACHE
-#define FAST_CONSTANT_OFFSET_MODE
-#define FAST_UNALIGNED_READ
-#define FAST_MEMCPY
#endif /* linux/s390x */
@@ -408,10 +280,6 @@ SOFTWARE.
# endif
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
-# define FAST_CONSTANT_OFFSET_MODE
-# define LARGE_INSTRUCTION_CACHE
-# define PLENTIFUL_REGISTERS
#endif /* ia64 */
@@ -429,11 +297,7 @@ SOFTWARE.
# endif
# define GLYPHPADBYTES 4
-# define GETLEFTBITS_ALIGNMENT 1
-# define LARGE_INSTRUCTION_CACHE
-# define FAST_CONSTANT_OFFSET_MODE
/* ???? */
-# define FAST_UNALIGNED_READS
#endif /* AMD64 */
#ifdef stellar
@@ -441,7 +305,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the stellar only*/
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 4
#define IMAGE_BUFSIZE (64*1024)
/*
* Use SysV random number generator.
@@ -455,13 +318,8 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst /* Values for the OMRON only*/
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#ifndef mc68000
-#define FAST_CONSTANT_OFFSET_MODE
-#define AVOID_MEMORY_READ
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
#endif
#endif /* luna */
@@ -496,12 +354,8 @@ SOFTWARE.
#define GLYPHPADBYTES 4
#endif
-#define GETLEFTBITS_ALIGNMENT 1
-#define AVOID_MEMORY_READ
#ifdef XSVGA
#define AVOID_GLYPHBLT
-#define FAST_CONSTANT_OFFSET_MODE
-#define FAST_MEMCPY
#define NO_ONE_RECT
#endif
@@ -511,9 +365,7 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
-#define FAST_UNALIGNED_READS
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif /* linux/m68k */
@@ -522,11 +374,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER MSBFirst
#define BITMAP_BIT_ORDER MSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
-#define AVOID_MEMORY_READ
-#define FAST_CONSTANT_OFFSET_MODE
-#define LARGE_INSTRUCTION_CACHE
-#define PLENTIFUL_REGISTERS
#endif
@@ -535,7 +382,6 @@ SOFTWARE.
#define IMAGE_BYTE_ORDER LSBFirst
#define BITMAP_BIT_ORDER LSBFirst
#define GLYPHPADBYTES 4
-#define GETLEFTBITS_ALIGNMENT 1
#endif
/* size of buffer to use with GetImage, measured in bytes. There's obviously