bugGnash - The GNU Flash player - Bugs: bug #20649, GTK-AGG fails detecting the...

 
 

bug #20649: GTK-AGG fails detecting the correct pixmap pixel format

Submitted by:  Sandro Santilli <strk>
Submitted on:  Wed 01 Aug 2007 04:40:34 AM UTC  
 
Category: render-aggSeverity: 5 - Blocker
Release: NoneStatus: Fixed
Privacy: PublicAssigned to: Udo Giacomozzi <udog>
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Wed 01 Aug 2007 01:23:03 PM UTC, comment #7:

I belive the OLPC case is a special one. They hacked GTK to use less resources.
Anyway, the original bug is fixed.

Sandro Santilli <strk>
Project Member
Wed 01 Aug 2007 12:18:19 PM UTC, comment #6:

Note the GDK manual says:

rgb_buf : The pixel data, represented as packed 24-bit data.

So the pixel format in theory is fixed...

See
http://developer.gimp.org/api/2.0/gdk/gdk-GdkRGB.html#gdk-draw-rgb-image

Udo Giacomozzi <udog>
Project MemberIn charge of this item.
Wed 01 Aug 2007 12:09:38 PM UTC, comment #5:

I committed a patch that should solve this problem.

It will break OLPC support, so let's keep this bug item open until we find a automatic detection method that works for OLPC and normal X servers.

I'm still unsure if this is strictly related to OLPC since other OLPC programs probably work without modifications...?

Udo Giacomozzi <udog>
Project MemberIn charge of this item.
Wed 01 Aug 2007 08:30:43 AM UTC, comment #4:

I guess PIXELFORMAT_RGB565 is defined in gtk_glue_agg.cpp (can you confirm?).

This causes Gnash to use this pixel format in any case.

Normally RGB24 is the correct pixel format (no matter what your current video mode is!) but Rob patched this file a while ago for the OLPC which needs RGB565 (apparently a "optimization" of it's X server).

Probably PIXELFORMAT_RGB565 is now defined by default (as all pixel formats are) so the hack in gtk_glue_agg.cpp doesn't work:

#ifdef PIXELFORMAT_RGB565
_bpp = 16;
#else
// GDK's gdk_draw_rgb_image() needs 24-bit RGB data, so we initialize the
// AGG renderer with RGB24 and let GTK take care of the proper pixel format.
_bpp = 24;
#endif

(line 106, and other places)

Rob, have you more details about the OLPC exception? Is there an other way to detect the OLPC? As a last resort we could add runtime or compile-time configuration switches for the OLPC and use 24 bits unless something else has been requested manually...

Udo Giacomozzi <udog>
Project MemberIn charge of this item.
Wed 01 Aug 2007 08:12:09 AM UTC, comment #3:

I have the same issue with gtk/agg, but I've never used the --with-pixelformat option, so this must be a new bug.

Here is the debug output (playing elvis.swf):
2248] 10:09:34: Verbose output turned on
2248] 10:09:34: No rendering flags specified, using rcfile
2248] 10:09:34: Created top level window
2248] 10:09:34: framebuffer pixel format is RGB565
2248] 10:09:34: Base url set to: file:///home/tomas/gnash/swf/elvis.swf
2248] 10:09:34: Movie file:///home/tomas/gnash/swf/elvis.swf (SWF6) added to library
2248] 10:09:34: GTK-AGG: 460000 bytes offscreen buffer allocated

2248] 10:09:34: initialized AGG buffer <0x2b474ad11010>, 460000 bytes, 550x400, rowsize is 1100 bytes
2248] 10:09:34: ERROR: Unimplemented: DefineFontInfo2 partially implemented
2248] 10:09:34: ERROR: Unimplemented: color_setrgb

Tomas Groth <tgc>
Wed 01 Aug 2007 07:17:33 AM UTC, comment #2:

Please run Gnash with the -v switch and paste the output here.

Udo Giacomozzi <udog>
Project MemberIn charge of this item.
Wed 01 Aug 2007 04:52:05 AM UTC, comment #1:

Note that kde,fltk and sdl guis all work fine, so this is just a gtk gui problem (and all guis come from the same build tree).

Attached a screenshot of elvis.swf with gtk/agg.

(file #13542)

Sandro Santilli <strk>
Project Member
Wed 01 Aug 2007 04:40:34 AM UTC, original submission:

I'm not sure the summary is really the problem actually.
The symptom is that the rendering is completely wrong.
Gnash -v reports:
framebuffer pixel format is RGB565

Note that I was usually building using:

--with-pixelformat=RGB24,BGRA32

Now I dropped that switch because it wouldn't allow me to
build all guis at once. Anyway, this is to say that RGB565
is surely NOT the pixel format detected in my former builds
(which worked fine).

Sandro Santilli <strk>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #13542:  gtk-agg-rgb565.png added by strk (13KiB - image/png)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by tgc (Posted a comment)
  • -unavailable- added by udog (Posted a comment)
  • -unavailable- added by strk (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 02 Aug 2007 02:40:18 PM UTCstrkStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Wed 01 Aug 2007 01:23:03 PM UTCstrkStatusConfirmed=>Ready For Test
    Wed 01 Aug 2007 12:12:42 PM UTCudogSummaryagg_detect_pixel_format picks the wrong one for GTK/AGG=>GTK-AGG fails detecting the correct pixmap pixel format
    Wed 01 Aug 2007 08:12:09 AM UTCtgcStatusNone=>Confirmed
    Wed 01 Aug 2007 04:52:05 AM UTCstrkAttached File-=>Added gtk-agg-rgb565.png, #13542

    Back to the top


    Powered by Savane 3.1-cleanup1