Build Macros
Build macros can be defined to
control the compiling process of VortexGE. The easiest way is to define
those macros inside <vbtypes.h>, since this file is included by
all other files. These are the build macros that can be used
(categorized by function) :
1.
Selecting video system
:
__USE_X11_VIDEO__
define this macro to compile the video
environment with the X Window system. For now this is the only video
system supported. If this macro is not defined, VortexGE will not
compile.
__USE_RGB16_555__
define this macro if the R5G5B5 format
for 16 bpp graphics is needed, otherwise VortexGE will use R5G6B5 as
the format.
2.
Selecting audio system
:
__USE_DMY_AUDIO__
define this macro to compile the audio
environment with dummy (NULL) audio system.
__USE_DSP_AUDIO__
define this macro to compile the audio
environment with direct access to /dev/dsp. For now this is the only
sound system supported.
If none of those macros is defined, VortexGE will not compile. If more
than one macros are defined, the preceding macro in above list will
take the priority.
3.
Selecting appropriate
optimizations :
__USE_QW_MEMOPS__
if _USE_ASM_ is undefined, define this
macro to use the (maybe) faster QWORD memory transfer in
<fastmem.h> otherwise the standard DWORD memory transfer should
be used. If _USE_ASM_ is defined, this macro will have no effect.
__USE_ASM__
define this macro to use inline
assembly for performance optimization. Once this macro is defined, it
can be finely tuned for some specific processor using these macros :
__USE_MMX__ |
:
|
to utilize MMX |
__USE_SSE__ |
:
|
to utilize SSE and MMX |
__USE_SSE2__ |
:
|
to utilize SSE2, SSE, and MMX |
- If none of those macros are defined, plain 32-bit x86 assembly
should be used.
- Note that if your computer support SSE or SSE2, you should use
them instead of MMX. On these computers some MMX operations, such as
memory operations defined in <fastmem.h>, may perform even slower
than plain 32-bit x86 assembly.
- For SSE memory operations defined in <fastmem.h>, there
is one
more
option :
- __USE_ALIGNED_MEMOPS__
by using this, you may gain more speed with memory operations defined
in <fastmem.h>, however, the memory address used must be aligned
to a 16-byte boundary or a segmentation fault will be occurred.
4.
Other macros :
__USE_COLORED_MESSAGES__
define this macro to colorize
the output of all message functions declared in <vmdisp.h>
otherwise the standard B/W output should be used.
Main Index