pfQuerySys(3pf) OpenGL Performer 3.2.2 libpr C++ Reference Pages
NAME
pfGetMachString, pfGetRelString, pfQuerySys, pfMQuerySys, pfQueryPerf,
pfPerf, pfGetIRIXRelease - Routines for querying parameters of system
configuration
FUNCTION SPECIFICATION
#include <Performer/pr.h>
const char * pfGetMachString(void);
const char * pfGetRelString(void);
int pfQuerySys(int which, int *dst);
int pfMQuerySys(int *which, int *dst);
int pfQueryPerf(int which, void *dst);
int pfPerf(int which, void *dst);
float pfGetIRIXRelease(void);
DESCRIPTION
Graphics platforms provide a range of hardware configurations whose
parameters may affect the usability of graphics features. These
functions provide the ability to query these parameters. OpenGL
Performer makes use of the following useful routines in determining its
information: getgdesc(3g), XGetVisualInfo(3X11), and glXGetConfig(3g).
pfGetMachString returns the renderer string for the current graphics
platform:
VGXT VGX
LIGHT Indigo Starter
EXTREME Extreme
RE RealityEngine
VTX RealityEngine - VTX
NEWPORT Indy
CRM O2
MGRAS Impact
IR InfiniteReality
Page 1
pfQuerySys(3pf) OpenGL Performer 3.2.2 libpr C++ Reference Pages
IRL InfiniteReality on Onyx2
IRE iR Reality
pfGetRelString returns the string describing the current OpenGL Performer
release: PERFORMER_X.Y.Z[aAAA] where X is the major number, Y is the
minor number, and Z is the maintenance number of the release.
Maintenance releases are binary compatible with their base X.Y minor
release. The potential AAA at the end is an internal attribution string
on unreleased versions, such as an alpha or build number. pfQuerySys can
also be used to directly query this same information.
pfQuerySys takes a PFQSYS_ token and returns in dst the value for the
requested parameter. The return value is the number of bytes
successfully written.
The pfQuerySys query token must be one of:
PFQSYS_GL
returns the GL type currently being used: PFGL_OPENGL, or
PFGL_NOGL if no graphics driver is currently running.
PFQSYS_MAJOR_VERSION
returns the major number of the OpenGL Performer release in
use.
PFQSYS_MINOR_VERSION
returns the minor number of the OpenGL Performer release in
use.
PFQSYS_MAINT_VERSION
returns the maintenance release of the OpenGL Performer release
in use.
PFQSYS_NUM_CPUS
returns the number of CPUs on the system.
PFQSYS_NUM_CPUS_AVAILABLE
returns the number of available (non-isolated) CPUs on the
system.
PFQSYS_NUM_SCREENS
returns the number of screens, or hardware graphics pipelines.
PFQSYS_SIZE_PIX_X
returns the width of the default screen of the current display
in pixels. The current display is that returned by
pfGetCurWSConnection.
PFQSYS_SIZE_PIX_Y
returns the height of the default screen of the current display
in pixels. The current display is that returned by
Page 2
pfQuerySys(3pf) OpenGL Performer 3.2.2 libpr C++ Reference Pages
pfGetCurWSConnection.
PFQSYS_MAX_SNG_RGB_BITS
returns the maximum number of configurable single-buffered bits
per RGB color component.
PFQSYS_MAX_DBL_RGB_BITS
returns the maximum number of configurable double-buffered bits
per RGB color component.
PFQSYS_MAX_SNG_ALPHA_BITS
returns the maximum number of configurable single-buffered bits
per alpha color component.
PFQSYS_MAX_DBL_ALPHA_BITS
returns the maximum number of configurable double-buffered bits
per alpha color component.
PFQSYS_MAX_SNG_ACCUM_BITS
returns the maximum number of configurable single-buffered bits
per accumulation buffer color component.
PFQSYS_MAX_DBL_ACCUM_BITS
returns the maximum number of configurable double-buffered bits
per accumulation buffer color component.
PFQSYS_MAX_SNG_CI_BITS
returns the maximum number of configurable single-buffered bits
for colorindex.
PFQSYS_MAX_DBL_CI_BITS
returns the maximum number of configurable double-buffered bits
for colorindex.
PFQSYS_MAX_SNG_OVERLAY_CI_BITS
returns the maximum number of configurable bits for colorindex
single-buffered overlay buffers.
PFQSYS_MAX_DBL_OVERLAY_CI_BITS
returns the maximum number of configurable bits for colorindex
double-buffered overlay buffers.
PFQSYS_MAX_DEPTH_BITS
returns the maximum number of configurable bits for depth
buffers.
PFQSYS_MAX_STENCIL_BITS
returns the maximum number of configurable bits for stencil
buffers.
Page 3
pfQuerySys(3pf) OpenGL Performer 3.2.2 libpr C++ Reference Pages
PFQSYS_MAX_MS_SAMPLES
returns the maximum number of configurable subsamples for
multisample buffers. Multisample buffers are used for
antialiasing. See the pfWindow and pfAntialias man pages for
more information.
PFQSYS_MAX_MS_DEPTH_BITS
returns the maximum number of configurable bits for
multisampled depth buffers.
PFQSYS_MAX_MS_STENCIL_BITS
returns the maximum number of configurable bits for
multisampled stencil buffers.
PFQSYS_MAX_LIGHTS
returns the maximum allowable number of GL lights that may be
on at one time.
PFQSYS_TEXTURE_MEMORY_BYTES
returns the number of bytes of hardware texture memory.
PFQSYS_MAX_TEXTURE_SIZE
returns the number of bytes in the largest single texture that
can can be allocated in hardware texture memory.
PFQSYS_MAX_CLIPTEXTURE_SIZE
returns the maximum virtual size of both the s and t dimensions
of a pfClipTexture.
PFQSYS_CLIPTEXTURE_CENTER_ALIGNMENT
returns the pfClipTexture alignment constraint based on this
system. The pfClipTexture center must be set to a multiple of
this value in each dimension.
PFQSYS_MIN_CLIPTEXTURE_INVALID_BORDER
returns the minimum invalid border that a pfClipTexture can use
on this system (in order to generate 'correct' texture based of
the pfClipTexture).
PFQSYS_TEX_SUBLOAD_ALIGNMENT
returns the minimum texel alignment allowed for pfTexture
subloads.
PFQSYS_CALLIGRAPHIC_PIPE0
returns a bit field that indicates which video channels are
enabled on the Light Point Board. A value of 0 either means
that there is no board on the Pipe0, or there are no enabled
channel on this board, so no calligraphics lights can be used
on the pipe. PFQSYS_CALLIGRAPHIC_PIPE1 and
PFQSYS_CALLIGRAPHIC_PIPE2 does the same test for the pipe 1 and
the pipe 2.
Page 4
pfQuerySys(3pf) OpenGL Performer 3.2.2 libpr C++ Reference Pages
PFQSYS_MAX_ANISOTROPY
returns the maximum anisotropy supported on the current
platform.
pfMQuerySys takes an NULL-terminated array of query tokens and a
destination buffer and will do multiple queries. The return value will
be the number of bytes successfully written. This routine is more
efficient than pfQuerySys if multiple queries are desired.
pfQueryPerf returns performance information for the requested query
token. The currently supported queries deal with texture download
timings. The possible queries are currently values indicating which
texture download cost table the application is interested in querying.
The token values may be one of: PFQPERF_DEFAULT_TEXLOAD_TABLE - the
default cost table appropriate the current hardware configuration,
PFQPERF_USER_TEXLOAD_TABLE - the user defined cost table, if one has been
defined, and PFQPERF_CUR_TEXLOAD_TABLE - which cost table, either the
default or the user-defined one, which is currently in use. If a user-
defined cost table is supplied via pfPerf, that table takes precedence.
The cost table is returned as a pointer to a pfTexSubloadCostTable
structure in the dst ptr. This structure contains the width and height of
the cost table arrays of floating point times (in milliseconds), the
minimum legal cost table alignment, and a set of cost table arrays.
There are four arrays, one for 1 byte, 2 byte, 3 byte and 4 byte per
texel formats. Alignment values are required since most machines require
that texture subloads be aligned to some value.
Texture download cost table is internally used by cliptexture load
control (DTR) to estimate the time it will take in the DRAW process to
update the cliptextures texture memory. DTR adjusts the download size
appropriately to try and keep the total download cost (measured in
milliseconds) below a application defined maximum limit. Users can use
these tables in similar ways for doing their own texture management for
individual pfTextures. Performer stores a number of cost tables for a
set of important hardware configurations. In addition, a user defined
cost table can be supplied by the application with pfPerf.
pfPerf allows the application to provide a custom cost information.
table. The function expects a single argument, a pointer to a token and
associated values. Currently supported is specifying pfTexSubloadCost
table structure that has been properly filled in. These times will be
then used by the pfClipTexture DTR load management of texture downloads.
Application-defined cost tables have precedence, and are used instead of
the default table when they are supplied. The cost table can be checked
by reading it back by calling pfQueryPerf with PFQPERF_USER_TEXLOAD_TABLE
for the which argument.
pfGetIRIXRelease will return the X.Y IRIX release number corresponding to
the host system.
Page 5
pfQuerySys(3pf) OpenGL Performer 3.2.2 libpr C++ Reference Pages
NOTES
pfWindow::query can be used to query the configuration parameters of a
given pfWindow. pfFeature can be used to query the availability of
specific features on the current hardware configuration.
SEE ALSO
pfFeature, pfGetCurWSConnection, pfWindow, pfAntialias, pfTexture,
pfClipTexture, XGetVisualInfo, glXGetConfig
Page 6