Browse Prior Art Database

Hardware Priority Windows without Window ID Planes

IP.com Disclosure Number: IPCOM000104474D
Original Publication Date: 1993-Apr-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 48K

Publishing Venue

IBM

Related People

Lawless, W: AUTHOR

Abstract

In X Window systems, the use of window ID planes is one way to clip or throw away pixel data that is written outside the current window. This method is undesirable because it is slow. Window ID planes must be read into the raster engine and then writes to frame buffers done based on the window ID that is read. Also, this method is a big performance problem when software has to spend a lot of time maintaining the window ID planes. When hardware clipping is used it takes many clipping windows to do the same job and this is very costly in chip real estate and gates. This article will describe how to accomplish the same thing with fewer clipping windows using a priority scheme. The priority bits are also output from the raster engine and are used as a buffer select in a double buffer system.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 95% of the total text.

Hardware Priority Windows without Window ID Planes

      In X Window systems, the use of window ID planes is one way to
clip or throw away pixel data that is written outside the current
window.  This method is undesirable because it is slow.  Window ID
planes must be read into the raster engine and then writes to frame
buffers done based on the window ID that is read.  Also, this method
is a big performance problem when software has to spend a lot of time
maintaining the window ID planes.  When hardware clipping is used it
takes many clipping windows to do the same job and this is very
costly in chip real estate and gates.  This article will describe how
to accomplish the same thing with fewer clipping windows using a
priority scheme.  The priority bits are also output from the raster
engine and are used as a buffer select in a double buffer system.

      First, Fig. 1 is an example of the number of clipping windows
needed to accomplish these two windows.  This takes 4 clipping
windows to do this, and set draw on for windows 1, 2, and 4; do not
draw in 3.  Now, the same thing using a priority scheme (Fig. 2).

      Along with each window having the bounding corners they also
have a priority and a DRAW/NO DRAW BIT associated with them.  When a
pixel is to be drawn if it falls in window B only and the draw bit is
set on then pixel is drawn.  When a pixel falls in both window A and
B then the priority is checked and if A is greater than B then the
pixel...