Accelerated Blitting under X11?

Dnia 2003.01.16 09:17 Clemens Kirchgatterer napisa?(a):

Pallav Nawani wrote:

  1. Use SDL with openGL. That way if you have installed nvidia
    driver, your code will run very fast. But you will now have to
    use openGL stuff, and usual SDL Blitting functions should be
    avoided.

i thought, the whole point of using glSDL is to map sdl blittings to
gl
transparently. so one could get gl hardware support without gl
knoledge.

please correct me, if i’m wrong.

And what with case that someone hasn’t gl accel. card ?
How make access to DGA without root ?

In my case I can create HW surfaces only as root (DGA output) , and
have HW to HW accel. blits. !

I think that “wine” give souch access by write privileges to /dev/mem
but when I try this method witg SDL I fail.

Rafal----------------------------------------------------------------------
Bezplatne przelewy do ZUS i US. Tylko mBIZNES Konto.

http://link.interia.pl/f16bd

Rafa? Bursig wrote:

Dnia 2003.01.16 09:17 Clemens Kirchgatterer napisa?(a):

Pallav Nawani wrote:

  1. Use SDL with openGL. That way if you have installed nvidia
    driver, your code will run very fast. But you will now have to
    use openGL stuff, and usual SDL Blitting functions should be
    avoided.

i thought, the whole point of using glSDL is to map sdl blittings to
gl transparently. so one could get gl hardware support without gl
knowledge.

please correct me, if i’m wrong.

And what with case that someone hasn’t gl accel. card ?

then, AFAIK, software rendering via MESA will get used, which is for
sure even slower then software blits via native sdl.

How make access to DGA without root ?

this is the job of the drm kernel module, IMHO.

In my case I can create HW surfaces only as root (DGA output) , and
have HW to HW accel. blits. !

but you can also start hardware accelerated GL apps as normal user.

clemens

Dnia 2003.01.16 10:00 Clemens Kirchgatterer napisa?(a):

Rafa? Bursig <@Rafal_Bursig> wrote:

Dnia 2003.01.16 09:17 Clemens Kirchgatterer napisa?(a):

Pallav Nawani wrote:

  1. Use SDL with openGL. That way if you have installed nvidia
    driver, your code will run very fast. But you will now have to
    use openGL stuff, and usual SDL Blitting functions should be
    avoided.

i thought, the whole point of using glSDL is to map sdl blittings
to gl transparently. so one could get gl hardware support without
gl

knowledge.

please correct me, if i’m wrong.

And what with case that someone hasn’t gl accel. card ?

then, AFAIK, software rendering via MESA will get used, which is for
sure even slower then software blits via native sdl.

mouch slower !

How make access to DGA without root ?

this is the job of the drm kernel module, IMHO.

IMHO drm modules need card code ( Banshee, Rage , etc ) and what with
older PCI cards ?

In my case I can create HW surfaces only as root (DGA output) , and
have HW to HW accel. blits. !

but you can also start hardware accelerated GL apps as normal user.

Of corse If I have card with suppot GL !

For now look on this numbers : ( P250MMX(overclock.), 128MB, PCI tseng
ET6000 with 4MB )
“testsprite” program come from glSDL-0.3

user : X11 output ( fullscreen/windowed )
~60 frame/s ( sw to sw )

root : DGA output ( fullscreen 640x480 )
~200 frame/s (hw to hw without doublebuffer )
~80 frame/s ( sw to sw )

root: GL
~5 frame/s

Rafal----------------------------------------------------------------------
Poczta nowych mozliwosci >>> http://link.interia.pl/f16bc

Rafa? Bursig wrote:

And what with case that someone hasn’t gl accel. card ?

then, AFAIK, software rendering via MESA will get used, which is for
sure even slower then software blits via native sdl.

mouch slower !

How make access to DGA without root ?

this is the job of the drm kernel module, IMHO.

IMHO drm modules need card code ( Banshee, Rage , etc ) and what with
older PCI cards ?

In my case I can create HW surfaces only as root (DGA output) ,
and have HW to HW accel. blits. !

but you can also start hardware accelerated GL apps as normal user.

Of corse If I have card with suppot GL !

but what is your point here? i never said otherwise. my original
statement is still:

i thought, the whole point of using glSDL is to map sdl
blittings to gl transparently. so one could get gl hardware
support without gl knowledge.

please correct me, if i’m wrong.

clemens

I have not used GL at all. I want to know that how would it compare with SDL
for
- individual pixel value assignment on 1024x1024 surface at high update
rate.
- 2D colorkey blitting of 1024x1024 surfaces
No 3D stuff in this application.

I have a hunch that the GL pipeline is optimized for the 3D architecture and
individual pixel writes on such a large scale would slow things down. Am I
right or is this otherwise?

  • sandra> ----- Original Message -----

From: clemens@thf.ath.cx (Clemens Kirchgatterer)
To:
Sent: Thursday, January 16, 2003 1:00 AM
Subject: Re: [SDL] Accelerated Blitting under X11?

Rafa? Bursig wrote:

Dnia 2003.01.16 09:17 Clemens Kirchgatterer napisa?(a):

Pallav Nawani wrote:

  1. Use SDL with openGL. That way if you have installed nvidia
    driver, your code will run very fast. But you will now have to
    use openGL stuff, and usual SDL Blitting functions should be
    avoided.

i thought, the whole point of using glSDL is to map sdl blittings to
gl transparently. so one could get gl hardware support without gl
knowledge.

please correct me, if i’m wrong.

And what with case that someone hasn’t gl accel. card ?

then, AFAIK, software rendering via MESA will get used, which is for
sure even slower then software blits via native sdl.

How make access to DGA without root ?

this is the job of the drm kernel module, IMHO.

In my case I can create HW surfaces only as root (DGA output) , and
have HW to HW accel. blits. !

but you can also start hardware accelerated GL apps as normal user.

clemens


SDL mailing list
SDL at libsdl.org
http://www.libsdl.org/mailman/listinfo/sdl

Dnia 2003.01.16 10:59 Clemens Kirchgatterer napisa?(a):

Rafa? Bursig <@Rafal_Bursig> wrote:

And what with case that someone hasn’t gl accel. card ?

then, AFAIK, software rendering via MESA will get used, which is
for

sure even slower then software blits via native sdl.

mouch slower !

How make access to DGA without root ?

this is the job of the drm kernel module, IMHO.

IMHO drm modules need card code ( Banshee, Rage , etc ) and what
with older PCI cards ?

In my case I can create HW surfaces only as root (DGA output) ,
and have HW to HW accel. blits. !

but you can also start hardware accelerated GL apps as normal
user.

Of corse If I have card with suppot GL !

but what is your point here? i never said otherwise. my original
statement is still:

i thought, the whole point of using glSDL is to map sdl
blittings to gl transparently. so one could get gl hardware
support without gl knowledge.

please correct me, if i’m wrong.

You are correct only with case when video card has support for this in
Linux.
For now IMHO only NVIDIA and ATI card ( binary drivers ) family give
you support but there are others card.

OpenGL is very good solution but don’t work in some cases.

What should be done to have DGA acces as normal user or How get hw
blits accelerations as normal user ( without OpenGL ) ?

My X give me msg. in log :

(WW) System lacks support for changing MTRRs
(II) TSENG(0): Available off-screen memory: 3226112 bytes.
(II) TSENG(0): Remaining off-screen memory available for pixmap cache:
3221540 bytes.
(II) TSENG(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
Indirect CPU to Screen color expansion
Screen to Screen color expansion
Solid Horizontal and Vertical Lines
(==) TSENG(0): Silken mouse enabled

How use it with SDL ?
How use it with SDL as normal user ?

Rafal----------------------------------------------------------------------
Poczta nowych mozliwosci >>> http://link.interia.pl/f16bc

Dnia 2003.01.16 10:59 Clemens Kirchgatterer napisa?(a):
Indirect CPU to Screen color expansion
Screen to Screen color expansion
Solid Horizontal and Vertical Lines
(==) TSENG(0): Silken mouse enabled

How use it with SDL ?
How use it with SDL as normal user ?

Rafal

  1. You can’t use DGA as a normal user.
  2. If you can’t use OpenGL, then you need to install libraries
    like svgalib/GGI (allegro?/clanlib?) and recompile SDL with
    support for these libraries enabled. Then using svgalib etc as a
    driver, you can get a better performance.
    (Note: I haven’t tried it, but it’s supposed to work that way
    ;-))

Btw, I looked at your sdl client for freeciv. It looks really
good. I wanted to learn how you did it. It there any
documentation?On Thu, 16 Jan 2003, [iso-8859-1] Rafa? Bursig wrote:

regards,
Pallav.


In case of fire, stand in the hall and shout “Fire!”
– The Kidner Report


| |
|Pallav Nawani |
|Sasken Communication Technologies Ltd. |
|Domlur, Bangalore. |
|_______________________________________________________________|