linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Re: FBdev updates.
@ 2003-03-05 20:31 Petr Vandrovec
  0 siblings, 0 replies; 16+ messages in thread
From: Petr Vandrovec @ 2003-03-05 20:31 UTC (permalink / raw)
  To: James Simmons; +Cc: Antonino Daplas, linux-kernel, Linux Fbdev development list

On  5 Mar 03 at 20:22, James Simmons wrote:
>  
> >   And one (or two...) generic questions: why is not pseudo_palette
> > u32* pseudo_palette, or even directly u32 pseudo_palette[17] ?
> 
> pseudo_palette was originally designed to be a pointer to some kind of 
> data for color register programming. For example many PPC graphics cards 
> have a color register region. Now you could have that point to 
> pseudo_palette.  Note pseudo_palette is only visiable in fbmem.c for the 
> logo drawing code. Personally I liek to see that hidden.

cfbfillrect? cfbimageblit? Both use pseudo_palette, and both convert
it to u32*.
 
> > And why we do not fill this pseudo_palette with
> > i * 0x01010101U for 8bpp pseudocolor and i * 0x11111111U for 4bpp
> > pseudocolor? This allowed me to remove couple of switches and tests
> > from acceleration fastpaths (and from cfb_imageblit and cfb_fillrect,
> > but I did not changed these two in my benchmarks below).
> 
> ??? Does your accel engine require these kinds of values?

Yes. It is 32bit engine, and so it wants 32bit value. And even if 
not, code doing

if (p->fix.visual == FB_VISUAL_TRUECOLOR ||
    p->fix.visual == FB_VISUAL_DIRECTCOLOR)
      fg = p->pseudo_palette[rect->color];
else
      fg = rect->color;

is horrible. Two conditional jumps on each rectangle. If you'll do
always lookup through pseudo_palette, not only that you get rid of
these jumps, you can also remove calls to pixel_to_pat32 (and accompanying
tables & lookups), as you do this expansion at set_var time,
instead of at blit/clear time.
                                            Best regards,
                                                Petr Vandrovec
                                                vandrove@vc.cvut.cz
                                                



-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: FBDEV updates.
@ 2003-08-14 20:52 James Simmons
  2003-08-14 21:57 ` Jon Smirl
  0 siblings, 1 reply; 16+ messages in thread
From: James Simmons @ 2003-08-14 20:52 UTC (permalink / raw)
  To: Otto Solares; +Cc: Linux Kernel Mailing List, Linux Fbdev development list


> what is the current state of PM in fb drivers?

Experinmental patch from Ben is in the works.

> does modedb is being used on 2.6 drivers?

Yes. 

> Is there an API (or lib) to use framebuffers devices without
> worring about differents visuals?, 

??? 

> to quering, setting or
> disabling EDID support? 

Yes. That is the fbmon.c stuff. Still needs work. 

> will these drivers export sysfs
> entries instead of control via ioctl's?

Needs to be done. I'm not familiar with sysfs so it hasn't been done.


> thanks for your work on fb.

Your welcome. 

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [Linux-fbdev-devel] Re: FBdev updates.
  2003-03-03 20:35       ` [Linux-fbdev-devel] " Petr Vandrovec
@ 2003-03-03 21:32 Antonino Daplas
  2003-03-05 20:23 ` James Simmons
  1 sibling, 1 reply; 16+ messages in thread
From: Antonino Daplas @ 2003-03-03 21:32 UTC (permalink / raw)
  To: Petr Vandrovec
  Cc: James Simmons, Linux Kernel Mailing List,
	Linux Fbdev development list

On Tue, 2003-03-04 at 04:35, Petr Vandrovec wrote:

>   My main concern now is 12x22 font... Accelerator setup
> is so costly for each separate painted character that for 8bpp 
> accelerated version is even slower than unaccelerated one :-(
> (and almost twice as slow when compared with 2.4.x).

I submitted a patch to James, which he already applied to his tree, that
addresses this problem.  It conglomerates the series of bitmaps into 1,
so only one fb_imageblit is necessary.  It should give faster painting
than the original 2.5.x code, hopefully faster than 2.4.x code, but
slower than 8x16 painting because of the additional packing.

> 
>   And one (or two...) generic questions: why is not pseudo_palette
> u32* pseudo_palette, or even directly u32 pseudo_palette[17] ?

Yes, all drivers should treat the pseudo_palette as u32* anyway, so why
not change pseudo-palette from void* to u32*?

> And why we do not fill this pseudo_palette with
> i * 0x01010101U for 8bpp pseudocolor and i * 0x11111111U for 4bpp
> pseudocolor? This allowed me to remove couple of switches and tests
> from acceleration fastpaths (and from cfb_imageblit and cfb_fillrect,
> but I did not changed these two in my benchmarks below).

I also agree for a different reason.  Cards with unconventional formats
(such as monochrome at 8 bpp - 0 for black , 0xff for white) will not
work with the current code.

Tony  

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: [Linux-fbdev-devel] Re: FBdev updates.
@ 2003-02-21  9:09 Geert Uytterhoeven
  2003-02-21 10:46 ` Antonino Daplas
  0 siblings, 1 reply; 16+ messages in thread
From: Geert Uytterhoeven @ 2003-02-21  9:09 UTC (permalink / raw)
  To: Antonino Daplas
  Cc: James Simmons, Petr Vandrovec, Dave Jones,
	Linux Kernel Mailing List, Linux Fbdev development list

On 21 Feb 2003, Antonino Daplas wrote:
> Note: I cannot test with 12x22 fonts in 2.4 because some/most drivers do
> not support it.

Which specific drivers are you talking about? All drivers for popular cards
support fontwidth 12 (Matrox, ATI, nVidia, 3Dfx, Permedia, VESA, ...).

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

^ permalink raw reply	[flat|nested] 16+ messages in thread
* FBdev updates.
@ 2003-02-20  1:09 James Simmons
  2003-02-20 15:02 ` Dave Jones
  0 siblings, 1 reply; 16+ messages in thread
From: James Simmons @ 2003-02-20  1:09 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Linux Fbdev development list


New updates to the fbdev layer. You can grab the diff from 

http://phoenix.infradead.org/~jsimmons/fbdev.diff.gz

or do a pull

	bk pull http://gkernel.bkbits.net/fbdev-2.5

This will update the following files:

 drivers/video/maxinefb.h                   |   37 
 drivers/video/pm2fb.h                      |  218 ---
 drivers/video/pm3fb.h                      | 1284 --------------------
 drivers/video/pmag-ba-fb.h                 |   24 
 drivers/video/pmagb-b-fb.h                 |   32 
 drivers/video/sstfb.h                      |  355 -----
 arch/mips64/Kconfig                        |    4 
 arch/ppc/syslib/prom.c                     |    3 
 arch/ppc/syslib/prom_init.c                |   28 
 arch/ppc64/kernel/prom.c                   |   27 
 drivers/char/vt.c                          |    8 
 drivers/video/Kconfig                      |   17 
 drivers/video/Makefile                     |    3 
 drivers/video/aty/atyfb.h                  |   86 -
 drivers/video/aty/atyfb_base.c             | 1804 ++++++++++++++---------------
 drivers/video/aty/mach64_accel.c           |   51 
 drivers/video/aty/mach64_ct.c              |  356 +++--
 drivers/video/aty/mach64_cursor.c          |    4 
 drivers/video/aty/mach64_gx.c              |   18 
 drivers/video/aty128fb.c                   |  162 +-
 drivers/video/cfbcopyarea.c                |   42 
 drivers/video/cfbfillrect.c                |   12 
 drivers/video/cfbimgblt.c                  |  100 -
 drivers/video/console/fbcon.c              |  333 -----
 drivers/video/console/fbcon.h              |    3 
 drivers/video/console/newport_con.c        |   69 -
 drivers/video/console/vgacon.c             |  673 +++++-----
 drivers/video/fbmem.c                      |  306 ++--
 drivers/video/fbmon.c                      |    3 
 drivers/video/hgafb.c                      |    9 
 drivers/video/i810/i810.h                  |    9 
 drivers/video/i810/i810_accel.c            |  150 +-
 drivers/video/i810/i810_main.c             |  486 ++-----
 drivers/video/i810/i810_main.h             |   14 
 drivers/video/logo/Kconfig                 |   67 +
 drivers/video/logo/Makefile                |   27 
 drivers/video/logo/logo.c                  |  100 +
 drivers/video/logo/logo_dec_clut224.ppm    | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_linux_clut224.ppm  | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_linux_mono.pbm     |  202 +++
 drivers/video/logo/logo_linux_vga16.ppm    | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_mac_clut224.ppm    | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_parisc_clut224.ppm | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_sgi_clut224.ppm    | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_sun_clut224.ppm    | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_superh_clut224.ppm | 1603 +++++++++++++++++++++++++
 drivers/video/logo/logo_superh_mono.pbm    |  202 +++
 drivers/video/logo/logo_superh_vga16.ppm   | 1603 +++++++++++++++++++++++++
 drivers/video/maxinefb.c                   |    2 
 drivers/video/modedb.c                     |    8 
 drivers/video/neofb.c                      |   81 -
 drivers/video/pm2fb.c                      |    2 
 drivers/video/pm3fb.c                      |    3 
 drivers/video/pmag-ba-fb.c                 |    2 
 drivers/video/pmagb-b-fb.c                 |    2 
 drivers/video/radeonfb.c                   |    1 
 drivers/video/riva/fbdev.c                 |  323 ++---
 drivers/video/riva/nv_driver.c             |  156 ++
 drivers/video/riva/rivafb.h                |    2 
 drivers/video/sgivwfb.c                    |  192 ++-
 drivers/video/skeletonfb.c                 |    6 
 drivers/video/sstfb.c                      |   14 
 drivers/video/tdfxfb.c                     |    6 
 drivers/video/tgafb.c                      |    2 
 drivers/video/tridentfb.c                  |    2 
 drivers/video/vga16fb.c                    |  127 +-
 include/linux/fb.h                         |   19 
 include/linux/linux_logo.h                 | 1435 -----------------------
 include/video/mach64.h                     |   61 
 include/video/maxinefb.h                   |   37 
 include/video/pm3fb.h                      | 1284 ++++++++++++++++++++
 include/video/pmag-ba-fb.h                 |   24 
 include/video/pmagb-b-fb.h                 |   32 
 include/video/sgivw.h                      |   40 
 include/video/sstfb.h                      |  355 +++++
 include/video/vga.h                        |   16 
 scripts/Makefile                           |    4 
 scripts/pnmtologo                          |binary
 scripts/pnmtologo.c                        |  498 ++++++++
 79 files changed, 20264 insertions(+), 6227 deletions(-)

through these ChangeSets:

<jsimmons@maxwell.earthlink.net> (03/02/19 1.913.1.3)
   [FBDEEV] Need to add support to build pnmtologo.

<jsimmons@maxwell.earthlink.net> (03/02/19 1.913.1.1)
   Removed obsolete functions in fbcon.c and re-enabled mapping console(s) to a framebuffer device. A few compile fixes for rivafb and using standard macros for vgacon.c.

<jsimmons@maxwell.earthlink.net> (03/02/16 1.913)
   [FBDEV] Data in struct fb_image is now const.
   
   [FBDEV] Updates to the logo code. We seperated it into two functions.
   
   [I810 FBDEV] Updates to the driver. PCI hooks for PCI supsend and resume to save the AGP GART mapping during power saving.
   
   [ATY 128] Add proper support for two graphics cards. Also added support for two more models of the Rage 128.
   
   [SGIVW FBDEV] Updates for the SGI Visual Workstation framebuffer.
   

<jsimmons@maxwell.earthlink.net> (03/02/13 1.910)
   [LOGO] New better logo code. 
   
   [FBDEV] Moved a few more header files.

<jsimmons@maxwell.earthlink.net> (03/02/11 1.909)
   [FBCON] Removal of useless code.

<jsimmons@maxwell.earthlink.net> (03/02/11 1.906)
   [ATY FBDEV] Reversed mobilty patches. They busted every other card.  

<jsimmons@maxwell.earthlink.net> (03/02/09 1.900)
   [ATY FBDEV] Updates to support Rage Mobility Chipstes.

<jsimmons@maxwell.earthlink.net> (03/01/30 1.899)
   [RIVA FBDEV] SUpprot Directcolor mode. Needed for some cards.

<jsimmons@kozmo.(none)> (03/01/28 1.897)
   [NEOMAGIC FBDEV] Fix to work with no 21xx versions of the chip.

<jsimmons@maxwell.earthlink.net> (03/01/28 1.889.52.3)
   [RADEON FBDEV] Add cursor support. Now the cursor is back.
   [RIVA FBDEV] Added support for interlace mode and are now using TRUECOLOR instead of DIRECTCOLOR. Setting the graphics card in DIRECTCOLOR confusses the X server.

<jsimmons@maxwell.earthlink.net> (03/01/26 1.889.52.2)
   Accel rountines pass in constant data into each function. The reason being was some of the code in the upper layers depended on the data being passed to the low level function not be altered because the upper layers was altering the data themselves.
   
   Pan display fix for fbcon.c. p->vrow needed to be updated.
   
   PPC build fix for fbmon.c
   
   I810 fbdev updates. 

<jsimmons@maxwell.earthlink.net> (03/01/17 1.889.52.1)
   [GENERIC ACCELERATION] Fixed the generic image drawing function tfor 64 bit machines.
   
   [RIVA FBDEV] The cursor and imageblit functions have been fixed.

^ permalink raw reply	[flat|nested] 16+ messages in thread
[parent not found: <20020605175013.G10293@flint.arm.linux.org.uk>]

end of thread, other threads:[~2003-08-14 21:57 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-03-05 20:31 Re: FBdev updates Petr Vandrovec
  -- strict thread matches above, loose matches on Subject: below --
2003-08-14 20:52 FBDEV updates James Simmons
2003-08-14 21:57 ` Jon Smirl
2003-03-03 21:32 [Linux-fbdev-devel] Re: FBdev updates Antonino Daplas
2003-03-05 20:23 ` James Simmons
2003-03-06  1:18   ` Antonino Daplas
2003-02-21  9:09 [Linux-fbdev-devel] " Geert Uytterhoeven
2003-02-21 10:46 ` Antonino Daplas
2003-02-20  1:09 James Simmons
2003-02-20 15:02 ` Dave Jones
2003-02-20 18:29   ` Petr Vandrovec
2003-02-21  0:24     ` Antonino Daplas
2003-03-03 20:35       ` [Linux-fbdev-devel] " Petr Vandrovec
2003-03-04 21:29         ` Jurriaan
2003-03-04 21:46           ` Petr Vandrovec
2003-03-09 21:29           ` Petr Vandrovec
2003-03-09 22:27             ` Antonino Daplas
2003-03-09 22:54               ` Petr Vandrovec
2003-03-09 23:44                 ` Antonino Daplas
2003-03-11 15:31             ` [Linux-fbdev-devel] " James Simmons
2003-03-16 22:10               ` Nicholas Wourms
2003-03-05 20:22         ` James Simmons
2003-03-06  7:35           ` Sven Luther
     [not found] <20020605175013.G10293@flint.arm.linux.org.uk>
2002-06-05 17:21 ` Re: fbdev updates James Simmons

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).