add gl_Position to spec.json
This commit is contained in:
parent
353f62e15e
commit
1078f26310
2 changed files with 135 additions and 107 deletions
|
@ -109,6 +109,11 @@ def process_docs_gl_file(path):
|
|||
variable['description'] = description
|
||||
variable['versions'] = version_support[0]
|
||||
variables.append(variable)
|
||||
if 'gl_Position' in path:
|
||||
variable = { 'name': 'gl_Position', 'type': 'vec4' }
|
||||
variable['description'] = description
|
||||
variable['versions'] = version_support[0]
|
||||
variables.append(variable)
|
||||
else:
|
||||
for i, node in enumerate(soup.find_all(attrs={'class':'funcprototype-table'})):
|
||||
prototype = parse_prototype(node.getText())
|
||||
|
@ -116,7 +121,6 @@ def process_docs_gl_file(path):
|
|||
prototype['versions'] = version_support[min(i, len(version_support) - 1)]
|
||||
functions.append(prototype)
|
||||
|
||||
|
||||
def paragraph_to_markdown(paragraph):
|
||||
if paragraph.math is not None and paragraph.math.mtable is not None:
|
||||
return '```\n' + expand_math(paragraph.math.mtable).replace('δ ', 'δ') + '\n```\n'
|
||||
|
|
236
spec/spec.json
236
spec/spec.json
|
@ -3426,6 +3426,30 @@
|
|||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "gl_Position",
|
||||
"type": "vec4",
|
||||
"description": [
|
||||
"In the vertex, tessellation evaluation and geometry languages, a single global instance of the `gl_PerVertex` named block is available and its `gl_Position` member is an output that receives the homogeneous vertex position. It may be written at any time during shader execution. The value written to `gl_Position` will be used by primitive assembly, clipping, culling and other fixed functionality operations, if present, that operate on primitives after vertex processing has occurred.",
|
||||
"In the tessellation control language, the `gl_PerVertex` named block is used to construct an array, `gl_out[]`, whose `gl_Position` members hold the homogeneous control point position, which become available as inputs to the subsequent tessellation evaluation shader.",
|
||||
"The value of `gl_Position` (or the `gl_Position` member of the `gl_out[]` array, in the case of the tessellation control shader) is undefined after the vertex, tessellation control, and tessellation evaluation shading stages if the corresponding shader executable does not write to gl_Position. It is also undefined after the geometry processing stage if the geometry shader executable calls EmitVertex without having written `gl_Position` since the last call to EmitVertex (or hasn't written it at all).",
|
||||
"In the tessellation control, tessellation evaluation and geometry languages, the `gl_PerVertex` named block is used to construct an array, `gl_in[]` of per-vertex or per-control point inputs whose content represents the corresponding outputs written by the previous stage."
|
||||
],
|
||||
"versions": [
|
||||
110,
|
||||
120,
|
||||
130,
|
||||
140,
|
||||
150,
|
||||
330,
|
||||
400,
|
||||
410,
|
||||
420,
|
||||
430,
|
||||
440,
|
||||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"modifiers": "in",
|
||||
"type": "int",
|
||||
|
@ -3532,7 +3556,7 @@
|
|||
"name": "gl_RayFlagsCullBackFacingTrianglesEXT",
|
||||
"default_value": "16U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3541,7 +3565,7 @@
|
|||
"name": "gl_RayFlagsCullBackFacingTrianglesEXT",
|
||||
"default_value": "16U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3559,7 +3583,7 @@
|
|||
"name": "gl_RayFlagsCullFrontFacingTrianglesEXT",
|
||||
"default_value": "32U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3568,7 +3592,7 @@
|
|||
"name": "gl_RayFlagsCullFrontFacingTrianglesEXT",
|
||||
"default_value": "32U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3586,7 +3610,7 @@
|
|||
"name": "gl_RayFlagsCullNoOpaqueEXT",
|
||||
"default_value": "128U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3595,7 +3619,7 @@
|
|||
"name": "gl_RayFlagsCullNoOpaqueEXT",
|
||||
"default_value": "128U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3613,7 +3637,7 @@
|
|||
"name": "gl_RayFlagsCullOpaqueEXT",
|
||||
"default_value": "64U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3622,7 +3646,7 @@
|
|||
"name": "gl_RayFlagsCullOpaqueEXT",
|
||||
"default_value": "64U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3649,7 +3673,7 @@
|
|||
"name": "gl_RayFlagsNoOpaqueEXT",
|
||||
"default_value": "2U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3658,7 +3682,7 @@
|
|||
"name": "gl_RayFlagsNoOpaqueEXT",
|
||||
"default_value": "2U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3675,8 +3699,11 @@
|
|||
"type": "uint",
|
||||
"name": "gl_RayFlagsNoneEXT",
|
||||
"default_value": "0U",
|
||||
"description": [
|
||||
"const uint `gl_RayFlagsNoneEXT` = 0U;\nconst uint `gl_RayFlagsOpaqueEXT` = 1U;\nconst uint `gl_RayFlagsNoOpaqueEXT` = 2U;\nconst uint `gl_RayFlagsTerminateOnFirstHitEXT` = 4U;\nconst uint `gl_RayFlagsSkipClosestHitShaderEXT` = 8U;\nconst uint `gl_RayFlagsCullBackFacingTrianglesEXT` = 16U;\nconst uint `gl_RayFlagsCullFrontFacingTrianglesEXT` = 32U;\nconst uint `gl_RayFlagsCullOpaqueEXT` = 64U;\nconst uint `gl_RayFlagsCullNoOpaqueEXT` = 128U;"
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3684,11 +3711,8 @@
|
|||
"type": "uint",
|
||||
"name": "gl_RayFlagsNoneEXT",
|
||||
"default_value": "0U",
|
||||
"description": [
|
||||
"const uint `gl_RayFlagsNoneEXT` = 0U;\nconst uint `gl_RayFlagsOpaqueEXT` = 1U;\nconst uint `gl_RayFlagsNoOpaqueEXT` = 2U;\nconst uint `gl_RayFlagsTerminateOnFirstHitEXT` = 4U;\nconst uint `gl_RayFlagsSkipClosestHitShaderEXT` = 8U;\nconst uint `gl_RayFlagsCullBackFacingTrianglesEXT` = 16U;\nconst uint `gl_RayFlagsCullFrontFacingTrianglesEXT` = 32U;\nconst uint `gl_RayFlagsCullOpaqueEXT` = 64U;\nconst uint `gl_RayFlagsCullNoOpaqueEXT` = 128U;"
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3708,8 +3732,11 @@
|
|||
"type": "uint",
|
||||
"name": "gl_RayFlagsOpaqueEXT",
|
||||
"default_value": "1U",
|
||||
"description": [
|
||||
"`gl_RayFlagsNoneEXT` -> NoneKHR ray flag\n`gl_RayFlagsOpaqueEXT` -> OpaqueKHR ray flag\n`gl_RayFlagsNoOpaqueEXT` -> NoOpaqueKHR ray flag\n`gl_RayFlagsTerminateOnFirstHitEXT` -> TerminateOnFirstHitKHR ray flag\n`gl_RayFlagsSkipClosestHitShaderEXT` -> SkipClosestHitShaderKHR ray flag\n`gl_RayFlagsCullBackFacingTrianglesEXT` -> CullBackFacingTrianglesKHR ray flag\n`gl_RayFlagsCullFrontFacingTrianglesEXT` -> CullFrontFacingTrianglesKHR ray flag\n`gl_RayFlagsCullOpaqueEXT` -> CullOpaqueKHR ray flag\n`gl_RayFlagsCullNoOpaqueEXT` -> CullNoOpaqueKHR ray flag"
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3717,11 +3744,8 @@
|
|||
"type": "uint",
|
||||
"name": "gl_RayFlagsOpaqueEXT",
|
||||
"default_value": "1U",
|
||||
"description": [
|
||||
"`gl_RayFlagsNoneEXT` -> NoneKHR ray flag\n`gl_RayFlagsOpaqueEXT` -> OpaqueKHR ray flag\n`gl_RayFlagsNoOpaqueEXT` -> NoOpaqueKHR ray flag\n`gl_RayFlagsTerminateOnFirstHitEXT` -> TerminateOnFirstHitKHR ray flag\n`gl_RayFlagsSkipClosestHitShaderEXT` -> SkipClosestHitShaderKHR ray flag\n`gl_RayFlagsCullBackFacingTrianglesEXT` -> CullBackFacingTrianglesKHR ray flag\n`gl_RayFlagsCullFrontFacingTrianglesEXT` -> CullFrontFacingTrianglesKHR ray flag\n`gl_RayFlagsCullOpaqueEXT` -> CullOpaqueKHR ray flag\n`gl_RayFlagsCullNoOpaqueEXT` -> CullNoOpaqueKHR ray flag"
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3751,7 +3775,7 @@
|
|||
"name": "gl_RayFlagsSkipClosestHitShaderEXT",
|
||||
"default_value": "8U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3760,7 +3784,7 @@
|
|||
"name": "gl_RayFlagsSkipClosestHitShaderEXT",
|
||||
"default_value": "8U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3787,7 +3811,7 @@
|
|||
"name": "gl_RayFlagsTerminateOnFirstHitEXT",
|
||||
"default_value": "4U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_query"
|
||||
"GL_EXT_ray_tracing"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -3796,7 +3820,7 @@
|
|||
"name": "gl_RayFlagsTerminateOnFirstHitEXT",
|
||||
"default_value": "4U",
|
||||
"extensions": [
|
||||
"GL_EXT_ray_tracing"
|
||||
"GL_EXT_ray_query"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -5200,6 +5224,24 @@
|
|||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "uint64_t",
|
||||
"name": "atomicAdd",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "uint64_t",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "uint64_t",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_int64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicAdd",
|
||||
|
@ -5236,24 +5278,6 @@
|
|||
"GL_EXT_shader_atomic_float2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "uint64_t",
|
||||
"name": "atomicAdd",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "uint64_t",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "uint64_t",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_int64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "int",
|
||||
"name": "atomicAnd",
|
||||
|
@ -5503,6 +5527,24 @@
|
|||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "uint64_t",
|
||||
"name": "atomicExchange",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "uint64_t",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "uint64_t",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_int64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicExchange",
|
||||
|
@ -5539,24 +5581,6 @@
|
|||
"GL_EXT_shader_atomic_float2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "uint64_t",
|
||||
"name": "atomicExchange",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "uint64_t",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "uint64_t",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_int64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicLoad",
|
||||
|
@ -5657,24 +5681,6 @@
|
|||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicMax",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "float",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "float",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_float2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "uint64_t",
|
||||
"name": "atomicMax",
|
||||
|
@ -5693,6 +5699,24 @@
|
|||
"GL_EXT_shader_atomic_int64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicMax",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "float",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "float",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_float2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "int",
|
||||
"name": "atomicMin",
|
||||
|
@ -5741,24 +5765,6 @@
|
|||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicMin",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "float",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "float",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_float2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "uint64_t",
|
||||
"name": "atomicMin",
|
||||
|
@ -5777,6 +5783,24 @@
|
|||
"GL_EXT_shader_atomic_int64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "float",
|
||||
"name": "atomicMin",
|
||||
"parameters": [
|
||||
{
|
||||
"modifiers": "inout",
|
||||
"type": "float",
|
||||
"name": "mem"
|
||||
},
|
||||
{
|
||||
"type": "float",
|
||||
"name": "data"
|
||||
}
|
||||
],
|
||||
"extensions": [
|
||||
"GL_EXT_shader_atomic_float2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "int",
|
||||
"name": "atomicOr",
|
||||
|
@ -8143,6 +8167,14 @@
|
|||
450
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "void",
|
||||
"name": "groupMemoryBarrier",
|
||||
"parameters": [],
|
||||
"extensions": [
|
||||
"GL_KHR_memory_scope_semantics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "void",
|
||||
"name": "groupMemoryBarrier",
|
||||
|
@ -8157,14 +8189,6 @@
|
|||
"GL_EXT_mesh_shader"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "void",
|
||||
"name": "groupMemoryBarrier",
|
||||
"parameters": [],
|
||||
"extensions": [
|
||||
"GL_KHR_memory_scope_semantics"
|
||||
]
|
||||
},
|
||||
{
|
||||
"return_type": "void",
|
||||
"name": "groupMemoryBarrier",
|
||||
|
@ -16337,7 +16361,7 @@
|
|||
"name": "memoryBarrierShared",
|
||||
"parameters": [],
|
||||
"extensions": [
|
||||
"GL_EXT_mesh_shader"
|
||||
"GL_KHR_memory_scope_semantics"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -16345,7 +16369,7 @@
|
|||
"name": "memoryBarrierShared",
|
||||
"parameters": [],
|
||||
"extensions": [
|
||||
"GL_KHR_memory_scope_semantics"
|
||||
"GL_EXT_mesh_shader"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue