15bd8deadSopenharmony_ciName 25bd8deadSopenharmony_ci 35bd8deadSopenharmony_ci NV_vertex_attrib_integer_64bit 45bd8deadSopenharmony_ci 55bd8deadSopenharmony_ciName Strings 65bd8deadSopenharmony_ci 75bd8deadSopenharmony_ci GL_NV_vertex_attrib_integer_64bit 85bd8deadSopenharmony_ci 95bd8deadSopenharmony_ciContact 105bd8deadSopenharmony_ci 115bd8deadSopenharmony_ci Jeff Bolz, NVIDIA (jbolz 'at' nvidia.com) 125bd8deadSopenharmony_ci 135bd8deadSopenharmony_ciContributors 145bd8deadSopenharmony_ci 155bd8deadSopenharmony_ci Pat Brown, NVIDIA 165bd8deadSopenharmony_ci 175bd8deadSopenharmony_ciStatus 185bd8deadSopenharmony_ci 195bd8deadSopenharmony_ci Shipping 205bd8deadSopenharmony_ci 215bd8deadSopenharmony_ciVersion 225bd8deadSopenharmony_ci 235bd8deadSopenharmony_ci Last Modified Date: 03/21/2010 245bd8deadSopenharmony_ci Revision: 4 255bd8deadSopenharmony_ci 265bd8deadSopenharmony_ciNumber 275bd8deadSopenharmony_ci 285bd8deadSopenharmony_ci 392 295bd8deadSopenharmony_ci 305bd8deadSopenharmony_ciDependencies 315bd8deadSopenharmony_ci 325bd8deadSopenharmony_ci This extension is written against the OpenGL 3.2 specification 335bd8deadSopenharmony_ci (Compatibility Profile). 345bd8deadSopenharmony_ci 355bd8deadSopenharmony_ci This extension is written against version 1.50 (revision 09) of the OpenGL 365bd8deadSopenharmony_ci Shading Language Specification. 375bd8deadSopenharmony_ci 385bd8deadSopenharmony_ci OpenGL 3.0 and GLSL 1.30 are required. 395bd8deadSopenharmony_ci 405bd8deadSopenharmony_ci NV_gpu_shader5 or equivalent functionality is required. 415bd8deadSopenharmony_ci 425bd8deadSopenharmony_ci This extension requires EXT_vertex_attrib_64bit. 435bd8deadSopenharmony_ci 445bd8deadSopenharmony_ci This extension interacts with NV_vertex_buffer_unified_memory. 455bd8deadSopenharmony_ci 465bd8deadSopenharmony_ci This extension interacts with NV_gpu_program5 and NV_gpu_shader5. 475bd8deadSopenharmony_ci 485bd8deadSopenharmony_ci This extension interacts with EXT_vertex_attrib_64bit. 495bd8deadSopenharmony_ci 505bd8deadSopenharmony_ciOverview 515bd8deadSopenharmony_ci 525bd8deadSopenharmony_ci This extension provides support for specifying vertex attributes with 535bd8deadSopenharmony_ci 64-bit integer components, analagous to the 64-bit floating point support 545bd8deadSopenharmony_ci added in EXT_vertex_attrib_64bit. 555bd8deadSopenharmony_ci 565bd8deadSopenharmony_ci Additionally, it provides the VertexAttribLFormatNV entry point to specify 575bd8deadSopenharmony_ci bindless vertex attribute arrays with 64-bit integer or floating-point 585bd8deadSopenharmony_ci components in conjunction with the NV_vertex_buffer_unified_memory 595bd8deadSopenharmony_ci extension. 605bd8deadSopenharmony_ci 615bd8deadSopenharmony_ci 625bd8deadSopenharmony_ciNew Procedures and Functions 635bd8deadSopenharmony_ci 645bd8deadSopenharmony_ci void VertexAttribL1i64NV(uint index, int64EXT x); 655bd8deadSopenharmony_ci void VertexAttribL2i64NV(uint index, int64EXT x, int64EXT y); 665bd8deadSopenharmony_ci void VertexAttribL3i64NV(uint index, int64EXT x, int64EXT y, 675bd8deadSopenharmony_ci int64EXT z); 685bd8deadSopenharmony_ci void VertexAttribL4i64NV(uint index, int64EXT x, int64EXT y, 695bd8deadSopenharmony_ci int64EXT z, int64EXT w); 705bd8deadSopenharmony_ci void VertexAttribL1i64vNV(uint index, const int64EXT *v); 715bd8deadSopenharmony_ci void VertexAttribL2i64vNV(uint index, const int64EXT *v); 725bd8deadSopenharmony_ci void VertexAttribL3i64vNV(uint index, const int64EXT *v); 735bd8deadSopenharmony_ci void VertexAttribL4i64vNV(uint index, const int64EXT *v); 745bd8deadSopenharmony_ci 755bd8deadSopenharmony_ci void VertexAttribL1ui64NV(uint index, uint64EXT x); 765bd8deadSopenharmony_ci void VertexAttribL2ui64NV(uint index, uint64EXT x, uint64EXT y); 775bd8deadSopenharmony_ci void VertexAttribL3ui64NV(uint index, uint64EXT x, uint64EXT y, 785bd8deadSopenharmony_ci uint64EXT z); 795bd8deadSopenharmony_ci void VertexAttribL4ui64NV(uint index, uint64EXT x, uint64EXT y, 805bd8deadSopenharmony_ci uint64EXT z, uint64EXT w); 815bd8deadSopenharmony_ci void VertexAttribL1ui64vNV(uint index, const uint64EXT *v); 825bd8deadSopenharmony_ci void VertexAttribL2ui64vNV(uint index, const uint64EXT *v); 835bd8deadSopenharmony_ci void VertexAttribL3ui64vNV(uint index, const uint64EXT *v); 845bd8deadSopenharmony_ci void VertexAttribL4ui64vNV(uint index, const uint64EXT *v); 855bd8deadSopenharmony_ci 865bd8deadSopenharmony_ci void GetVertexAttribLi64vNV(uint index, enum pname, int64EXT *params); 875bd8deadSopenharmony_ci void GetVertexAttribLui64vNV(uint index, enum pname, uint64EXT *params); 885bd8deadSopenharmony_ci 895bd8deadSopenharmony_ci void VertexAttribLFormatNV(uint index, int size, enum type, sizei stride); 905bd8deadSopenharmony_ci 915bd8deadSopenharmony_ci (note: VertexAttribLFormatNV is provided only if 925bd8deadSopenharmony_ci NV_vertex_buffer_unified_memory is supported.) 935bd8deadSopenharmony_ci 945bd8deadSopenharmony_ci 955bd8deadSopenharmony_ciNew Tokens 965bd8deadSopenharmony_ci 975bd8deadSopenharmony_ci Accepted by the <type> parameter of VertexAttribLPointerEXT, 985bd8deadSopenharmony_ci VertexArrayVertexAttribLOffsetEXT, and VertexAttribLFormatNV: 995bd8deadSopenharmony_ci 1005bd8deadSopenharmony_ci INT64_NV 0x140E 1015bd8deadSopenharmony_ci UNSIGNED_INT64_NV 0x140F 1025bd8deadSopenharmony_ci 1035bd8deadSopenharmony_ci 1045bd8deadSopenharmony_ciAdditions to Chapter 2 of the OpenGL 3.2 (Compatibility Profile) Specification 1055bd8deadSopenharmony_ci(OpenGL Operation) 1065bd8deadSopenharmony_ci 1075bd8deadSopenharmony_ci Modify Section 2.7, Vertex Specification (p. 24) 1085bd8deadSopenharmony_ci 1095bd8deadSopenharmony_ci (delete third paragraph, p. 33, beginning with "The resulting attribute 1105bd8deadSopenharmony_ci values are undefined") 1115bd8deadSopenharmony_ci 1125bd8deadSopenharmony_ci (rework the description of the VertexAttribI* commands, and add support 1135bd8deadSopenharmony_ci for new VertexAttribL* commands, p. 33) 1145bd8deadSopenharmony_ci 1155bd8deadSopenharmony_ci To load values into a generic shader attribute declared as a signed or 1165bd8deadSopenharmony_ci unsigned integer or integer vector, except for 64-bit integer types, use 1175bd8deadSopenharmony_ci the commands 1185bd8deadSopenharmony_ci 1195bd8deadSopenharmony_ci void VertexAttribI{1,2,3,4}{i,ui}( uint index, T values ); 1205bd8deadSopenharmony_ci void VertexAttribI{1,2,3,4}{i,ui}v( uint index, T values ); 1215bd8deadSopenharmony_ci void VertexAttribI4{b,s,ub,us}v( uint index, T values ); 1225bd8deadSopenharmony_ci 1235bd8deadSopenharmony_ci These commands specify values that are extended to full signed or unsigned 1245bd8deadSopenharmony_ci integers, then loaded into the generic attribute at slot index in the same 1255bd8deadSopenharmony_ci fashion as described above. 1265bd8deadSopenharmony_ci 1275bd8deadSopenharmony_ci To load values into a generic shader attribute declared as a double, 1285bd8deadSopenharmony_ci 64-bit signed integer, 64-bit unsigned integer, or into vectors or 1295bd8deadSopenharmony_ci matrices thereof, use the commands 1305bd8deadSopenharmony_ci 1315bd8deadSopenharmony_ci void VertexAttribL{1,2,3,4}dEXT(uint index, T values); 1325bd8deadSopenharmony_ci void VertexAttribL{1,2,3,4}dvEXT(uint index, T values); 1335bd8deadSopenharmony_ci void VertexAttribL{1,2,3,4}{i64,ui64}EXT(uint index, T values); 1345bd8deadSopenharmony_ci void VertexAttribL{1,2,3,4}{i64,ui64}vEXT(uint index, T values); 1355bd8deadSopenharmony_ci 1365bd8deadSopenharmony_ci These commands specify one, two, three or four values. Note that attribute 1375bd8deadSopenharmony_ci variables declared with "double" types must be loaded with 1385bd8deadSopenharmony_ci VertexAttribL*d{v}EXT; loading attributes with VertexAttrib*d{v} will 1395bd8deadSopenharmony_ci produce undefined results. Similarly, attributes declared with 64-bit 1405bd8deadSopenharmony_ci integer types must be loaded with VertexAttribL*{i64,ui64}{v}. 1415bd8deadSopenharmony_ci 1425bd8deadSopenharmony_ci For all VertexAttrib* commands, the error INVALID_VALUE is generated if 1435bd8deadSopenharmony_ci <index> is greater than or equal to MAX_VERTEX_ATTRIBS. 1445bd8deadSopenharmony_ci 1455bd8deadSopenharmony_ci The full set of VertexAttrib* commands specify generic attributes with 1465bd8deadSopenharmony_ci components one of six data types: 1475bd8deadSopenharmony_ci 1485bd8deadSopenharmony_ci * floating-point values (VertexAttrib*), 1495bd8deadSopenharmony_ci * signed or unsigned integers (VertexAttribI*), 1505bd8deadSopenharmony_ci * double-precision floating-point values (VertexAttribL*d*), and 1515bd8deadSopenharmony_ci * 64-bit signed or unsigned integers (VertexAttribL*{i64,ui64}*). 1525bd8deadSopenharmony_ci 1535bd8deadSopenharmony_ci The values loaded into a shader attribute variable bound to generic 1545bd8deadSopenharmony_ci attribute <index> are undefined if the data type of the attribute 1555bd8deadSopenharmony_ci components specified by the most recent VertexAttrib* command do not match 1565bd8deadSopenharmony_ci the data type of the variable. 1575bd8deadSopenharmony_ci 1585bd8deadSopenharmony_ci 1595bd8deadSopenharmony_ci Modify Section 2.8, Vertex Arrays, p. 34 1605bd8deadSopenharmony_ci 1615bd8deadSopenharmony_ci (insert new paragraph after first paragraph, p. 37) 1625bd8deadSopenharmony_ci 1635bd8deadSopenharmony_ci The command 1645bd8deadSopenharmony_ci 1655bd8deadSopenharmony_ci void VertexAttribLPointerEXT(uint index, int size, enum type, 1665bd8deadSopenharmony_ci sizei stride, const void *pointer); 1675bd8deadSopenharmony_ci 1685bd8deadSopenharmony_ci specifies state for a generic vertex attribute array associated with a 1695bd8deadSopenharmony_ci shader attribute variable declared with 64-bit double precision components. 1705bd8deadSopenharmony_ci <type> must be one of DOUBLE, INT64_NV, or UNSIGNED_INT64_NV, specifying 1715bd8deadSopenharmony_ci components of type double, int64EXT, and uint64EXT, respectively. <index>, 1725bd8deadSopenharmony_ci <size>, and <stride> behave as defined in all other vertex commands; <size> 1735bd8deadSopenharmony_ci may be one, two, three or four. 1745bd8deadSopenharmony_ci 1755bd8deadSopenharmony_ci Each component of an array specified by VertexAttribLPointerEXT will be 1765bd8deadSopenharmony_ci encoded into one or more generic attribute components as specified for the 1775bd8deadSopenharmony_ci VertexAttribL* commands in Section 2.7. The error INVALID_VALUE is 1785bd8deadSopenharmony_ci generated if <index> is greater than or equal to MAX_VERTEX_ATTRIBS. 1795bd8deadSopenharmony_ci 1805bd8deadSopenharmony_ci 1815bd8deadSopenharmony_ci Modify "Add to Section 2.9" edits from NV_vertex_buffer_unified_memory 1825bd8deadSopenharmony_ci 1835bd8deadSopenharmony_ci (add to following to the list of *FormatNV commands) 1845bd8deadSopenharmony_ci 1855bd8deadSopenharmony_ci void VertexAttribLFormatNV(uint index, int size, enum type, 1865bd8deadSopenharmony_ci sizei stride); 1875bd8deadSopenharmony_ci 1885bd8deadSopenharmony_ci 1895bd8deadSopenharmony_ci Modify Section 2.14.3, Vertex Attributes, p. 86 1905bd8deadSopenharmony_ci 1915bd8deadSopenharmony_ci (replace last paragraph, p. 86) 1925bd8deadSopenharmony_ci 1935bd8deadSopenharmony_ci When an attribute variable declared using one of the scalar or vector data 1945bd8deadSopenharmony_ci types enumerated in Table X.1 and is bound to a generic attribute index 1955bd8deadSopenharmony_ci <i>, its value(s) are taken from the components of generic attribute <i>. 1965bd8deadSopenharmony_ci Scalars are extracted from the x component; two-, three-, and 1975bd8deadSopenharmony_ci four-component vectors are extracted from the, (x, y), (x, y, z), or (x, 1985bd8deadSopenharmony_ci y, z, w) components, respectively. 1995bd8deadSopenharmony_ci 2005bd8deadSopenharmony_ci Data type Command 2015bd8deadSopenharmony_ci ------------------------------- ---------------------------------- 2025bd8deadSopenharmony_ci int int8_t int16_t int32_t VertexAttribI1i 2035bd8deadSopenharmony_ci ivec2 i8vec2 i16vec2 i32vec2 VertexAttribI2i 2045bd8deadSopenharmony_ci ivec3 i8vec3 i16vec3 i32vec3 VertexAttribI3i 2055bd8deadSopenharmony_ci ivec4 i8vec4 i16vec4 i32vec4 VertexAttribI4i 2065bd8deadSopenharmony_ci 2075bd8deadSopenharmony_ci uint uint8_t uint16_t uint32_t VertexAttribI1ui 2085bd8deadSopenharmony_ci ivec2 i8vec2 i16vec2 u32vec2 VertexAttribI2ui 2095bd8deadSopenharmony_ci ivec3 i8vec3 i16vec3 u32vec3 VertexAttribI3ui 2105bd8deadSopenharmony_ci uvec4 u8vec4 u16vec4 u32vec4 VertexAttribI4ui 2115bd8deadSopenharmony_ci 2125bd8deadSopenharmony_ci float int16_t int32_t VertexAttrib1{f,b,s,i,ub,us,ui,d} 2135bd8deadSopenharmony_ci vec2 f16vec2 f32vec2 VertexAttrib2{f,b,s,i,ub,us,ui,d} 2145bd8deadSopenharmony_ci vec3 f16vec3 f32vec3 VertexAttrib3{f,b,s,i,ub,us,ui,d} 2155bd8deadSopenharmony_ci vec4 f16vec4 f32vec4 VertexAttrib4{f,b,s,i,ub,us,ui,d} 2165bd8deadSopenharmony_ci 2175bd8deadSopenharmony_ci double float64_t VertexAttribL1dEXT 2185bd8deadSopenharmony_ci dvec2 f64vec2 VertexAttribL2dEXT 2195bd8deadSopenharmony_ci dvec3 f64vec3 VertexAttribL3dEXT 2205bd8deadSopenharmony_ci dvec4 f64vec4 VertexAttribL4dEXT 2215bd8deadSopenharmony_ci 2225bd8deadSopenharmony_ci int64_t VertexAttribL1i64NV 2235bd8deadSopenharmony_ci i64vec2 VertexAttribL2i64NV 2245bd8deadSopenharmony_ci i64vec3 VertexAttribL3i64NV 2255bd8deadSopenharmony_ci i64vec4 VertexAttribL4i64NV 2265bd8deadSopenharmony_ci 2275bd8deadSopenharmony_ci uint64_t VertexAttribL1ui64NV 2285bd8deadSopenharmony_ci u64vec2 VertexAttribL2ui64NV 2295bd8deadSopenharmony_ci u64vec3 VertexAttribL3ui64NV 2305bd8deadSopenharmony_ci u64vec4 VertexAttribL4ui64NV 2315bd8deadSopenharmony_ci 2325bd8deadSopenharmony_ci Table X.1: Scalar and vector vertex attribute types and VertexAttrib* 2335bd8deadSopenharmony_ci commands used to set the values of the corresponding generic attribute. 2345bd8deadSopenharmony_ci 2355bd8deadSopenharmony_ci For the 64-bit types listed in Table X.1, no default attribute values are 2365bd8deadSopenharmony_ci provided if the values of the vertex attribute variable are specified with 2375bd8deadSopenharmony_ci fewer components than required for the attribute variable. For example, 2385bd8deadSopenharmony_ci the fourth component of a variable of type dvec4 will be undefined if 2395bd8deadSopenharmony_ci specified using VertexAttribL3dvEXT or using a vertex array specified with 2405bd8deadSopenharmony_ci VertexAttribLPointerEXT and a size of three. 2415bd8deadSopenharmony_ci 2425bd8deadSopenharmony_ci 2435bd8deadSopenharmony_ciAdditions to Chapter 3 of the OpenGL 3.2 (Compatibility Profile) Specification 2445bd8deadSopenharmony_ci(Rasterization) 2455bd8deadSopenharmony_ci 2465bd8deadSopenharmony_ci None. 2475bd8deadSopenharmony_ci 2485bd8deadSopenharmony_ciAdditions to Chapter 4 of the OpenGL 3.2 (Compatibility Profile) Specification 2495bd8deadSopenharmony_ci(Per-Fragment Operations and the Frame Buffer) 2505bd8deadSopenharmony_ci 2515bd8deadSopenharmony_ci None. 2525bd8deadSopenharmony_ci 2535bd8deadSopenharmony_ciAdditions to Chapter 5 of the OpenGL 3.2 (Compatibility Profile) Specification 2545bd8deadSopenharmony_ci(Special Functions) 2555bd8deadSopenharmony_ci 2565bd8deadSopenharmony_ci None. 2575bd8deadSopenharmony_ci 2585bd8deadSopenharmony_ciAdditions to Chapter 6 of the OpenGL 3.2 (Compatibility Profile) Specification 2595bd8deadSopenharmony_ci(State and State Requests) 2605bd8deadSopenharmony_ci 2615bd8deadSopenharmony_ci Modify Section 6.1.15, Shader and Program Queries, p. 384 2625bd8deadSopenharmony_ci 2635bd8deadSopenharmony_ci (add to the last list of commands, p. 387) 2645bd8deadSopenharmony_ci 2655bd8deadSopenharmony_ci void GetVertexAttribLi64vNV(uint index, enum pname, int64EXT *params); 2665bd8deadSopenharmony_ci void GetVertexAttribLui64vNV(uint index, enum pname, uint64EXT *params); 2675bd8deadSopenharmony_ci 2685bd8deadSopenharmony_ci (modify the third paragraph, p. 388) The query CURRENT_VERTEX_ATTRIB 2695bd8deadSopenharmony_ci returns the current value for the generic attribute 2705bd8deadSopenharmony_ci <index>. GetVertexAttribdv and GetVertexAttribfv read and return the 2715bd8deadSopenharmony_ci current attribute values as four single-precision floating-point values; 2725bd8deadSopenharmony_ci GetVertexAttribiv reads them as floating-point values and converts them to 2735bd8deadSopenharmony_ci four integer values; GetVertexAttribIiv reads and returns them as signed 2745bd8deadSopenharmony_ci integers; GetVertexAttribIuiv reads and returns them as four unsigned 2755bd8deadSopenharmony_ci integers; GetVertexAttribLdvEXT reads and returns them as four double- 2765bd8deadSopenharmony_ci precision floating-point values. GetVertexAttribLi64vNV reads and returns 2775bd8deadSopenharmony_ci them as four 64-bit signed integer values. GetVertexAttribLui64vNV reads 2785bd8deadSopenharmony_ci and returns them as four 64-bit unsigned integer values. The results of 2795bd8deadSopenharmony_ci the query are undefined if the current attribute values are read using one 2805bd8deadSopenharmony_ci data type but were specified using a different one. The error 2815bd8deadSopenharmony_ci INVALID_OPERATION is generated if index is zero, as there is no current 2825bd8deadSopenharmony_ci value for generic attribute zero. 2835bd8deadSopenharmony_ci 2845bd8deadSopenharmony_ci 2855bd8deadSopenharmony_ciAdditions to Appendix A of the OpenGL 3.2 (Compatibility Profile) 2865bd8deadSopenharmony_ciSpecification (Invariance) 2875bd8deadSopenharmony_ci 2885bd8deadSopenharmony_ci None. 2895bd8deadSopenharmony_ci 2905bd8deadSopenharmony_ciAdditions to the AGL/GLX/WGL Specifications 2915bd8deadSopenharmony_ci 2925bd8deadSopenharmony_ci None. 2935bd8deadSopenharmony_ci 2945bd8deadSopenharmony_ciGLX Protocol 2955bd8deadSopenharmony_ci 2965bd8deadSopenharmony_ci TBD 2975bd8deadSopenharmony_ci 2985bd8deadSopenharmony_ciDependencies on NV_vertex_buffer_unified_memory 2995bd8deadSopenharmony_ci 3005bd8deadSopenharmony_ci If NV_vertex_buffer_unified_memory is not supported, remove the 3015bd8deadSopenharmony_ci VertexAttribLFormatNV command. 3025bd8deadSopenharmony_ci 3035bd8deadSopenharmony_ciDependencies on NV_gpu_program5 and NV_gpu_shader5 3045bd8deadSopenharmony_ci 3055bd8deadSopenharmony_ci This extension provides the ability to specify the values of vertex 3065bd8deadSopenharmony_ci attributes with 64-bit components. To use these vertex attributes, 3075bd8deadSopenharmony_ci separate extensions are required to read the values. The NV_gpu_program5 3085bd8deadSopenharmony_ci extension provides support for 64-bit integer inputs in assembly programs; 3095bd8deadSopenharmony_ci NV_gpu_shader5 provides similar support for GLSL vertex shaders. To 3105bd8deadSopenharmony_ci enable this capability in a GLSL vertex shader on implementations 3115bd8deadSopenharmony_ci supporting NV_gpu_shader5, it is necessary to include 3125bd8deadSopenharmony_ci 3135bd8deadSopenharmony_ci #extension GL_NV_gpu_shader5 : enable 3145bd8deadSopenharmony_ci 3155bd8deadSopenharmony_ci in the vertex shader text. The NV_vertex_attrib_integer_64bit extension 3165bd8deadSopenharmony_ci does not provide any separate new GLSL capabilities and can not be used 3175bd8deadSopenharmony_ci with "#extension". 3185bd8deadSopenharmony_ci 3195bd8deadSopenharmony_ci 64-bit components are not supported by the fixed-function vertex 3205bd8deadSopenharmony_ci processing pipeline stage. 3215bd8deadSopenharmony_ci 3225bd8deadSopenharmony_ciDependencies on EXT_vertex_attrib_64bit 3235bd8deadSopenharmony_ci 3245bd8deadSopenharmony_ci If EXT_vertex_attrib_64bit is supported, vertex shaders are permitted to 3255bd8deadSopenharmony_ci use 64-bit floating-point components for their inputs. 3265bd8deadSopenharmony_ci 3275bd8deadSopenharmony_ci Even if an application only uses 64-bit floating-point values in their 3285bd8deadSopenharmony_ci vertex shader, this extension may still be useful. In particular, it 3295bd8deadSopenharmony_ci provides the VertexAttribLFormatNV function, which allows the "bindless" 3305bd8deadSopenharmony_ci vertex attribute array support provided by the 3315bd8deadSopenharmony_ci NV_vertex_buffer_unified_memory extension to be used with 64-bit 3325bd8deadSopenharmony_ci components, integer or floating-point. 3335bd8deadSopenharmony_ci 3345bd8deadSopenharmony_ciErrors 3355bd8deadSopenharmony_ci 3365bd8deadSopenharmony_ci None. 3375bd8deadSopenharmony_ci 3385bd8deadSopenharmony_ciNew State 3395bd8deadSopenharmony_ci 3405bd8deadSopenharmony_ci None. 3415bd8deadSopenharmony_ci 3425bd8deadSopenharmony_ciNew Implementation Dependent State 3435bd8deadSopenharmony_ci 3445bd8deadSopenharmony_ci None. 3455bd8deadSopenharmony_ci 3465bd8deadSopenharmony_ciIssues 3475bd8deadSopenharmony_ci 3485bd8deadSopenharmony_ci (1) What GLSL "#extension" should be required to enable 64-bit integer 3495bd8deadSopenharmony_ci vertex sahder inputs. 3505bd8deadSopenharmony_ci 3515bd8deadSopenharmony_ci RESOLVED: NV_gpu_shader5 provides general-purpose support for 64-bit 3525bd8deadSopenharmony_ci integer types in shaders, and we have written it to explicitly permit 3535bd8deadSopenharmony_ci 64-bit integer vertex shader inputs. Since this is the only GLSL 3545bd8deadSopenharmony_ci capability required for this extension and NV_gpu_shader5 or equivalent 3555bd8deadSopenharmony_ci functionality is required, there is no separate "#extension" provided 3565bd8deadSopenharmony_ci for just this extension. 3575bd8deadSopenharmony_ci 3585bd8deadSopenharmony_ci 3595bd8deadSopenharmony_ciRevision History 3605bd8deadSopenharmony_ci 3615bd8deadSopenharmony_ci Rev. Date Author Changes 3625bd8deadSopenharmony_ci ---- -------- -------- ----------------------------------------- 3635bd8deadSopenharmony_ci 4 03/21/10 pbrown Minor wording updates to the spec overview, 3645bd8deadSopenharmony_ci dependencies, issues, and body. 3655bd8deadSopenharmony_ci 3665bd8deadSopenharmony_ci 3 03/08/10 pbrown Rename to "NV_vertex_attrib_integer_64bit" to 3675bd8deadSopenharmony_ci avoid possible confusion with the floating- 3685bd8deadSopenharmony_ci point EXT_vertex_attrib_64bit. The previous 3695bd8deadSopenharmony_ci spec name was "NV_vertex_attrib_64bit". 3705bd8deadSopenharmony_ci 3715bd8deadSopenharmony_ci 2 -- jbolz Rewrite as (u)int64-only extension of EXT. 3725bd8deadSopenharmony_ci 3735bd8deadSopenharmony_ci 1 -- pbrown Internal revisions. 3745bd8deadSopenharmony_ci 3755bd8deadSopenharmony_ci 376