blob: 06ffcba625ac54850a41965c5524b5f67da59ff1 [file] [log] [blame]
Gregory Anderse4b991e2024-07-22 20:33:48 +02001" Language: OpenGL Shading Language
2" Maintainer: Gregory Anders <greg@gpanders.com>
3" Last Modified: 2024 Jul 21
4" Upstream: https://github.com/tikhomirov/vim-glsl
5
6if exists('b:current_syntax')
7 finish
8endif
9
10" Statements
11syn keyword glslConditional if else switch case default
12syn keyword glslRepeat for while do
13syn keyword glslStatement discard return break continue
14
15" Comments
16syn keyword glslTodo contained TODO FIXME XXX NOTE
17syn region glslCommentL start="//" skip="\\$" end="$" keepend contains=glslTodo,@Spell
18syn region glslComment matchgroup=glslCommentStart start="/\*" end="\*/" extend contains=glslTodo,@Spell
19
20" Preprocessor
21syn region glslPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|else\|elif\|endif\)" skip="\\$" end="$" keepend
22syn region glslDefine start="^\s*#\s*\(define\|undef\)" skip="\\$" end="$" keepend
23syn keyword glslTokenConcat ##
24syn keyword glslPredefinedMacro __LINE__ __FILE__ __VERSION__ GL_ES
25syn region glslPreProc start="^\s*#\s*\(error\|pragma\|extension\|version\|line\)" skip="\\$" end="$" keepend
26syn region glslInclude start="^\s*#\s*include" skip="\\$" end="$" keepend
27
28" Folding Blocks
29syn region glslCurlyBlock start="{" end="}" transparent fold
30syn region glslParenBlock start="(" end=")" transparent fold
31
32" Boolean Constants
33syn keyword glslBoolean true false
34
35" Integer Numbers
36syn match glslDecimalInt display "\<\(0\|[1-9]\d*\)[uU]\?"
37syn match glslOctalInt display "\<0\o\+[uU]\?"
38syn match glslHexInt display "\<0[xX]\x\+[uU]\?"
39
40" Float Numbers
41syn match glslFloat display "\<\d\+\.\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\="
42syn match glslFloat display "\<\.\d\+\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\="
43syn match glslFloat display "\<\d\+[eE][+-]\=\d\+\(lf\|LF\|f\|F\)\="
44syn match glslFloat display "\<\d\+\.\d\+\([eE][+-]\=\d\+\)\=\(lf\|LF\|f\|F\)\="
45
46" Swizzles
47syn match glslSwizzle display /\.[xyzw]\{1,4\}\>/
48syn match glslSwizzle display /\.[rgba]\{1,4\}\>/
49syn match glslSwizzle display /\.[stpq]\{1,4\}\>/
50
51" Structure
52syn keyword glslStructure struct nextgroup=glslIdentifier skipwhite skipempty
53
54syn match glslIdentifier contains=glslIdentifierPrime "\%([a-zA-Z_]\)\%([a-zA-Z0-9_]\)*" display contained
55
56" Types
57syn keyword glslType accelerationStructureEXT
58syn keyword glslType atomic_uint
59syn keyword glslType bool
60syn keyword glslType bvec2
61syn keyword glslType bvec3
62syn keyword glslType bvec4
63syn keyword glslType dmat2
64syn keyword glslType dmat2x2
65syn keyword glslType dmat2x3
66syn keyword glslType dmat2x4
67syn keyword glslType dmat3
68syn keyword glslType dmat3x2
69syn keyword glslType dmat3x3
70syn keyword glslType dmat3x4
71syn keyword glslType dmat4
72syn keyword glslType dmat4x2
73syn keyword glslType dmat4x3
74syn keyword glslType dmat4x4
75syn keyword glslType double
76syn keyword glslType dvec2
77syn keyword glslType dvec3
78syn keyword glslType dvec4
79syn keyword glslType float
80syn keyword glslType iimage1D
81syn keyword glslType iimage1DArray
82syn keyword glslType iimage2D
83syn keyword glslType iimage2DArray
84syn keyword glslType iimage2DMS
85syn keyword glslType iimage2DMSArray
86syn keyword glslType iimage2DRect
87syn keyword glslType iimage3D
88syn keyword glslType iimageBuffer
89syn keyword glslType iimageCube
90syn keyword glslType iimageCubeArray
91syn keyword glslType image1D
92syn keyword glslType image1DArray
93syn keyword glslType image2D
94syn keyword glslType image2DArray
95syn keyword glslType image2DMS
96syn keyword glslType image2DMSArray
97syn keyword glslType image2DRect
98syn keyword glslType image3D
99syn keyword glslType imageBuffer
100syn keyword glslType imageCube
101syn keyword glslType imageCubeArray
102syn keyword glslType int
103syn keyword glslType isampler1D
104syn keyword glslType isampler1DArray
105syn keyword glslType isampler2D
106syn keyword glslType isampler2DArray
107syn keyword glslType isampler2DMS
108syn keyword glslType isampler2DMSArray
109syn keyword glslType isampler2DRect
110syn keyword glslType isampler3D
111syn keyword glslType isamplerBuffer
112syn keyword glslType isamplerCube
113syn keyword glslType isamplerCubeArray
114syn keyword glslType ivec2
115syn keyword glslType ivec3
116syn keyword glslType ivec4
117syn keyword glslType mat2
118syn keyword glslType mat2x2
119syn keyword glslType mat2x3
120syn keyword glslType mat2x4
121syn keyword glslType mat3
122syn keyword glslType mat3x2
123syn keyword glslType mat3x3
124syn keyword glslType mat3x4
125syn keyword glslType mat4
126syn keyword glslType mat4x2
127syn keyword glslType mat4x3
128syn keyword glslType mat4x4
129syn keyword glslType rayQueryEXT
130syn keyword glslType sampler1D
131syn keyword glslType sampler1DArray
132syn keyword glslType sampler1DArrayShadow
133syn keyword glslType sampler1DShadow
134syn keyword glslType sampler2D
135syn keyword glslType sampler2DArray
136syn keyword glslType sampler2DArrayShadow
137syn keyword glslType sampler2DMS
138syn keyword glslType sampler2DMSArray
139syn keyword glslType sampler2DRect
140syn keyword glslType sampler2DRectShadow
141syn keyword glslType sampler2DShadow
142syn keyword glslType sampler3D
143syn keyword glslType samplerBuffer
144syn keyword glslType samplerCube
145syn keyword glslType samplerCubeArray
146syn keyword glslType samplerCubeArrayShadow
147syn keyword glslType samplerCubeShadow
148syn keyword glslType uimage1D
149syn keyword glslType uimage1DArray
150syn keyword glslType uimage2D
151syn keyword glslType uimage2DArray
152syn keyword glslType uimage2DMS
153syn keyword glslType uimage2DMSArray
154syn keyword glslType uimage2DRect
155syn keyword glslType uimage3D
156syn keyword glslType uimageBuffer
157syn keyword glslType uimageCube
158syn keyword glslType uimageCubeArray
159syn keyword glslType uint
160syn keyword glslType usampler1D
161syn keyword glslType usampler1DArray
162syn keyword glslType usampler2D
163syn keyword glslType usampler2DArray
164syn keyword glslType usampler2DMS
165syn keyword glslType usampler2DMSArray
166syn keyword glslType usampler2DRect
167syn keyword glslType usampler3D
168syn keyword glslType usamplerBuffer
169syn keyword glslType usamplerCube
170syn keyword glslType usamplerCubeArray
171syn keyword glslType uvec2
172syn keyword glslType uvec3
173syn keyword glslType uvec4
174syn keyword glslType vec2
175syn keyword glslType vec3
176syn keyword glslType vec4
177syn keyword glslType void
178
179" Qualifiers
180syn keyword glslQualifier align
181syn keyword glslQualifier attribute
182syn keyword glslQualifier binding
183syn keyword glslQualifier buffer
184syn keyword glslQualifier callableDataEXT
185syn keyword glslQualifier callableDataInEXT
186syn keyword glslQualifier ccw
187syn keyword glslQualifier centroid
188syn keyword glslQualifier centroid varying
189syn keyword glslQualifier coherent
190syn keyword glslQualifier column_major
191syn keyword glslQualifier const
192syn keyword glslQualifier cw
193syn keyword glslQualifier depth_any
194syn keyword glslQualifier depth_greater
195syn keyword glslQualifier depth_less
196syn keyword glslQualifier depth_unchanged
197syn keyword glslQualifier early_fragment_tests
198syn keyword glslQualifier equal_spacing
199syn keyword glslQualifier flat
200syn keyword glslQualifier fractional_even_spacing
201syn keyword glslQualifier fractional_odd_spacing
202syn keyword glslQualifier highp
203syn keyword glslQualifier hitAttributeEXT
204syn keyword glslQualifier in
205syn keyword glslQualifier index
206syn keyword glslQualifier inout
207syn keyword glslQualifier invariant
208syn keyword glslQualifier invocations
209syn keyword glslQualifier isolines
210syn keyword glslQualifier layout
211syn keyword glslQualifier line_strip
212syn keyword glslQualifier lines
213syn keyword glslQualifier lines_adjacency
214syn keyword glslQualifier local_size_x
215syn keyword glslQualifier local_size_y
216syn keyword glslQualifier local_size_z
217syn keyword glslQualifier location
218syn keyword glslQualifier lowp
219syn keyword glslQualifier max_vertices
220syn keyword glslQualifier mediump
221syn keyword glslQualifier nonuniformEXT
222syn keyword glslQualifier noperspective
223syn keyword glslQualifier offset
224syn keyword glslQualifier origin_upper_left
225syn keyword glslQualifier out
226syn keyword glslQualifier packed
227syn keyword glslQualifier patch
228syn keyword glslQualifier pixel_center_integer
229syn keyword glslQualifier point_mode
230syn keyword glslQualifier points
231syn keyword glslQualifier precise
232syn keyword glslQualifier precision
233syn keyword glslQualifier quads
234syn keyword glslQualifier r11f_g11f_b10f
235syn keyword glslQualifier r16
236syn keyword glslQualifier r16_snorm
237syn keyword glslQualifier r16f
238syn keyword glslQualifier r16i
239syn keyword glslQualifier r16ui
240syn keyword glslQualifier r32f
241syn keyword glslQualifier r32i
242syn keyword glslQualifier r32ui
243syn keyword glslQualifier r8
244syn keyword glslQualifier r8_snorm
245syn keyword glslQualifier r8i
246syn keyword glslQualifier r8ui
247syn keyword glslQualifier rayPayloadEXT
248syn keyword glslQualifier rayPayloadInEXT
249syn keyword glslQualifier readonly
250syn keyword glslQualifier restrict
251syn keyword glslQualifier rg16
252syn keyword glslQualifier rg16_snorm
253syn keyword glslQualifier rg16f
254syn keyword glslQualifier rg16i
255syn keyword glslQualifier rg16ui
256syn keyword glslQualifier rg32f
257syn keyword glslQualifier rg32i
258syn keyword glslQualifier rg32ui
259syn keyword glslQualifier rg8
260syn keyword glslQualifier rg8_snorm
261syn keyword glslQualifier rg8i
262syn keyword glslQualifier rg8ui
263syn keyword glslQualifier rgb10_a2
264syn keyword glslQualifier rgb10_a2ui
265syn keyword glslQualifier rgba16
266syn keyword glslQualifier rgba16_snorm
267syn keyword glslQualifier rgba16f
268syn keyword glslQualifier rgba16i
269syn keyword glslQualifier rgba16ui
270syn keyword glslQualifier rgba32f
271syn keyword glslQualifier rgba32i
272syn keyword glslQualifier rgba32ui
273syn keyword glslQualifier rgba8
274syn keyword glslQualifier rgba8_snorm
275syn keyword glslQualifier rgba8i
276syn keyword glslQualifier rgba8ui
277syn keyword glslQualifier row_major
278syn keyword glslQualifier sample
279syn keyword glslQualifier shaderRecordEXT
280syn keyword glslQualifier shared
281syn keyword glslQualifier smooth
282syn keyword glslQualifier std140
283syn keyword glslQualifier std430
284syn keyword glslQualifier stream
285syn keyword glslQualifier triangle_strip
286syn keyword glslQualifier triangles
287syn keyword glslQualifier triangles_adjacency
288syn keyword glslQualifier uniform
289syn keyword glslQualifier varying
290syn keyword glslQualifier vertices
291syn keyword glslQualifier volatile
292syn keyword glslQualifier writeonly
293syn keyword glslQualifier xfb_buffer
294syn keyword glslQualifier xfb_offset
295syn keyword glslQualifier xfb_stride
296
297" Built-in Constants
298syn keyword glslBuiltinConstant gl_CullDistance
299syn keyword glslBuiltinConstant gl_HitKindBackFacingTriangleEXT
300syn keyword glslBuiltinConstant gl_HitKindFrontFacingTriangleEXT
301syn keyword glslBuiltinConstant gl_MaxAtomicCounterBindings
302syn keyword glslBuiltinConstant gl_MaxAtomicCounterBufferSize
303syn keyword glslBuiltinConstant gl_MaxClipDistances
304syn keyword glslBuiltinConstant gl_MaxClipPlanes
305syn keyword glslBuiltinConstant gl_MaxCombinedAtomicCounterBuffers
306syn keyword glslBuiltinConstant gl_MaxCombinedAtomicCounters
307syn keyword glslBuiltinConstant gl_MaxCombinedClipAndCullDistances
308syn keyword glslBuiltinConstant gl_MaxCombinedImageUniforms
309syn keyword glslBuiltinConstant gl_MaxCombinedImageUnitsAndFragmentOutputs
310syn keyword glslBuiltinConstant gl_MaxCombinedShaderOutputResources
311syn keyword glslBuiltinConstant gl_MaxCombinedTextureImageUnits
312syn keyword glslBuiltinConstant gl_MaxComputeAtomicCounterBuffers
313syn keyword glslBuiltinConstant gl_MaxComputeAtomicCounters
314syn keyword glslBuiltinConstant gl_MaxComputeImageUniforms
315syn keyword glslBuiltinConstant gl_MaxComputeTextureImageUnits
316syn keyword glslBuiltinConstant gl_MaxComputeUniformComponents
317syn keyword glslBuiltinConstant gl_MaxComputeWorkGroupCount
318syn keyword glslBuiltinConstant gl_MaxComputeWorkGroupSize
319syn keyword glslBuiltinConstant gl_MaxCullDistances
320syn keyword glslBuiltinConstant gl_MaxDrawBuffers
321syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounterBuffers
322syn keyword glslBuiltinConstant gl_MaxFragmentAtomicCounters
323syn keyword glslBuiltinConstant gl_MaxFragmentImageUniforms
324syn keyword glslBuiltinConstant gl_MaxFragmentInputComponents
325syn keyword glslBuiltinConstant gl_MaxFragmentInputVectors
326syn keyword glslBuiltinConstant gl_MaxFragmentUniformComponents
327syn keyword glslBuiltinConstant gl_MaxFragmentUniformVectors
328syn keyword glslBuiltinConstant gl_MaxGeometryAtomicCounterBuffers
329syn keyword glslBuiltinConstant gl_MaxGeometryAtomicCounters
330syn keyword glslBuiltinConstant gl_MaxGeometryImageUniforms
331syn keyword glslBuiltinConstant gl_MaxGeometryInputComponents
332syn keyword glslBuiltinConstant gl_MaxGeometryOutputComponents
333syn keyword glslBuiltinConstant gl_MaxGeometryOutputVertices
334syn keyword glslBuiltinConstant gl_MaxGeometryTextureImageUnits
335syn keyword glslBuiltinConstant gl_MaxGeometryTotalOutputComponents
336syn keyword glslBuiltinConstant gl_MaxGeometryUniformComponents
337syn keyword glslBuiltinConstant gl_MaxGeometryVaryingComponents
338syn keyword glslBuiltinConstant gl_MaxImageSamples
339syn keyword glslBuiltinConstant gl_MaxImageUnits
340syn keyword glslBuiltinConstant gl_MaxLights
341syn keyword glslBuiltinConstant gl_MaxPatchVertices
342syn keyword glslBuiltinConstant gl_MaxProgramTexelOffset
343syn keyword glslBuiltinConstant gl_MaxSamples
344syn keyword glslBuiltinConstant gl_MaxTessControlAtomicCounterBuffers
345syn keyword glslBuiltinConstant gl_MaxTessControlAtomicCounters
346syn keyword glslBuiltinConstant gl_MaxTessControlImageUniforms
347syn keyword glslBuiltinConstant gl_MaxTessControlInputComponents
348syn keyword glslBuiltinConstant gl_MaxTessControlOutputComponents
349syn keyword glslBuiltinConstant gl_MaxTessControlTextureImageUnits
350syn keyword glslBuiltinConstant gl_MaxTessControlTotalOutputComponents
351syn keyword glslBuiltinConstant gl_MaxTessControlUniformComponents
352syn keyword glslBuiltinConstant gl_MaxTessEvaluationAtomicCounterBuffers
353syn keyword glslBuiltinConstant gl_MaxTessEvaluationAtomicCounters
354syn keyword glslBuiltinConstant gl_MaxTessEvaluationImageUniforms
355syn keyword glslBuiltinConstant gl_MaxTessEvaluationInputComponents
356syn keyword glslBuiltinConstant gl_MaxTessEvaluationOutputComponents
357syn keyword glslBuiltinConstant gl_MaxTessEvaluationTextureImageUnits
358syn keyword glslBuiltinConstant gl_MaxTessEvaluationUniformComponents
359syn keyword glslBuiltinConstant gl_MaxTessGenLevel
360syn keyword glslBuiltinConstant gl_MaxTessPatchComponents
361syn keyword glslBuiltinConstant gl_MaxTextureCoords
362syn keyword glslBuiltinConstant gl_MaxTextureImageUnits
363syn keyword glslBuiltinConstant gl_MaxTextureUnits
364syn keyword glslBuiltinConstant gl_MaxTransformFeedbackBuffers
365syn keyword glslBuiltinConstant gl_MaxTransformFeedbackInterleavedComponents
366syn keyword glslBuiltinConstant gl_MaxVaryingComponents
367syn keyword glslBuiltinConstant gl_MaxVaryingFloats
368syn keyword glslBuiltinConstant gl_MaxVaryingVectors
369syn keyword glslBuiltinConstant gl_MaxVertexAtomicCounterBuffers
370syn keyword glslBuiltinConstant gl_MaxVertexAtomicCounters
371syn keyword glslBuiltinConstant gl_MaxVertexAttribs
372syn keyword glslBuiltinConstant gl_MaxVertexImageUniforms
373syn keyword glslBuiltinConstant gl_MaxVertexOutputComponents
374syn keyword glslBuiltinConstant gl_MaxVertexOutputVectors
375syn keyword glslBuiltinConstant gl_MaxVertexTextureImageUnits
376syn keyword glslBuiltinConstant gl_MaxVertexUniformComponents
377syn keyword glslBuiltinConstant gl_MaxVertexUniformVectors
378syn keyword glslBuiltinConstant gl_MaxViewports
379syn keyword glslBuiltinConstant gl_MinProgramTexelOffset
380syn keyword glslBuiltinConstant gl_RayFlagsCullBackFacingTrianglesEXT
381syn keyword glslBuiltinConstant gl_RayFlagsCullFrontFacingTrianglesEXT
382syn keyword glslBuiltinConstant gl_RayFlagsCullNoOpaqueEXT
383syn keyword glslBuiltinConstant gl_RayFlagsCullOpaqueEXT
384syn keyword glslBuiltinConstant gl_RayFlagsNoOpaqueEXT
385syn keyword glslBuiltinConstant gl_RayFlagsNoneEXT
386syn keyword glslBuiltinConstant gl_RayFlagsOpaqueEXT
387syn keyword glslBuiltinConstant gl_RayFlagsSkipClosestHitShaderEXT
388syn keyword glslBuiltinConstant gl_RayFlagsTerminateOnFirstHitEXT
389syn keyword glslBuiltinConstant gl_RayQueryCandidateIntersectionAABBEXT
390syn keyword glslBuiltinConstant gl_RayQueryCandidateIntersectionTriangleEXT
391syn keyword glslBuiltinConstant gl_RayQueryCommittedIntersectionGeneratedEXT
392syn keyword glslBuiltinConstant gl_RayQueryCommittedIntersectionNoneEXT
393syn keyword glslBuiltinConstant gl_RayQueryCommittedIntersectionTriangleEXT
394
395" Built-in Variables
396syn keyword glslBuiltinVariable gl_BackColor
397syn keyword glslBuiltinVariable gl_BackLightModelProduct
398syn keyword glslBuiltinVariable gl_BackLightProduct
399syn keyword glslBuiltinVariable gl_BackLightProduct
400syn keyword glslBuiltinVariable gl_BackMaterial
401syn keyword glslBuiltinVariable gl_BackSecondaryColor
402syn keyword glslBuiltinVariable gl_ClipDistance
403syn keyword glslBuiltinVariable gl_ClipPlane
404syn keyword glslBuiltinVariable gl_ClipVertex
405syn keyword glslBuiltinVariable gl_Color
406syn keyword glslBuiltinVariable gl_DepthRange
407syn keyword glslBuiltinVariable gl_EyePlaneQ
408syn keyword glslBuiltinVariable gl_EyePlaneR
409syn keyword glslBuiltinVariable gl_EyePlaneS
410syn keyword glslBuiltinVariable gl_EyePlaneT
411syn keyword glslBuiltinVariable gl_Fog
412syn keyword glslBuiltinVariable gl_FogCoord
413syn keyword glslBuiltinVariable gl_FogFragCoord
414syn keyword glslBuiltinVariable gl_FragColor
415syn keyword glslBuiltinVariable gl_FragCoord
416syn keyword glslBuiltinVariable gl_FragData
417syn keyword glslBuiltinVariable gl_FragDepth
418syn keyword glslBuiltinVariable gl_FrontColor
419syn keyword glslBuiltinVariable gl_FrontFacing
420syn keyword glslBuiltinVariable gl_FrontLightModelProduct
421syn keyword glslBuiltinVariable gl_FrontLightProduct
422syn keyword glslBuiltinVariable gl_FrontMaterial
423syn keyword glslBuiltinVariable gl_FrontSecondaryColor
424syn keyword glslBuiltinVariable gl_GeometryIndexEXT
425syn keyword glslBuiltinVariable gl_GlobalInvocationID
426syn keyword glslBuiltinVariable gl_HelperInvocation
427syn keyword glslBuiltinVariable gl_HitKindEXT
428syn keyword glslBuiltinVariable gl_HitTEXT
429syn keyword glslBuiltinVariable gl_IncomingRayFlagsEXT
430syn keyword glslBuiltinVariable gl_InstanceCustomIndexEXT
431syn keyword glslBuiltinVariable gl_InstanceID
432syn keyword glslBuiltinVariable gl_InstanceID
433syn keyword glslBuiltinVariable gl_InvocationID
434syn keyword glslBuiltinVariable gl_LaunchIDEXT
435syn keyword glslBuiltinVariable gl_LaunchSizeEXT
436syn keyword glslBuiltinVariable gl_Layer
437syn keyword glslBuiltinVariable gl_LightModel
438syn keyword glslBuiltinVariable gl_LightSource
439syn keyword glslBuiltinVariable gl_LocalInvocationID
440syn keyword glslBuiltinVariable gl_LocalInvocationIndex
441syn keyword glslBuiltinVariable gl_ModelViewMatrix
442syn keyword glslBuiltinVariable gl_ModelViewMatrixInverse
443syn keyword glslBuiltinVariable gl_ModelViewMatrixInverseTranspose
444syn keyword glslBuiltinVariable gl_ModelViewMatrixTranspose
445syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrix
446syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrixInverse
447syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrixInverseTranspose
448syn keyword glslBuiltinVariable gl_ModelViewProjectionMatrixTranspose
449syn keyword glslBuiltinVariable gl_MultiTexCoord0
450syn keyword glslBuiltinVariable gl_MultiTexCoord1
451syn keyword glslBuiltinVariable gl_MultiTexCoord2
452syn keyword glslBuiltinVariable gl_MultiTexCoord3
453syn keyword glslBuiltinVariable gl_MultiTexCoord4
454syn keyword glslBuiltinVariable gl_MultiTexCoord5
455syn keyword glslBuiltinVariable gl_MultiTexCoord6
456syn keyword glslBuiltinVariable gl_MultiTexCoord7
457syn keyword glslBuiltinVariable gl_Normal
458syn keyword glslBuiltinVariable gl_NormalMatrix
459syn keyword glslBuiltinVariable gl_NormalScale
460syn keyword glslBuiltinVariable gl_NumSamples
461syn keyword glslBuiltinVariable gl_NumWorkGroups
462syn keyword glslBuiltinVariable gl_ObjectPlaneQ
463syn keyword glslBuiltinVariable gl_ObjectPlaneR
464syn keyword glslBuiltinVariable gl_ObjectPlaneS
465syn keyword glslBuiltinVariable gl_ObjectPlaneT
466syn keyword glslBuiltinVariable gl_ObjectRayDirectionEXT
467syn keyword glslBuiltinVariable gl_ObjectRayOriginEXT
468syn keyword glslBuiltinVariable gl_ObjectToWorld3x4EXT
469syn keyword glslBuiltinVariable gl_ObjectToWorldEXT
470syn keyword glslBuiltinVariable gl_PatchVerticesIn
471syn keyword glslBuiltinVariable gl_Point
472syn keyword glslBuiltinVariable gl_PointCoord
473syn keyword glslBuiltinVariable gl_PointSize
474syn keyword glslBuiltinVariable gl_Position
475syn keyword glslBuiltinVariable gl_PrimitiveID
476syn keyword glslBuiltinVariable gl_PrimitiveID
477syn keyword glslBuiltinVariable gl_PrimitiveIDIn
478syn keyword glslBuiltinVariable gl_ProjectionMatrix
479syn keyword glslBuiltinVariable gl_ProjectionMatrixInverse
480syn keyword glslBuiltinVariable gl_ProjectionMatrixInverseTranspose
481syn keyword glslBuiltinVariable gl_ProjectionMatrixTranspose
482syn keyword glslBuiltinVariable gl_RayTmaxEXT
483syn keyword glslBuiltinVariable gl_RayTminEXT
484syn keyword glslBuiltinVariable gl_SampleID
485syn keyword glslBuiltinVariable gl_SampleMask
486syn keyword glslBuiltinVariable gl_SampleMaskIn
487syn keyword glslBuiltinVariable gl_SamplePosition
488syn keyword glslBuiltinVariable gl_SecondaryColor
489syn keyword glslBuiltinVariable gl_TessCoord
490syn keyword glslBuiltinVariable gl_TessLevelInner
491syn keyword glslBuiltinVariable gl_TessLevelOuter
492syn keyword glslBuiltinVariable gl_TexCoord
493syn keyword glslBuiltinVariable gl_TextureEnvColor
494syn keyword glslBuiltinVariable gl_TextureMatrix
495syn keyword glslBuiltinVariable gl_TextureMatrixInverse
496syn keyword glslBuiltinVariable gl_TextureMatrixInverseTranspose
497syn keyword glslBuiltinVariable gl_TextureMatrixTranspose
498syn keyword glslBuiltinVariable gl_Vertex
499syn keyword glslBuiltinVariable gl_VertexID
500syn keyword glslBuiltinVariable gl_VertexIndex
501syn keyword glslBuiltinVariable gl_ViewportIndex
502syn keyword glslBuiltinVariable gl_WorkGroupID
503syn keyword glslBuiltinVariable gl_WorkGroupSize
504syn keyword glslBuiltinVariable gl_WorldRayDirectionEXT
505syn keyword glslBuiltinVariable gl_WorldRayOriginEXT
506syn keyword glslBuiltinVariable gl_WorldToObject3x4EXT
507syn keyword glslBuiltinVariable gl_WorldToObjectEXT
508syn keyword glslBuiltinVariable gl_in
509syn keyword glslBuiltinVariable gl_out
510
511" Built-in Functions
512syn keyword glslBuiltinFunction EmitStreamVertex
513syn keyword glslBuiltinFunction EmitVertex
514syn keyword glslBuiltinFunction EndPrimitive
515syn keyword glslBuiltinFunction EndStreamPrimitive
516syn keyword glslBuiltinFunction abs
517syn keyword glslBuiltinFunction acos
518syn keyword glslBuiltinFunction acosh
519syn keyword glslBuiltinFunction all
520syn keyword glslBuiltinFunction any
521syn keyword glslBuiltinFunction asin
522syn keyword glslBuiltinFunction asinh
523syn keyword glslBuiltinFunction atan
524syn keyword glslBuiltinFunction atanh
525syn keyword glslBuiltinFunction atomicAdd
526syn keyword glslBuiltinFunction atomicAnd
527syn keyword glslBuiltinFunction atomicCompSwap
528syn keyword glslBuiltinFunction atomicCounter
529syn keyword glslBuiltinFunction atomicCounterDecrement
530syn keyword glslBuiltinFunction atomicCounterIncrement
531syn keyword glslBuiltinFunction atomicExchange
532syn keyword glslBuiltinFunction atomicMax
533syn keyword glslBuiltinFunction atomicMin
534syn keyword glslBuiltinFunction atomicOr
535syn keyword glslBuiltinFunction atomicXor
536syn keyword glslBuiltinFunction barrier
537syn keyword glslBuiltinFunction bitCount
538syn keyword glslBuiltinFunction bitfieldExtract
539syn keyword glslBuiltinFunction bitfieldInsert
540syn keyword glslBuiltinFunction bitfieldReverse
541syn keyword glslBuiltinFunction ceil
542syn keyword glslBuiltinFunction clamp
543syn keyword glslBuiltinFunction cos
544syn keyword glslBuiltinFunction cosh
545syn keyword glslBuiltinFunction cross
546syn keyword glslBuiltinFunction dFdx
547syn keyword glslBuiltinFunction dFdxCoarse
548syn keyword glslBuiltinFunction dFdxFine
549syn keyword glslBuiltinFunction dFdy
550syn keyword glslBuiltinFunction dFdyCoarse
551syn keyword glslBuiltinFunction dFdyFine
552syn keyword glslBuiltinFunction degrees
553syn keyword glslBuiltinFunction determinant
554syn keyword glslBuiltinFunction distance
555syn keyword glslBuiltinFunction dot
556syn keyword glslBuiltinFunction equal
557syn keyword glslBuiltinFunction executeCallableEXT
558syn keyword glslBuiltinFunction exp
559syn keyword glslBuiltinFunction exp2
560syn keyword glslBuiltinFunction faceforward
561syn keyword glslBuiltinFunction findLSB
562syn keyword glslBuiltinFunction findMSB
563syn keyword glslBuiltinFunction floatBitsToInt
564syn keyword glslBuiltinFunction floatBitsToUint
565syn keyword glslBuiltinFunction floor
566syn keyword glslBuiltinFunction fma
567syn keyword glslBuiltinFunction fract
568syn keyword glslBuiltinFunction frexp
569syn keyword glslBuiltinFunction ftransform
570syn keyword glslBuiltinFunction fwidth
571syn keyword glslBuiltinFunction fwidthCoarse
572syn keyword glslBuiltinFunction fwidthFine
573syn keyword glslBuiltinFunction greaterThan
574syn keyword glslBuiltinFunction greaterThanEqual
575syn keyword glslBuiltinFunction groupMemoryBarrier
576syn keyword glslBuiltinFunction ignoreIntersectionEXT
577syn keyword glslBuiltinFunction imageAtomicAdd
578syn keyword glslBuiltinFunction imageAtomicAnd
579syn keyword glslBuiltinFunction imageAtomicCompSwap
580syn keyword glslBuiltinFunction imageAtomicExchange
581syn keyword glslBuiltinFunction imageAtomicMax
582syn keyword glslBuiltinFunction imageAtomicMin
583syn keyword glslBuiltinFunction imageAtomicOr
584syn keyword glslBuiltinFunction imageAtomicXor
585syn keyword glslBuiltinFunction imageLoad
586syn keyword glslBuiltinFunction imageSize
587syn keyword glslBuiltinFunction imageStore
588syn keyword glslBuiltinFunction imulExtended
589syn keyword glslBuiltinFunction intBitsToFloat
590syn keyword glslBuiltinFunction interpolateAtCentroid
591syn keyword glslBuiltinFunction interpolateAtOffset
592syn keyword glslBuiltinFunction interpolateAtSample
593syn keyword glslBuiltinFunction inverse
594syn keyword glslBuiltinFunction inversesqrt
595syn keyword glslBuiltinFunction isinf
596syn keyword glslBuiltinFunction isnan
597syn keyword glslBuiltinFunction ldexp
598syn keyword glslBuiltinFunction length
599syn keyword glslBuiltinFunction lessThan
600syn keyword glslBuiltinFunction lessThanEqual
601syn keyword glslBuiltinFunction log
602syn keyword glslBuiltinFunction log2
603syn keyword glslBuiltinFunction matrixCompMult
604syn keyword glslBuiltinFunction max
605syn keyword glslBuiltinFunction memoryBarrier
606syn keyword glslBuiltinFunction memoryBarrierAtomicCounter
607syn keyword glslBuiltinFunction memoryBarrierBuffer
608syn keyword glslBuiltinFunction memoryBarrierImage
609syn keyword glslBuiltinFunction memoryBarrierShared
610syn keyword glslBuiltinFunction min
611syn keyword glslBuiltinFunction mix
612syn keyword glslBuiltinFunction mod
613syn keyword glslBuiltinFunction modf
614syn keyword glslBuiltinFunction noise1
615syn keyword glslBuiltinFunction noise2
616syn keyword glslBuiltinFunction noise3
617syn keyword glslBuiltinFunction noise4
618syn keyword glslBuiltinFunction normalize
619syn keyword glslBuiltinFunction not
620syn keyword glslBuiltinFunction notEqual
621syn keyword glslBuiltinFunction outerProduct
622syn keyword glslBuiltinFunction packDouble2x32
623syn keyword glslBuiltinFunction packHalf2x16
624syn keyword glslBuiltinFunction packSnorm2x16
625syn keyword glslBuiltinFunction packSnorm4x8
626syn keyword glslBuiltinFunction packUnorm2x16
627syn keyword glslBuiltinFunction packUnorm4x8
628syn keyword glslBuiltinFunction pow
629syn keyword glslBuiltinFunction radians
630syn keyword glslBuiltinFunction rayQueryConfirmIntersectionEXT
631syn keyword glslBuiltinFunction rayQueryGenerateIntersectionEXT
632syn keyword glslBuiltinFunction rayQueryGetIntersectionBarycentricsEXT
633syn keyword glslBuiltinFunction rayQueryGetIntersectionCandidateAABBOpaqueEXT
634syn keyword glslBuiltinFunction rayQueryGetIntersectionFrontFaceEXT
635syn keyword glslBuiltinFunction rayQueryGetIntersectionGeometryIndexEXT
636syn keyword glslBuiltinFunction rayQueryGetIntersectionInstanceCustomIndexEXT
637syn keyword glslBuiltinFunction rayQueryGetIntersectionInstanceIdEXT
638syn keyword glslBuiltinFunction rayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetEXT
639syn keyword glslBuiltinFunction rayQueryGetIntersectionObjectRayDirectionEXT
640syn keyword glslBuiltinFunction rayQueryGetIntersectionObjectRayOriginEXT
641syn keyword glslBuiltinFunction rayQueryGetIntersectionObjectToWorldEXT
642syn keyword glslBuiltinFunction rayQueryGetIntersectionPrimitiveIndexEXT
643syn keyword glslBuiltinFunction rayQueryGetIntersectionTEXT
644syn keyword glslBuiltinFunction rayQueryGetIntersectionTypeEXT
645syn keyword glslBuiltinFunction rayQueryGetIntersectionWorldToObjectEXT
646syn keyword glslBuiltinFunction rayQueryGetRayFlagsEXT
647syn keyword glslBuiltinFunction rayQueryGetRayTMinEXT
648syn keyword glslBuiltinFunction rayQueryGetWorldRayDirectionEXT
649syn keyword glslBuiltinFunction rayQueryGetWorldRayOriginEXT
650syn keyword glslBuiltinFunction rayQueryInitializeEXT
651syn keyword glslBuiltinFunction rayQueryProceedEXT
652syn keyword glslBuiltinFunction rayQueryTerminateEXT
653syn keyword glslBuiltinFunction reflect
654syn keyword glslBuiltinFunction refract
655syn keyword glslBuiltinFunction reportIntersectionEXT
656syn keyword glslBuiltinFunction round
657syn keyword glslBuiltinFunction roundEven
658syn keyword glslBuiltinFunction shadow1D
659syn keyword glslBuiltinFunction shadow1DLod
660syn keyword glslBuiltinFunction shadow1DProj
661syn keyword glslBuiltinFunction shadow1DProjLod
662syn keyword glslBuiltinFunction shadow2D
663syn keyword glslBuiltinFunction shadow2DLod
664syn keyword glslBuiltinFunction shadow2DProj
665syn keyword glslBuiltinFunction shadow2DProjLod
666syn keyword glslBuiltinFunction sign
667syn keyword glslBuiltinFunction sin
668syn keyword glslBuiltinFunction sinh
669syn keyword glslBuiltinFunction smoothstep
670syn keyword glslBuiltinFunction sqrt
671syn keyword glslBuiltinFunction step
672syn keyword glslBuiltinFunction tan
673syn keyword glslBuiltinFunction tanh
674syn keyword glslBuiltinFunction terminateRayEXT
675syn keyword glslBuiltinFunction texelFetch
676syn keyword glslBuiltinFunction texelFetchOffset
677syn keyword glslBuiltinFunction texture
678syn keyword glslBuiltinFunction texture1D
679syn keyword glslBuiltinFunction texture1DLod
680syn keyword glslBuiltinFunction texture1DProj
681syn keyword glslBuiltinFunction texture1DProjLod
682syn keyword glslBuiltinFunction texture2D
683syn keyword glslBuiltinFunction texture2DLod
684syn keyword glslBuiltinFunction texture2DProj
685syn keyword glslBuiltinFunction texture2DProjLod
686syn keyword glslBuiltinFunction texture3D
687syn keyword glslBuiltinFunction texture3DLod
688syn keyword glslBuiltinFunction texture3DProj
689syn keyword glslBuiltinFunction texture3DProjLod
690syn keyword glslBuiltinFunction textureCube
691syn keyword glslBuiltinFunction textureCubeLod
692syn keyword glslBuiltinFunction textureGather
693syn keyword glslBuiltinFunction textureGatherOffset
694syn keyword glslBuiltinFunction textureGatherOffsets
695syn keyword glslBuiltinFunction textureGrad
696syn keyword glslBuiltinFunction textureGradOffset
697syn keyword glslBuiltinFunction textureLod
698syn keyword glslBuiltinFunction textureLodOffset
699syn keyword glslBuiltinFunction textureOffset
700syn keyword glslBuiltinFunction textureProj
701syn keyword glslBuiltinFunction textureProjGrad
702syn keyword glslBuiltinFunction textureProjGradOffset
703syn keyword glslBuiltinFunction textureProjLod
704syn keyword glslBuiltinFunction textureProjLodOffset
705syn keyword glslBuiltinFunction textureProjOffset
706syn keyword glslBuiltinFunction textureQueryLevels
707syn keyword glslBuiltinFunction textureQueryLod
708syn keyword glslBuiltinFunction textureSize
709syn keyword glslBuiltinFunction traceRayEXT
710syn keyword glslBuiltinFunction transpose
711syn keyword glslBuiltinFunction trunc
712syn keyword glslBuiltinFunction uaddCarry
713syn keyword glslBuiltinFunction uintBitsToFloat
714syn keyword glslBuiltinFunction umulExtended
715syn keyword glslBuiltinFunction unpackDouble2x32
716syn keyword glslBuiltinFunction unpackHalf2x16
717syn keyword glslBuiltinFunction unpackSnorm2x16
718syn keyword glslBuiltinFunction unpackSnorm4x8
719syn keyword glslBuiltinFunction unpackUnorm2x16
720syn keyword glslBuiltinFunction unpackUnorm4x8
721syn keyword glslBuiltinFunction usubBorrow
722
723hi def link glslConditional Conditional
724hi def link glslRepeat Repeat
725hi def link glslStatement Statement
726hi def link glslTodo Todo
727hi def link glslCommentL glslComment
728hi def link glslCommentStart glslComment
729hi def link glslComment Comment
730hi def link glslPreCondit PreCondit
731hi def link glslDefine Define
732hi def link glslTokenConcat glslPreProc
733hi def link glslPredefinedMacro Macro
734hi def link glslPreProc PreProc
735hi def link glslInclude Include
736hi def link glslBoolean Boolean
737hi def link glslDecimalInt glslInteger
738hi def link glslOctalInt glslInteger
739hi def link glslHexInt glslInteger
740hi def link glslInteger Number
741hi def link glslFloat Float
742hi def link glslIdentifierPrime glslIdentifier
743hi def link glslIdentifier Identifier
744hi def link glslStructure Structure
745hi def link glslType Type
746hi def link glslQualifier StorageClass
747hi def link glslBuiltinConstant Constant
748hi def link glslBuiltinFunction Function
749hi def link glslBuiltinVariable Identifier
750hi def link glslSwizzle Identifier
751
752let b:current_syntax = 'glsl'