• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - incomplete (needs number, errors, glx protocol, enumerant values, state)
2
3Name
4
5    SGIX_instrument_error
6
7Name Strings
8
9    GL_SGIX_instrument_error
10
11Version
12
13    $Date: 1998/10/20 23:55:52 $  $Revision: 1.1 $
14
15Number
16
17    XXX
18
19Dependencies
20
21    SGIX_instruments is required
22
23Overview
24
25    This extension provides a mechanism by which implementations can
26    return errors resulting from instrument reads.
27
28Issues
29
30    *   We require that a failed instrument would have returned a
31        packet of at least length four.  Is this acceptable?
32
33        A: Four would give us an instrument name, a length field, a
34           single integer payload, and a marker.  This seems
35           reasonable -- anything shorter would be pretty useless.
36
37    *   Is it reasonable to require the failure packet that is
38        returned be the same length as the packet that would have been
39        returned by a successful read, or should we just say that it
40        may have padding and won't be longer?
41
42    *   Returning failure due to a context switch seems to break
43        GL's invariance requirement.
44
45        A: This is unfortunate but we can't think of any way to make
46           some instruments work across context switches.  We either
47           return the error in GL or we silently fail or we have some
48           non-GL way to indicate failure.  Using GL seems the most
49           useful.
50
51    *   If an instrument defined in another extension may return
52        failure, do we have to mention that in the new extension?  Or
53        can failure just be returned in place of any instrument packet
54        at any time?
55
56New Tokens
57
58    Returned as the instrument name in an instrument buffer:
59
60	INSTRUMENT_FAILED_SGIX			XXXX
61
62Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
63
64    None
65
66Additions to Chapter 3 of the 1.0 Specification (Rasterization)
67
68    None
69
70Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
71and the Frame Buffer)
72
73    None
74
75Additions to Chapter 5 of the 1.0 Specification (Special Functions)
76
77    Add to the end of section 5.X entitled Instruments:
78
79    If GL detects that an issued instrument read cannot return a
80    correct value, GL will return a failure packet in place of the
81    instrument packet.  The failure packet is intended to be used in
82    cases where there was no error on the part of the application but
83    GL could not satisfy the request for some reason.
84
85    A failure packet contains the following information (starting and
86    the first int):
87
88        INSTRUMENT_FAILED_SGIX
89        length in words of the packet
90        enumerant name of failed instrument
91        optional pad word 0
92        optional pad word 1
93            .
94            .
95            .
96        optional pad word n
97        marker value for read
98
99    The pad words are inserted such that the packet is the same length
100    as the instrument packet that a successful read would have
101    generated.  If the packet length for the given instrument is not a
102    constant, the failure packet cannot be longer than the maximum
103    length of a successful read.  The last int of the packet contains
104    the user-specified marker value.  This mechanism requires that the
105    maximum original length of the packet was not less than 4.
106
107Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
108
109    None
110
111Additions to the GLX Specification
112
113    None
114
115GLX Protocol
116
117    None
118
119Errors
120
121    None
122