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.
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 (firstname.lastname@example.org)
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): Unable to validate any modes; falling back to the default mode
(WW) NVIDIA(0): “nvidia-auto-select”.
(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
Our OpenGL ES PC Emulation libraries currently don’t support EGL pixmap surfaces. This may change in future releases.
well, then I have stick to a different solution.
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?
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
Are pixmaps supported in the current version of Win32 SDK (PVRVFrame_2.06.26.0683)?
Pixmaps (in terms of rendering to pixmaps) are not supported at that version. Â And in general pixmaps are not yet supported.