Imagination PowerVR SDK Blog

eglCreatePixmapSurface

pvrvframe

#1

Hi,

currently I’m trying to get some code to work on my Ubuntu Linux PC, using the OpenGL ES 1.1 framework (latest version from August 08). I had a look at the PVRShell to get an idea how offscreen rendering should work out. I wanted to create a pixmap and a pixmap surface, thus I created a native X11 pixmap and directed it to eglCreatePixmapSurface.

eglCreatePixmapSurface(eglDisplay, eglConfig, (NativePixmapType)x11pixmap, NULL);

First I tried this within my application, which did not work (returning EGL_NO_SURFACE). Then I thought I should test it internally within the PVRShell files, simply setting  m_pShell->m_pShellData->bNeedPixmap to true (everywhere needed). Unfortunately this does not work either (same error, although I did not change anything about the visual depth, etc.), so I suppose that there is something wrong, either with the SDK or with my configuration. Note that everything seems to work if I’m using a window surface. Attached I have some snippets from my Xorg.log file describing my X configuration.

Any Ideas?


Regards


Clemens

X.Org X Server 1.5.2
Release Date: 10 October 2008
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.24-19-server i686 Ubuntu
Current Operating System: Linux arth-desktop 2.6.27-9-generic #1 SMP Thu Nov 20 21:57:00 UTC 2008 i686
Build Date: 24 October 2008  08:00:16AM
xorg-server 2:1.5.2-2ubuntu3 (buildd@rothera.buildd)

 Module nvidia: vendor=“NVIDIA Corporation”
    compiled for 4.0.2, module version = 1.0.0
    Module class: X.Org Video Driver
(II) NVIDIA dlloader X Driver  177.82  Tue Nov  4 13:42:45 PST 2008
(II) NVIDIA Unified Driver for all Supported NVIDIA GPUs

(II) NVIDIA(0): Creating default Display subsection in Screen section
    “Default Screen” for depth/fbbpp 24/32
() NVIDIA(0): Depth 24, (–) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(
) NVIDIA(0): Option “NoLogo” “True”
() NVIDIA(0): Option “RenderAccel” “True”
(
) NVIDIA(0): Option “TwinView”
() NVIDIA(0): Option “MetaModes” “1600x1050 1600x1050”
(
) NVIDIA(0): Enabling RENDER acceleration
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0):     enabled.
(II) NVIDIA(0): NVIDIA GPU Quadro FX 3500 (G71GL) at PCI:7:0:0 (GPU-0)
(–) NVIDIA(0): Memory: 262144 kBytes
(–) NVIDIA(0): VideoBIOS: 05.71.22.60.08
(II) NVIDIA(0): Detected PCI Express Link width: 16X
(–) NVIDIA(0): Interlaced video modes are supported on this GPU
(–) NVIDIA(0): Connected display device(s) on Quadro FX 3500 at PCI:7:0:0:
(–) NVIDIA(0):     Iiyama PLE2003WS (DFP-0)
(–) NVIDIA(0):     Iiyama PLE2003WS (DFP-1)
(–) NVIDIA(0): Iiyama PLE2003WS (DFP-0): 330.0 MHz maximum pixel clock
(–) NVIDIA(0): Iiyama PLE2003WS (DFP-0): Internal Dual Link TMDS
(–) NVIDIA(0): Iiyama PLE2003WS (DFP-1): 330.0 MHz maximum pixel clock
(–) NVIDIA(0): Iiyama PLE2003WS (DFP-1): Internal Dual Link TMDS
(**) NVIDIA(0): TwinView enabled
(II) NVIDIA(0): Assigned Display Devices: DFP-0, DFP-1
(WW) NVIDIA(0): No valid modes for “1600x10501600x1050”; removing.
(WW) NVIDIA(0):
(WW) NVIDIA(0): Unable to validate any modes; falling back to the default mode
(WW) NVIDIA(0):     “nvidia-auto-select”.
(WW) NVIDIA(0):
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0):     “nvidia-auto-select”
(II) NVIDIA(0): Virtual screen size determined to be 3360 x 1050
(–) NVIDIA(0): DPI set to (99, 98); computed from “UseEdidDpi” X config
(–) NVIDIA(0):     option
(WW) NVIDIA(0): UBB is incompatible with the Composite extension.  Disabling
(WW) NVIDIA(0):     UBB.
(==) NVIDIA(0): Enabling 32-bit ARGB GLX visuals.
(–) Depth 24 pixmap format is 32 bpp








#2

Our OpenGL ES PC Emulation libraries currently don’t support EGL pixmap surfaces. This may change in future releases.


#3

Hi,

well, then I have stick to a different solution.

Thanks anyway,
Clemens


#4

Hi,

Is the emulation of Pixmap Surfaces supported as of now? I am unable to get them working under OpenGLES 1.1 emulator.

If not, can you suggest how I could emulate the offscreen rendering like pixmap or pbuffer?

Thanks
Mohan


#5

Pixmap Surfaces have not been implemented yet (it’s fairly complicated apparently). They are on the roadmap, but I can’t say when it will definitely be available


#6

Are pixmaps supported in the current version of Win32 SDK (PVRVFrame_2.06.26.0683)?


#7

Pixmaps (in terms of rendering to pixmaps) are not supported at that version. Â And in general pixmaps are not yet supported.