fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / State / Base / OSGShaderStorageBufferObjStdLayoutChunk.fcd
blobacdb1a703dc4fbc84820426272868f90b4f099d4
1 <?xml version="1.0"?>
3 <FieldContainer
4 name="ShaderStorageBufferObjStdLayoutChunk"
5 parent="ShaderStorageBufferObjBaseChunk"
6 library="System"
7 pointerfieldtypes="both"
8 structure="concrete"
9 systemcomponent="true"
10 parentsystemcomponent="true"
11 decoratable="false"
12 useLocalIncludes="false"
13 docGroupBase="GrpSystemState"
15 See \ref PageSystemShaderStorageBufferObjStdLayoutChunk for a description.
17 This chunk wraps the OpenGL shader storage buffer object extension (ARB_shader_storage_buffer_object).
18 Basically, it holds a raw memory buffer and a buffer object binding point. The raw memory
19 buffer is expected to be provided by the chunk user in either an OpenGL std140 or std430 compatible format.
20 Any shader, binding a shader storage block to the very same binding point, is expected to respect
21 the corresponding block layout.
23 <Field
24 name="GLId"
25 type="GLenum"
26 cardinality="single"
27 visibility="internal"
28 access="public"
29 defaultValue="0"
30 fieldFlags="FClusterLocal"
32 The OpenGL object id for this shader storage buffer object.
33 </Field>
34 <Field
35 name="usage"
36 type="GLenum"
37 cardinality="single"
38 visibility="external"
39 access="public"
40 defaultValue="GL_STATIC_DRAW"
41 potential_values="GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, GL_DYNAMIC_COPY"
43 Specifies the expected usage pattern of the data store. The symbolic constant must be
44 GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY,
45 GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY,
46 GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY.
47 </Field>
48 <Field
49 name="buffer"
50 type="UInt8"
51 cardinality="multi"
52 visibility="external"
53 access="public"
55 The shader storage buffer storage. The layout of this memory block is governed by the
56 shader storage block layout according to OpenGL std140 or std430 specification.
57 </Field>
58 </FieldContainer>