← Back to team overview

ubuntu-x-swat team mailing list archive

[Bug 685682] Re: [fglrx] compiz crashed with SIGSEGV in nux::IOpenGLSurface::UnlockRect()

 

Response from AMD on the question of t_f_p support.
Please review and indicate if compiz/unity is dependent on something this list shows as not supported?

----------------------------------
We support texture_from_pixmap in direct rendering mode (mutter uses
this as we discussed before), and all of the limitations for direct
rendering are the same as indirect rendering as far as I know, some of
the limitations I know are:

1. Compiz can not run in direct mode, because we uses some X functions
in our driver, like XOpenDisplay in ADL which will cause soft hang for
compiz uses XGrabServer.

2. The spec allows:
Accepted by the <Buffer> parameter of glXBindTexImageEXT and
glXReleaseTexImageEXT:
    GLX_FRONT_LEFT_EXT                 0x20DE
    GLX_FRONT_RIGHT_EXT                0x20DF
    GLX_BACK_LEFT_EXT                  0x20E0
    GLX_BACK_RIGHT_EXT                 0x20E1
    GLX_FRONT_EXT                      GLX_FRONT_LEFT_EXT
    GLX_BACK_EXT                       GLX_BACK_LEFT_EXT
    GLX_AUX0_EXT                       0x20E2
    GLX_AUX1_EXT                       0x20E3
    GLX_AUX2_EXT                       0x20E4
    GLX_AUX3_EXT                       0x20E5
    GLX_AUX4_EXT                       0x20E6
    GLX_AUX5_EXT                       0x20E7
    GLX_AUX6_EXT                       0x20E8
    GLX_AUX7_EXT                       0x20E9
    GLX_AUX8_EXT                       0x20EA
    GLX_AUX9_EXT                       0x20EB
But we only support GLX_FRONT_LEFT_EXT now.

3. Applications can specify the texture format according to spec, but
the pixmap format is BGRA in most of the time, so if app specifies non
BGRA format, corruption will occur. Unfortunately compiz does like this.
Current implementation is to use the format determined by depth
internally regardless the app specified format. It seems that NV doesn't
allow app to use GLX_TEXTURE_FORMAT_RGBA, and only
GLX_TEXTURE_FORMAT_RGB is allowed, otherwise X error is reported.

4. X coordinate system are different from OpenGL coordinate system, we
workaround the Y inverted issue currently, the difficulty is how to tell
glTexImage2D and glTexSubImage2D about the Y inverted info when they are
used by GLX_EXT_texture_from_pixmap.

5. No mipmap support, No TEXTURE_1D support
----------------------------------


** Changed in: compiz (Ubuntu Natty)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to fglrx-installer in ubuntu.
https://bugs.launchpad.net/bugs/685682

Title:
  [fglrx] compiz crashed with SIGSEGV in
  nux::IOpenGLSurface::UnlockRect()