Re: Stenciling help needed

New Message Reply Date view Thread view Subject view Author view

Rob Jenkins (robj++at++quid)
Thu, 15 May 1997 21:47:21 -0700


On May 15, 4:47pm, Scott McMillan wrote:
> Subject: Re: Stenciling help needed
>
> > > ->Pixel depth and the exact parameters of all the visual attributes
> > > ->would be critical. Try requesting an explicit visual id you know
> > > ->you can get and is supported on the platform.
> > >
> > > Woops, I think Angus meant description, NOT id. NEVER hard code
> > > a visual id number in your code these ids are not guaranteed to
> > > be preserved across system configurations, or even across IRIX releases
> > > on a given system.
> >
> > Nope I meant id, I do this a lot, if you are using perfly you can
> > request a visual usint the appropriate command line option.
> >
> > At one point attribute requests were err... unreliable using performer ;-)
> >
> >
> > Cheers,Angus.
> >
>
> I will preface this with the statement that all this is relatively new to me,
> but I am learning a lot today (therefore, it is a good day).
>
> I did a glxinfo and was having fun explicitly setting the visual id from the
> list for the most part things work as expected...when I choose one without
> depth it won't output things in the proper order, when I choose one without
> double buffering it flickers like crazy and when I chose (I am not sure what
> I was hoping to see):
>
>
> visual x bf lv rg d st r g b a ax dp st accum buffs ms
> id dep cl sp sz l ci b ro sz sz sz sz bf th cl r g b a ns b
> -----------------------------------------------------------------
> 0x27 12 pc . 12 . b y . 12 . . . . 24 8 . . . . . .
>
>

glxinfo -v gives a longer, less criptic description of each visual, run on an
Octane it seems like this was the visual you tried:

Visual ID: 27 depth=12 class=PseudoColor
    bufferSize=12 level=0 renderType=both doubleBuffer=1 stereo=0
    rgba: redSize=12 greenSize=0 blueSize=0 alphaSize=0
    auxBuffers=0 depthSize=24 stencilSize=8
    accum: redSize=0 greenSize=0 blueSize=0 alphaSize=0
    multiSample=0 multiSampleBuffers=0
    Opaque.

so clearly only has red channel, I'm not sure if/why it crashed the gfx like
that but then if you asked some visual selection mechanism ( pfuChooseFBConfig,
pfChooseFBConfig, or glxChooseVisual in OpenGL ) for some collection of
attributes then unless you asked for greensize=bluesize=0 then you wouldn't get
this visual anyway.

It's worth looking at man pfWSConnection, the source for pfuChooseFBConfig (
/usr/share/Performer/src/lib/libpfutil/xwin.c ), the man page for
glXChooseVisual. Also pasted below is an except from gfx QnA in Pipeline
January/February 1997 that cover the general issue of visual selection policy
and illustrates an example when 'hard wiring' visuals can be bad news:

"
Q. What does "Warning: unable to find matching visual"
mean?

A. A visual is a framebuffer configuration with a given set
of characteristics. This could include the number of bits
per pixel, depth buffer size, etc.

This warning is particularly common on new machines such as
the Indigo2 IMPACT or systems with InfiniteReality
graphics. Some applications (including some SGI
applications) are 'hard coded' to ask for a specific visual
by number and description.

Because visual numbers are generated when the system boots,
the mapping of visual numbers may change for different
machine configurations or when a new version of IRIX is
installed. If you ask for a specific visual number, the X
server tries to return the nearest match. If you ask for a
combination of attributes that aren't available on a given
machine, you may fail to get a match at all. In practice,
the application should still run, but it will report the
above warning, and it is possible that some of the graphics
may not look completely as expected, although it should be
close. If you only request the minimum set of visual
capabilities you require, finding a match is more likely.
Refer to the manual page for glXChooseVisual(3G) for
information on visual selections.

Unlike earlier SGI systems, the Indigo2 IMPACT does not
have any visuals with two bit overlays or visuals with
pop-up bit planes. The Toolchest(1X) on the Indigo Magic
Desktop is a common source of this warning, and can be
configured not to use pop-up planes.

In general, it is bad practice to assume that a certain
visual property is available. The command findvis(1G),
available starting with IRIX 6.2, can be used from the
command line to list OpenGL capable visuals on a machine.
The command glxinfo(1G), available starting with IRIX 6.2,
can be used to display information about OpenGL capable
visuals and the OpenGL renderer of an X server. On systems
running IRIX 5.3 or earlier, information about OpenGL
capable visuals can be obtained by executing the command
xdpyinfo(1). The xwininfo(1) command can be used to
determine what visual a application is using by specifying
the -tree and -id options. Within a program,
glXChooseVisual(3G) returns a visual that matches specified
attributes, while glXGetConfig(3G) returns information
about GLX visuals.
"

> The graphics crashed and it reset to the login screen:
>

The gfx shouldn't crash because you tried to draw to a certian visual, even if
it's not an appropriate one, you ought to check your Octane patches, if you
have the OS: IRIX 6.4-S2MP+OCTANE then non of the recomended patches seem to
be gfx specific, if you have vanilla 6.4 then you'd want ( among others ) patch
1945 - 6.4 Impact Graphics fixes.

I you think you need to use this visual, please send me the test case,
otherwise just don't use that visual :-)

Cheers
Rob

-- 
________________________________________________________________
Rob Jenkins mailto:robj++at++csd.sgi.com
Silicon Graphics, Mtn View, California, USA
=======================================================================
List Archives, FAQ, FTP:  http://www.sgi.com/Technology/Performer/
            Submissions:  info-performer++at++sgi.com
        Admin. requests:  info-performer-request++at++sgi.com

New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:55:15 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.