diff options
author | Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> | 2008-12-19 21:15:01 -0200 |
---|---|---|
committer | Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> | 2008-12-19 21:15:01 -0200 |
commit | 7f252345c0c6b260c5b37aff98a22679eb5c6c82 (patch) | |
tree | 7267c7e5a1c35cb4791334554fe657a552724eb3 /src/smi.h | |
parent | 6a91bcc111902c45cc75c865893848b7c6c0a0b1 (diff) |
Enable the SMI 501/502 command list interpreter in a "debug" build.
To enable it, set SMI501_CLI_DEBUG to 1 in smi.h, and use
Option "AcellMethod "EXA"
in the Device section of /etc/X11/xorg.conf
This code is enabled mainly for debug purposes. To make if have an
actual performance gain (like when using a sm50x with a "low profile"
"main" processor") it should be required to actually do busy loops
in kernel mode (and hope the costs of context switch will pay it).
In kernel mode it is possible to wait for an interrupt being triggered
when the command list is processed, or when the 2d engine is idle.
This commit should be functional, but, mainly due to debug messages,
should be significantly slower then a build with MI501_CLI_DEBUG
defined to 0.
Diffstat (limited to 'src/smi.h')
-rw-r--r-- | src/smi.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -71,6 +71,7 @@ authorization from the XFree86 Project and Silicon Motion. #define SMI_USE_IMAGE_WRITES 0 #define SMI_USE_VIDEO 1 #define SMI_USE_CAPTURE 1 +#define SMI501_CLI_DEBUG 0 /* * Leaving attempt implementation of an argb cursor using alpha plane @@ -262,6 +263,15 @@ typedef struct structure */ void (*BlockHandler)(int i, pointer blockData, pointer pTimeout, pointer pReadMask); +#ifdef SMI501_CLI_DEBUG + /* SMI 501/502 Command List Interpreter */ + Bool batch_active; + int64_t *batch_handle; /* Virtual address */ + int batch_offset; /* Physical smi 501 address */ + int batch_length; /* Length in 8 byte units */ + int batch_finish; /* Last finish command offset */ + int batch_index; +#endif } SMIRec, *SMIPtr; #define SMIPTR(p) ((SMIPtr)((p)->driverPrivate)) |