Software Development & Support. (brainval++at++ehome.encis.es)
Mon, 01 Feb 1999 20:53:24 -0500
SUBJET: Performer + PBUFFER + Dmedia Buffer
We still fighting with Performer, to use a PBUFFER window, with the
DIGITAL_MEDIA_PBUFFER attribute.
The PBUFFER is created with:
static int PBufferAttribs [] = {
GLX_DIGITAL_MEDIA_PBUFFER_SGIX, True,
GLX_PRESERVED_CONTENTS_SGIX, True,
(int) None
};
static int FBAttrs[] = {
GLX_DRAWABLE_TYPE_SGIX, GLX_WINDOW_BIT_SGIX | GLX_PBUFFER_BIT_SGIX,
GLX_RENDER_TYPE_SGIX,
GLX_RGBA_BIT_SGIX,
PFFB_RED_SIZE, 5,
PFFB_BLUE_SIZE, 5,
PFFB_GREEN_SIZE, 5,
PFFB_ALPHA_SIZE, 1,
GLX_DEPTH_SIZE, 24,
None,
};
static void OpenPbuf(pfPipeWindow *pw)
{
pfPipe *p;
pfWSDrawable gxw;
pfWSConnection dsp;
int xs=0, ys=0, wxs, wys, num, screen, ret;
Window pbuf;
GLXFBConfigSGIX *fbc;
XVisualInfo * vis;
dsp = pfGetCurWSConnection();
screen = pfGetPWinScreen(pw);
fbc = glXChooseFBConfigSGIX(dsp, 0, FBAttrs, &num);
vis = glXGetVisualFromFBConfigSGIX(dsp, *fbc);
printf("Num matching FBConfigs on display 0x%p=%s screen %d is %d
VisID:%X",
dsp, XDisplayString(dsp), screen, num, vis->visualid);
pfPWinFBConfig(pw, *fbc);
gxw = glXCreateGLXPbufferSGIX( dsp, * fbc, xs, ys, PBufferAttribs);
pfPWinWSDrawable(pw, dsp, gxw);
}
CASE 1:
If I do not create the PBUFFER then Performer opens the Pbuffer by
himself,
but the Pbuffer can not be associated to a Digital media Buffer,
because it has not the correct properties.
pbufAssociate(display,
(GLXPbufferSGIX ) getPbuffer(), getDmparams(),getDmbuffer() )
;
RESULT:
X Error of failed request: BadDrawable (invalid Pixmap or Window
parameter)
Major opcode of failed request: 141 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Resource id in failed request: 0x0
Serial number of failed request: 0
Current serial number in output stream: 24
CASE 2:
If I Try to set these properties, create the pbuffer by myself and then
use it with
pfPWinWSDrawable then I get as result:
RESULT:
> PF Notice: Num matching FBConfigs on display
> 0x100212f8=:0.0 screen 0 is 2
> X Error of failed request: BadAlloc (insufficient resources for
> operation)
> Major opcode of failed request: 141 (GLX)
> Minor opcode of failed request: 5 (X_GLXMakeCurrent)
> Serial number of failed request: 0
> Current serial number in output stream: 48
>
What am I doing wrong ?
Thanks in advance to any help.
Hector Viguer.
-- Brainstorm Multimedia. Software development.e_mail: brainval++at++ehome.encis.es
Hello All,
SUBJET: Performer + PBUFFER + Dmedia Buffer
We still fighting with Performer, to use a PBUFFER window, with the
DIGITAL_MEDIA_PBUFFER attribute.
The PBUFFER is created with:
static int PBufferAttribs [] = {
GLX_DIGITAL_MEDIA_PBUFFER_SGIX, True,
GLX_PRESERVED_CONTENTS_SGIX, True,
(int) None
};static int FBAttrs[] = {
GLX_DRAWABLE_TYPE_SGIX, GLX_WINDOW_BIT_SGIX | GLX_PBUFFER_BIT_SGIX,
GLX_RENDER_TYPE_SGIX,
GLX_RGBA_BIT_SGIX,
PFFB_RED_SIZE, 5,
PFFB_BLUE_SIZE, 5,
PFFB_GREEN_SIZE, 5,
PFFB_ALPHA_SIZE, 1,
GLX_DEPTH_SIZE, 24,
None,
};static void OpenPbuf(pfPipeWindow *pw)
{
pfPipe *p;
pfWSDrawable gxw;
pfWSConnection dsp;
int xs=0, ys=0, wxs, wys, num, screen, ret;
Window pbuf;GLXFBConfigSGIX *fbc;
XVisualInfo * vis;dsp = pfGetCurWSConnection();
screen = pfGetPWinScreen(pw);
fbc = glXChooseFBConfigSGIX(dsp, 0, FBAttrs, &num);
vis = glXGetVisualFromFBConfigSGIX(dsp, *fbc);printf("Num matching FBConfigs on display 0x%p=%s screen %d is %d VisID:%X",
dsp, XDisplayString(dsp), screen, num, vis->visualid);pfPWinFBConfig(pw, *fbc);
gxw = glXCreateGLXPbufferSGIX( dsp, * fbc, xs, ys, PBufferAttribs);
pfPWinWSDrawable(pw, dsp, gxw);
}
CASE 1:
If I do not create the PBUFFER then Performer opens the Pbuffer by himself,
but the Pbuffer can not be associated to a Digital media Buffer,
because it has not the correct properties.pbufAssociate(display,
(GLXPbufferSGIX ) getPbuffer(), getDmparams(),getDmbuffer() ) ;RESULT:
X Error of failed request: BadDrawable (invalid Pixmap or Window parameter)
Major opcode of failed request: 141 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Resource id in failed request: 0x0
Serial number of failed request: 0
Current serial number in output stream: 24
CASE 2:
If I Try to set these properties, create the pbuffer by myself and then use it with
pfPWinWSDrawable then I get as result:
RESULT:
> PF Notice: Num matching FBConfigs on display
> 0x100212f8=:0.0 screen 0 is 2
> X Error of failed request: BadAlloc (insufficient resources for
> operation)
> Major opcode of failed request: 141 (GLX)
> Minor opcode of failed request: 5 (X_GLXMakeCurrent)
> Serial number of failed request: 0
> Current serial number in output stream: 48
>
What am I doing wrong ?
Thanks in advance to any help.
Hector Viguer.
-- Brainstorm Multimedia. Software development. e_mail: brainval++at++ehome.encis.es
This archive was generated by hypermail 2.0b2 on Mon Feb 01 1999 - 11:47:14 PST