Software Screen to Screen BitBlt Acceleration GRADD filter, r0.0.2

Copyright (c) 2001 Takayuki 'January June' Suwa / Beliefia Productions

0. Table of Contents



1. Welcome

SSSBBACC.DLL is a small filter GRADD driver that can intercept some sort of 'Screen to Screen' BitBlt software emulation responses from GHI layer and will process such responses using its own faster blitter. This simple, assembler-coded, MMX / SSEint-ready blitter is heavy optimized for uncached memory reads and write-combined memory writes, in order to eliminate unnecessary and much slower peripheral bus cycles as much as possible.
Typically, such slower software BitBlts may speed up to x1.5 ~ x2.5. Highly recommended for GENGRADD / poor-accelerated GHI (such as M64GRADD in 24bpp) users.

1.1. Copyright and Disclaimer

  1. 'THIS SOFTWARE (SSSBBACC.DLL) AND WHOLE SET OF DOCUMENTS' (CALLED 'THE PRODUCT') ARE ENTIRELY COPYRIGHTED BY TAKAYUKI 'JANUARY JUNE' SUWA/BELIEFIA PRODUCTIONS, AUTHOR/HOLDER OF THE PRODUCT.
  2. THE PRODUCT IS STILL UNDER DEVELOPMENT AT THE DISTRIBUTION, AND MAY BE OCCURED ANY MODIFICATION / DELETION OF APPEARANCE / FUNCTION OR TERMINATION OF DEVELOPMENT/SERVICE IN FUTURE WITHOUT NOTICE.
  3. THE PRODUCT IS PROVIDED 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  4. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DAMAGES, WHETHER IN CONTRACT OR TORT (INCLUDED NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, EVEN THOUGH SUCH HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF ANY DAMAGE.
We are regarded you agree disclaimer above at the first installation of SSSBBACC.DLL. If you disagree above, you must discard all files of the product.

1.2. System Requirements

This software will be functioned in environment such as:

1.3. Contact Author

Email to Takayuki 'January June' Suwa:

1.4. Revision History



2. How to Use


2.1. In This Archive

SSSBBACC.dll
Software Screen to Screen BitBlt Acceleration GRADD filter driver file
README.htm
This document
source\*
Source code set of SSSBBACC.dll
source\fromIBM\*.h
Some C/C++ header files from DDK

2.2. Driver Installation

  1. Unzip archive to where you desire. (e.g. C:\SSSBBACC)
  2. Copy SSSBBACC.DLL to where LIBPATH reaches. (e.g. C:\OS2\DLL)
  3. Find similar line
    SET C1=GRADD1,GRADD2,GRADD3
    from your CONFIG.SYS and append 'SSSBBACC' to it. For example:
    SET C1=GRADD1,GRADD2,GRADD3,SSSBBACC
  4. Optionally (but highly recommended), cast write-combining strategy to VRAM aperture.
  5. Restart your system.
  6. Check GRADD.LOG on \OS2\INSTALL directory on boot drive. If installation successfully, you will see such as:
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module GRADD1 loaded successfully
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module GRADD2 loaded successfully
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module GRADD3 loaded successfully
    yyyymmddThhmmss VMAN:ProcessGraddList(): Module SSSBBACC loaded successfully

2.3. Configuration

  1. In default, SSSBBACC.DLL will detect MMX / SSEint and try to use them automatcally:
  2. In order not to use MMX or SSEint, set some environment variables in CONFIG.SYS, with dummy value:
    SSSBBACC_NOSSEINT
    inhibits using SSEint
    SSSBBACC_NOMMX
    inhibits using MMX

2.4. Before and After

Sample case (our developping environment): SysBench 'BitBlt S->S Copy' results:
ATI Mach64 GRADD [M64GRADD] (ill-slowed 24bpp left-to-right S2S BitBlt)
24bpp : 1.501 to 4.161 million pixels/second (x2.77 faster)
SVGA Generic GRADD [GENGRADD] (totally software processing)
8bpp : 4.616 to 11.551 million pixels/second (x2.50 faster)
16bpp : 2.548 to 5.660 million pixels/second (x2.22 faster)
24bpp : 1.471 to 3.687 million pixels/second (x2.51 faster)


3. Credits

Development
Programming
Takayuki 'January June' Suwa / Beliefia Productions
Documentation
Takayuki 'January June' Suwa / Beliefia Productions
Special thanks to
Masaharu 'Densuke' Nagata
He allowed me to replicate WARP4 Developer's Toolkit UNDER LEGAL LICENSE. Thanks a lot.


Copyright 2001 Takayuki 'January June' Suwa / Beliefia Productions. All rights reserved.
Beliefia Productions and its logo design are trademarks of Beliefia Productions. All rights reserved.
Other copyrighted works(images, musics, programs, and so on), trademarks and servicemarks in this document are owned by their respective owners.

[This document is HTML3.2(Wilbur)-compliant.]