Browse Prior Art Database

Fast X Window Geometry Binds using Correlators in FIFO Command Elements

IP.com Disclosure Number: IPCOM000108403D
Original Publication Date: 1992-May-01
Included in the Prior Art Database: 2005-Mar-22
Document File: 1 page(s) / 74K

Publishing Venue

IBM

Related People

Wiseman, G: AUTHOR [+2]

Abstract

This disclosure addresses the following performance problems: Different rendering applications share the graphics hardware through the virtualization of the graphics hardware using an algorithm called context switching. There is one exceptional class of applications for which this is not true: X applications. The X server maintains a single context and services each application's drawing commands using a single virtual FIFO. The X server switches between the applications by making a bind() graphics kernel function call. For good performance with more than one X application rendering at a time, bind must be very fast. Clipping and correct pixel interpretation at the window level are accomplished using the hardware window ID's on this hardware.

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

Fast X Window Geometry Binds using Correlators in FIFO Command Elements

      This disclosure addresses the following performance problems:
Different rendering applications share the graphics hardware through
the virtualization of the graphics hardware using an algorithm called
context switching.  There is one exceptional class of applications
for which this is not true: X applications.  The X server maintains a
single context and services each application's drawing commands using
a single virtual FIFO.  The X server switches between the
applications by making a bind() graphics kernel function call.  For
good performance with more than one X application rendering at a
time, bind must be very fast.  Clipping and correct pixel
interpretation at the window level are accomplished using the
hardware window ID's on this hardware.  A bind may require changing
the data in the window ID planes since the new window geometry will
be used to render.  Also, changing the window geometry may change
which window ID is currently associated with the current context.  It
will also change the X contexts origin, and its extents.  Previously,
to update the contexts window ID and set the window origin and
extents, one put these commands into a priority command buffer.  This
approach, however, requires that the X servers FIFO be drained first,
since the rendering commands about to be sent need to take into
account the new WID origin, and extents.  FIFO draining is very time
consuming.

      The new method described below provides a solution to...