• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    NV_vertex_array_range2
4
5Name Strings
6
7    GL_NV_vertex_array_range2
8
9Contact
10
11    Mark J. Kilgard, NVIDIA Corporation (mjk 'at' nvidia.com)
12
13Notice
14
15    Copyright NVIDIA Corporation, 2001.
16
17IP Status
18
19    NVIDIA Proprietary.
20
21Status
22
23    Complete
24
25Version
26
27    NVIDIA Date:  April 13, 2001
28    Version:      2
29
30Number
31
32    232
33
34Dependencies
35
36    Assumes support for the NV_vertex_array_range extension (version 1.1).
37
38    Support for NV_fence is recommended but not required.
39
40Overview
41
42    Enabling and disabling the vertex array range is specified by the
43    original NV_vertex_array_range extension specification to flush the
44    vertex array range implicitly.  In retrospect, this semantic is
45    extremely misconceived and creates terrible performance problems
46    for any application that wishes to mix conventional vertex arrays
47    with vertex arrange range-enabled vertex arrays.
48
49    This extension provides a new token for enabling/disabling the
50    vertex array range that does NOT perform an implicit vertex array
51    range flush when the enable/disable is performed.
52
53Issues
54
55    Should this extension expose a new enable that enables/disables the
56    vertex array range enable/disable semantic of performing an implicit
57    'vertex array range flush' when GL_VERTEX_ARRAY_RANGE_NV is enabled
58    or disabled, OR should it add a new enable token that acts identically
59    to GL_VERTEX_ARRAY_RANGE_NV without the implicit flush?
60
61      RESOLUTION:  The second option.  Enabling/disabling
62      GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV acts identically to
63      enabling/disabling GL_VERTEX_ARRAY_RANGE_NV, just without the
64      implicit flush.
65
66    Should GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV work with glIsEnabled?
67
68      RESOLUTION:  NO.  There is still just a single state boolean to
69      query.
70
71New Procedures and Functions
72
73    None
74
75New Tokens
76
77    Accepted by the <cap> parameter of EnableClientState,
78    DisableClientState:
79
80        VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV  0x8533
81
82Additions to Chapter 2 of the OpenGL 1.1 Specification (OpenGL Operation)
83
84    Within the discussion of vertex arrays (Section 2.8) amended by
85    the NV_vertex_array_range extension specification, change the
86    discussion of enabling the vertex array range to:
87
88    The vertex array range is enabled or disabled by calling
89    EnableClientState or DisableClientState with the symbolic
90    constant VERTEX_ARRAY_RANGE_NV.
91
92    The vertex array range is also enabled or disabled by calling
93    EnableClientState or DisableClientState with the symbolic constant
94    VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV.  This second means to enable
95    and disable the vertex array range does not perform an implicit
96    vertex array range flush as described subsequently."
97
98    Within the discussion of vertex arrays (Section 2.8) amended by the
99    NV_vertex_array_range extension specification, change the discussion
100    of implicit vertex array range flushes to:
101
102    "A 'vertex array range flush' occurs when one of the following
103    operations occur:
104
105       o  Finish returns.
106
107       o  FlushVertexArrayRangeNV returns.
108
109       o  VertexArrayRangeNV returns.
110
111       o  DisableClientState of VERTEX_ARRAY_RANGE_NV returns.
112
113       o  EnableClientState of VERTEX_ARRAY_RANGE_NV returns.
114
115       o  Another OpenGL context is made current.
116
117    However, use of VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV with
118    DisableClientState or EnableClientState does NOT perform an implicit
119    vertex array range flush."
120
121Additions to Chapter 5 of the OpenGL 1.1 Specification (Special Functions)
122
123    None
124
125Additions to the WGL interface:
126
127    None
128
129Additions to the GLX Specification
130
131    None
132
133GLX Protocol
134
135    None
136
137Errors
138
139    No new errors.
140
141New State
142
143    None
144
145New Implementation Dependent State
146
147    None
148
149Revision History
150
151    4/13/2001 - token value for GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
152    should be 0x8533 (was incorrectly typed as 0x8503)
153
154