Making drawing functions available to userland

From: Antonino Daplas <hidden>
Date: 2002-05-30 19:05:23

Hi again,

In my other e-mail, I touched on the possibility of exporting the
drawing functions to userspace.  Actually, I was delving a little on
that.  I added 3 IOCTLS (FBIO_DOACCEL, FBIO_GETCAPABILITIES, and
FBIOSYNC) to the fb API (2.5.19) whose main functions are to describe
the drawing capability of the driver and making them accessible to
userland.  To test that, I added XAA and DGA to XFree86 fbdev and
fbdevhw driver. Here's a part of the XFree86 log:

<<< cut >>>
 (**) FBDEV(0): Enabling Acceleration
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/X11R6/lib/modules/libxaa.a
(II) Module xaa: vendor="The XFree86 Project"
	compiled for 4.2.0, module version = 1.0.0
	ABI class: XFree86 Video Driver, version 0.5
(II) FBDEV(0): Using fillrect for SolidFill.
(II) FBDEV(0): Using copyarea for ScreenToScreenCopy.
(II) FBDEV(0): Using imageblit for Mono8x8PatternFill.
(II) FBDEV(0): Using XFree86 Acceleration Architecture (XAA)
	Screen to screen bit blits
	Solid filled rectangles
	8x8 mono pattern filled rectangles
	Solid Horizontal and Vertical Lines
<<< cut >>>

I'm not really going to push for this since I already recognize a few
difficulties.  Firstly, making the drawing functions accessible will
increase the likelihood of crashing the kernel.  Secondly, people might
not remain contented and add more functionality increasing kernel bloat.

Anyways, any thoughts on this?

Tony
---------------------------------------------------------------------

PS: A few benchmarks...

XFBDev - no accel
=================

36000 reps @   0.1407 msec (  7110.0/sec): 100x100 rectangle

18000 reps @   0.3206 msec (  3120.0/sec): 100x100 opaque stippled
rectangle (8x8 stipple)

32000 reps @   0.1713 msec (  5840.0/sec): Copy 100x100 from window to
window

XFBDev - accel
==============

144000 reps @   0.0422 msec ( 23700.0/sec): 100x100 rectangle

18000 reps @   0.3010 msec (  3320.0/sec): 100x100 opaque stippled
rectangle (8x8 stipple)

80000 reps @   0.1026 msec (  9750.0/sec): Copy 100x100 from window to
window

native i810_drv
===============

144000 reps @   0.0428 msec ( 23300.0/sec): 100x100 rectangle

144000 reps @   0.0429 msec ( 23300.0/sec): 100x100 opaque stippled
rectangle (8x8 stipple)

80000 reps @   0.1060 msec (  9430.0/sec): Copy 100x100 from window to
window





_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help