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