shaderslang.vim (29691B)
1 " Vim syntax file 2 " Language: Slang 3 " Maintainer: Austin Shijo <epestr@proton.me> 4 " Last Change: 2024 Jan 05 5 6 if exists("b:current_syntax") 7 finish 8 endif 9 10 " Read the C syntax to start with 11 runtime! syntax/c.vim 12 unlet b:current_syntax 13 14 " Annotations 15 syn match shaderslangAnnotation /<.*;>/ 16 17 " Attributes 18 syn match shaderslangAttribute /^\s*\[maxvertexcount(\s*\w\+\s*)\]/ 19 syn match shaderslangAttribute /^\s*\[domain(\s*"\(tri\|quad\|isoline\)"\s*)\]/ 20 syn match shaderslangAttribute /^\s*\[earlydepthstencil\]/ 21 syn match shaderslangAttribute /^\s*\[instance(\s*\w\+\s*)\]/ 22 syn match shaderslangAttribute /^\s*\[maxtessfactor(\s*\w\+\s*)\]/ 23 syn match shaderslangAttribute /^\s*\[numthreads(\s*\w\+\s*,\s*\w\+\s*,\s*\w\+\s*)\]/ 24 syn match shaderslangAttribute /^\s*\[outputcontrolpoints(\s*\w\+\s*)\]/ 25 syn match shaderslangAttribute /^\s*\[outputtopology(\s*"\(point\|line\|triangle_cw\|triangle_ccw\|triangle\)"\s*)\]/ 26 syn match shaderslangAttribute /^\s*\[partitioning(\s*"\(integer\|fractional_even\|fractional_odd\|pow2\)"\s*)\]/ 27 syn match shaderslangAttribute /^\s*\[patchconstantfunc(\s*"\(\d\|\w\|_\)\+"\s*)\]/ 28 syn match shaderslangAttribute /^\s*\[WaveSize(\s*\w\+\(\s*,\s*\w\+\(\s*,\s*\w\+\)\?\)\?\s*)\]/ 29 syn match shaderslangAttribute /^\s*\[shader(\s*"\(anyhit\|callable\|closesthit\|intersection\|miss\|raygeneration\)"\s*)\]/ 30 31 syn match shaderslangAttribute /^\s*\[fastopt\]/ 32 syn match shaderslangAttribute /^\s*\[loop\]/ 33 syn match shaderslangAttribute /^\s*\[unroll\]/ 34 syn match shaderslangAttribute /^\s*\[allow_uav_condition\]/ 35 syn match shaderslangAttribute /^\s*\[branch\]/ 36 syn match shaderslangAttribute /^\s*\[flatten\]/ 37 syn match shaderslangAttribute /^\s*\[forcecase\]/ 38 syn match shaderslangAttribute /^\s*\[call\]/ 39 syn match shaderslangAttribute /^\s*\[WaveOpsIncludeHelperLanes\]/ 40 41 syn match shaderslangAttribute /\[raypayload\]/ 42 43 " Work graph shader target attributes 44 syn match shaderslangAttribute /^\s*\[Shader(\s*"\(\d\|\w\|_\)\+"\s*)\]/ 45 46 " Work graph shader function attributes 47 syn match shaderslangAttribute /^\s*\[NodeLaunch(\s*"\(broadcasting\|coalescing\|thread\)"\s*)\]/ 48 syn match shaderslangAttribute /^\s*\[NodeIsProgramEntry\]/ 49 syn match shaderslangAttribute /^\s*\[NodeLocalRootArgumentsTableIndex(\s*\w\+\s*)\]/ 50 syn match shaderslangAttribute /^\s*\[NumThreads(\s*\w\+\s*,\s*\w\+\s*,\s*\w\+\s*)\]/ 51 syn match shaderslangAttribute /^\s*\[NodeShareInputOf(\s*"\w\+"\(\s*,\s*\w\+\)\?\s*)\]/ 52 syn match shaderslangAttribute /^\s*\[NodeDispatchGrid(\s*\w\+\s*,\s*\w\+\s*,\s*\w\+\s*)\]/ 53 syn match shaderslangAttribute /^\s*\[NodeMaxDispatchGrid(\s*\w\+\s*,\s*\w\+\s*,\s*\w\+\s*)\]/ 54 syn match shaderslangAttribute /^\s*\[NodeMaxRecursionDepth(\s*\w\+\s*)\]/ 55 syn match shaderslangAttribute /^\s*\[NodeMaxInputRecordsPerGraphEntryRecord(\s*\w\+\s*,\s*\(true\|false\)\s*)\]/ 56 57 " Work graph record attributes 58 syn match shaderslangAttribute /\[NodeTrackRWInputSharing\]/ 59 syn match shaderslangAttribute /\[MaxRecords(\s*\w\+\s*)\]/ 60 syn match shaderslangAttribute /\[NodeID(\s*"\w\+"\(\s*,\s*\w\+\)\?\s*)\]/ 61 syn match shaderslangAttribute /\[MaxRecordsSharedWith(\s*\w\+\s*)\]/ 62 syn match shaderslangAttribute /\[AllowSparseNodes\]/ 63 syn match shaderslangAttribute /\[NodeArraySize(\s*\w\+\s*)\]/ 64 syn match shaderslangAttribute /\[UnboundedSparseNodes\]/ 65 66 " Intrinsic functions 67 syn keyword shaderslangFunc abs acos acosh asin asinh atan atanh cos cosh exp exp2 floor log log10 log2 round rsqrt sin sincos sinh sqrt tan tanh trunc 68 syn keyword shaderslangFunc AllMemoryBarrier AllMemoryBarrierWithGroupSync DeviceMemoryBarrier DeviceMemoryBarrierWithGroupSync GroupMemoryBarrier GroupMemoryBarrierWithGroupSync 69 syn keyword shaderslangFunc abort clip errorf printf 70 syn keyword shaderslangFunc all any countbits faceforward firstbithigh firstbitlow isfinite isinf isnan max min noise pow reversebits sign 71 syn keyword shaderslangFunc asdouble asfloat asint asuint D3DCOLORtoUBYTE4 f16tof32 f32tof16 72 syn keyword shaderslangFunc ceil clamp degrees fma fmod frac frexp ldexp lerp mad modf radiants saturate smoothstep step 73 syn keyword shaderslangFunc cross determinant distance dot dst length lit msad4 mul normalize rcp reflect refract transpose 74 syn keyword shaderslangFunc ddx ddx_coarse ddx_fine ddy ddy_coarse ddy_fine fwidth 75 syn keyword shaderslangFunc EvaluateAttributeAtCentroid EvaluateAttributeAtSample EvaluateAttributeSnapped 76 syn keyword shaderslangFunc GetRenderTargetSampleCount GetRenderTargetSamplePosition 77 syn keyword shaderslangFunc InterlockedAdd InterlockedAnd InterlockedCompareExchange InterlockedCompareStore InterlockedExchange InterlockedMax InterlockedMin InterlockedOr InterlockedXor 78 syn keyword shaderslangFunc InterlockedCompareStoreFloatBitwise InterlockedCompareExchangeFloatBitwise 79 syn keyword shaderslangFunc Process2DQuadTessFactorsAvg Process2DQuadTessFactorsMax Process2DQuadTessFactorsMin ProcessIsolineTessFactors 80 syn keyword shaderslangFunc ProcessQuadTessFactorsAvg ProcessQuadTessFactorsMax ProcessQuadTessFactorsMin ProcessTriTessFactorsAvg ProcessTriTessFactorsMax ProcessTriTessFactorsMin 81 syn keyword shaderslangFunc tex1D tex1Dbias tex1Dgrad tex1Dlod tex1Dproj 82 syn keyword shaderslangFunc tex2D tex2Dbias tex2Dgrad tex2Dlod tex2Dproj 83 syn keyword shaderslangFunc tex3D tex3Dbias tex3Dgrad tex3Dlod tex3Dproj 84 syn keyword shaderslangFunc texCUBE texCUBEbias texCUBEgrad texCUBElod texCUBEproj 85 syn keyword shaderslangFunc WaveIsFirstLane WaveGetLaneCount WaveGetLaneIndex 86 syn keyword shaderslangFunc IsHelperLane 87 syn keyword shaderslangFunc WaveActiveAnyTrue WaveActiveAllTrue WaveActiveBallot 88 syn keyword shaderslangFunc WaveReadLaneFirst WaveReadLaneAt 89 syn keyword shaderslangFunc WaveActiveAllEqual WaveActiveAllEqualBool WaveActiveCountBits 90 syn keyword shaderslangFunc WaveActiveSum WaveActiveProduct WaveActiveBitAnd WaveActiveBitOr WaveActiveBitXor WaveActiveMin WaveActiveMax 91 syn keyword shaderslangFunc WavePrefixCountBits WavePrefixProduct WavePrefixSum 92 syn keyword shaderslangFunc QuadReadAcrossX QuadReadAcrossY QuadReadAcrossDiagonal QuadReadLaneAt 93 syn keyword shaderslangFunc QuadAny QuadAll 94 syn keyword shaderslangFunc WaveMatch WaveMultiPrefixSum WaveMultiPrefixProduct WaveMultiPrefixCountBits WaveMultiPrefixAnd WaveMultiPrefixOr WaveMultiPrefixXor 95 syn keyword shaderslangFunc NonUniformResourceIndex 96 syn keyword shaderslangFunc DispatchMesh SetMeshOutputCounts 97 syn keyword shaderslangFunc dot4add_u8packed dot4add_i8packed dot2add 98 99 syn keyword shaderslangFunc RestartStrip 100 syn keyword shaderslangFunc CalculateLevelOfDetail CalculateLevelOfDetailUnclamped Gather GetDimensions GetSamplePosition Load Sample SampleBias SampleCmp SampleCmpLevelZero SampleGrad SampleLevel GatherRaw SampleCmpLevel 101 syn keyword shaderslangFunc SampleCmpBias SampleCmpGrad 102 syn keyword shaderslangFunc WriteSamplerFeedback WriteSamplerFeedbackBias WriteSamplerFeedbackGrad WriteSamplerFeedbackLevel 103 syn keyword shaderslangFunc Append Consume DecrementCounter IncrementCounter 104 syn keyword shaderslangFunc Load2 Load3 Load4 Store Store2 Store3 Store4 105 syn keyword shaderslangFunc GatherRed GatherGreen GatherBlue GatherAlpha GatherCmp GatherCmpRed GatherCmpGreen GatherCmpBlue GatherCmpAlpha 106 syn match shaderslangFunc /\.mips\[\d\+\]\[\d\+\]/ 107 syn match shaderslangFunc /\.sample\[\d\+\]\[\d\+\]/ 108 109 " Ray intrinsics 110 syn keyword shaderslangFunc AcceptHitAndEndSearch CallShader IgnoreHit ReportHit TraceRay 111 syn keyword shaderslangFunc DispatchRaysIndex DispatchRaysDimensions 112 syn keyword shaderslangFunc WorldRayOrigin WorldRayDirection RayTMin RayTCurrent RayFlags 113 syn keyword shaderslangFunc InstanceIndex InstanceID GeometryIndex PrimitiveIndex ObjectRayOrigin ObjectRayDirection ObjectToWorld3x4 ObjectToWorld4x3 WorldToObject3x4 WorldToObject4x3 114 syn keyword shaderslangFunc HitKind 115 116 " RayQuery intrinsics 117 syn keyword shaderslangFunc TraceRayInline Proceed Abort CommittedStatus 118 syn keyword shaderslangFunc CandidateType CandidateProceduralPrimitiveNonOpaque CandidateTriangleRayT CandidateInstanceIndex CandidateInstanceID CandidateInstanceContributionToHitGroupIndex CandidateGeometryIndex 119 syn keyword shaderslangFunc CandidatePrimitiveIndex CandidateObjectRayOrigin CandidateObjectRayDirection CandidateObjectToWorld3x4 CandidateObjectToWorld4x3 CandidateWorldToObject3x4 CandidateWorldToObject4x3 120 syn keyword shaderslangFunc CommitNonOpaqueTriangleHit CommitProceduralPrimitiveHit CommittedStatus CommittedRayT CommittedInstanceIndex CommittedInstanceID CommittedInstanceContributionToHitGroupIndex 121 syn keyword shaderslangFunc CommittedGeometryIndex CommittedPrimitiveIndex CommittedObjectRayOrigin CommittedObjectRayDirection CommittedObjectToWorld3x4 CommittedObjectToWorld4x3 CommittedWorldToObject3x4 122 syn keyword shaderslangFunc CommittedWorldToObject4x3 CandidateTriangleBarycentrics CandidateTriangleFrontFace CommittedTriangleBarycentrics CommittedTriangleFrontFace 123 124 " Pack/unpack math intrinsics 125 syn keyword shaderslangFunc unpack_s8s16 unpack_u8u16 unpack_s8s32 unpack_u8u32 126 syn keyword shaderslangFunc pack_u8 pack_s8 pack_clamp_u8 pack_clamp_s8 127 128 " Work graph object methods 129 syn keyword shaderslangFunc Get FinishedCrossGroupSharing Count GetThreadNodeOutputRecords GetGroupNodeOutputRecords IsValid GroupIncrementOutputCount ThreadIncrementOutputCount OutputComplete 130 131 " Work graph free intrinsics 132 syn keyword shaderslangFunc GetRemainingRecursionLevels Barrier 133 134 " Layout Qualifiers 135 syn keyword shaderslangLayoutQual const row_major column_major 136 syn keyword shaderslangLayoutQual point line triangle lineadj triangleadj 137 syn keyword shaderslangLayoutQual InputPatch OutputPatch 138 syn match shaderslangLayoutQual /PointStream<\s*\w\+\s*>/ 139 syn match shaderslangLayoutQual /LineStream<\s*\w\+\s*>/ 140 syn match shaderslangLayoutQual /TriangleStream<\s*\w\+\s*>/ 141 142 " User defined Semantics 143 syn match shaderslangSemantic /:\s*[A-Z]\w*/ 144 syn match shaderslangSemantic /:\s*packoffset(\s*c\d\+\(\.[xyzw]\)\?\s*)/ " packoffset 145 syn match shaderslangSemantic /:\s*register(\s*\(r\|x\|v\|t\|s\|cb\|icb\|b\|c\|u\)\d\+\s*)/ " register 146 syn match shaderslangSemantic /:\s*read(\s*\(\(anyhit\|closesthit\|miss\|caller\)\s*,\s*\)*\(anyhit\|closesthit\|miss\|caller\)\?\s*)/ " read 147 syn match shaderslangSemantic /:\s*write(\s*\(\(anyhit\|closesthit\|miss\|caller\)\s*,\s*\)*\(anyhit\|closesthit\|miss\|caller\)\?\s*)/ " write 148 149 " System-Value Semantics 150 " Vertex Shader 151 syn match shaderslangSemantic /SV_ClipDistance\d\+/ 152 syn match shaderslangSemantic /SV_CullDistance\d\+/ 153 syn keyword shaderslangSemantic SV_Position SV_InstanceID SV_PrimitiveID SV_VertexID 154 syn keyword shaderslangSemantic SV_StartVertexLocation SV_StartInstanceLocation 155 " Tessellation pipeline 156 syn keyword shaderslangSemantic SV_DomainLocation SV_InsideTessFactor SV_OutputControlPointID SV_TessFactor 157 " Geometry Shader 158 syn keyword shaderslangSemantic SV_GSInstanceID SV_RenderTargetArrayIndex 159 " Pixel Shader - MSAA 160 syn keyword shaderslangSemantic SV_Coverage SV_Depth SV_IsFrontFace SV_SampleIndex 161 syn match shaderslangSemantic /SV_Target[0-7]/ 162 syn keyword shaderslangSemantic SV_ShadingRate SV_ViewID 163 syn match shaderslangSemantic /SV_Barycentrics[0-1]/ 164 " Compute Shader 165 syn keyword shaderslangSemantic SV_DispatchThreadID SV_GroupID SV_GroupIndex SV_GroupThreadID 166 " Mesh shading pipeline 167 syn keyword shaderslangSemantic SV_CullPrimitive 168 " Work graph record system values 169 syn keyword shaderslangSemantic SV_DispatchGrid 170 171 " slang structures 172 syn keyword shaderslangStructure cbuffer 173 174 " Shader profiles 175 " Cg profiles 176 syn keyword shaderslangProfile arbfp1 arbvp1 fp20 vp20 fp30 vp30 ps_1_1 ps_1_2 ps_1_3 177 " Shader Model 1 178 syn keyword shaderslangProfile vs_1_1 179 " Shader Model 2 180 syn keyword shaderslangProfile ps_2_0 ps_2_x vs_2_0 vs_2_x 181 " Shader Model 3 182 syn keyword shaderslangProfile ps_3_0 vs_3_0 183 " Shader Model 4 184 syn keyword shaderslangProfile gs_4_0 ps_4_0 vs_4_0 gs_4_1 ps_4_1 vs_4_1 185 " Shader Model 5 186 syn keyword shaderslangProfile cs_4_0 cs_4_1 cs_5_0 ds_5_0 gs_5_0 hs_5_0 ps_5_0 vs_5_0 187 " Shader Model 6 188 syn keyword shaderslangProfile cs_6_0 ds_6_0 gs_6_0 hs_6_0 ps_6_0 vs_6_0 lib_6_0 189 190 " Swizzling 191 syn match shaderslangSwizzle /\.[xyzw]\{1,4\}\>/ 192 syn match shaderslangSwizzle /\.[rgba]\{1,4\}\>/ 193 syn match shaderslangSwizzle /\.\(_m[0-3]\{2}\)\{1,4\}/ 194 syn match shaderslangSwizzle /\.\(_[1-4]\{2}\)\{1,4\}/ 195 196 " Other Statements 197 syn keyword shaderslangStatement discard 198 199 " Storage class 200 syn match shaderslangStorageClass /\<in\(\s+pipeline\)\?\>/ 201 syn match shaderslangStorageClass /\<out\(\s\+indices\|\s\+vertices\|\s\+primitives\)\?\>/ 202 syn keyword shaderslangStorageClass inout 203 syn keyword shaderslangStorageClass extern nointerpolation precise shared groupshared static uniform volatile 204 syn keyword shaderslangStorageClass snorm unorm 205 syn keyword shaderslangStorageClass linear centroid nointerpolation noperspective sample 206 syn keyword shaderslangStorageClass globallycoherent 207 208 " Types 209 " Buffer types 210 syn keyword shaderslangType ConstantBuffer Buffer ByteAddressBuffer ConsumeStructuredBuffer StructuredBuffer 211 syn keyword shaderslangType AppendStructuredBuffer RWBuffer RWByteAddressBuffer RWStructuredBuffer 212 syn keyword shaderslangType RasterizerOrderedBuffer RasterizerOrderedByteAddressBuffer RasterizerOrderedStructuredBuffer 213 214 " Scalar types 215 syn keyword shaderslangType bool int uint dword half float double 216 syn keyword shaderslangType min16float min10float min16int min12int min16uint 217 syn keyword shaderslangType float16_t float32_t float64_t 218 219 " Vector types 220 syn match shaderslangType /vector<\s*\w\+,\s*[1-4]\s*>/ 221 syn keyword shaderslangType bool1 bool2 bool3 bool4 222 syn keyword shaderslangType int1 int2 int3 int4 223 syn keyword shaderslangType uint1 uint2 uint3 uint4 224 syn keyword shaderslangType dword1 dword2 dword3 dword4 225 syn keyword shaderslangType half1 half2 half3 half4 226 syn keyword shaderslangType float1 float2 float3 float4 227 syn keyword shaderslangType double1 double2 double3 double4 228 syn keyword shaderslangType min16float1 min16float2 min16float3 min16float4 229 syn keyword shaderslangType min10float1 min10float2 min10float3 min10float4 230 syn keyword shaderslangType min16int1 min16int2 min16int3 min16int4 231 syn keyword shaderslangType min12int1 min12int2 min12int3 min12int4 232 syn keyword shaderslangType min16uint1 min16uint2 min16uint3 min16uint4 233 syn keyword shaderslangType float16_t1 float16_t2 float16_t3 float16_t4 234 syn keyword shaderslangType float32_t1 float32_t2 float32_t3 float32_t4 235 syn keyword shaderslangType float64_t1 float64_t2 float64_t3 float64_t4 236 syn keyword shaderslangType int16_t1 int16_t2 int16_t3 int16_t4 237 syn keyword shaderslangType int32_t1 int32_t2 int32_t3 int32_t4 238 syn keyword shaderslangType int64_t1 int64_t2 int64_t3 int64_t4 239 syn keyword shaderslangType uint16_t1 uint16_t2 uint16_t3 uint16_t4 240 syn keyword shaderslangType uint32_t1 uint32_t2 uint32_t3 uint32_t4 241 syn keyword shaderslangType uint64_t1 uint64_t2 uint64_t3 uint64_t4 242 243 " Packed types 244 syn keyword shaderslangType uint8_t4_packed int8_t4_packed 245 246 " Matrix types 247 syn match shaderslangType /matrix<\s*\w\+\s*,\s*[1-4]\s*,\s*[1-4]\s*>/ 248 syn keyword shaderslangType bool1x1 bool2x1 bool3x1 bool4x1 bool1x2 bool2x2 bool3x2 bool4x2 bool1x3 bool2x3 bool3x3 bool4x3 bool1x4 bool2x4 bool3x4 bool4x4 249 syn keyword shaderslangType int1x1 int2x1 int3x1 int4x1 int1x2 int2x2 int3x2 int4x2 int1x3 int2x3 int3x3 int4x3 int1x4 int2x4 int3x4 int4x4 250 syn keyword shaderslangType uint1x1 uint2x1 uint3x1 uint4x1 uint1x2 uint2x2 uint3x2 uint4x2 uint1x3 uint2x3 uint3x3 uint4x3 uint1x4 uint2x4 uint3x4 uint4x4 251 syn keyword shaderslangType dword1x1 dword2x1 dword3x1 dword4x1 dword1x2 dword2x2 dword3x2 dword4x2 dword1x3 dword2x3 dword3x3 dword4x3 dword1x4 dword2x4 dword3x4 dword4x4 252 syn keyword shaderslangType half1x1 half2x1 half3x1 half4x1 half1x2 half2x2 half3x2 half4x2 half1x3 half2x3 half3x3 half4x3 half1x4 half2x4 half3x4 half4x4 253 syn keyword shaderslangType float1x1 float2x1 float3x1 float4x1 float1x2 float2x2 float3x2 float4x2 float1x3 float2x3 float3x3 float4x3 float1x4 float2x4 float3x4 float4x4 254 syn keyword shaderslangType double1x1 double2x1 double3x1 double4x1 double1x2 double2x2 double3x2 double4x2 double1x3 double2x3 double3x3 double4x3 double1x4 double2x4 double3x4 double4x4 255 syn keyword shaderslangType min16float1x1 min16float2x1 min16float3x1 min16float4x1 min16float1x2 min16float2x2 min16float3x2 min16float4x2 min16float1x3 min16float2x3 min16float3x3 min16float4x3 min16float1x4 min16float2x4 min16float3x4 min16float4x4 256 syn keyword shaderslangType min10float1x1 min10float2x1 min10float3x1 min10float4x1 min10float1x2 min10float2x2 min10float3x2 min10float4x2 min10float1x3 min10float2x3 min10float3x3 min10float4x3 min10float1x4 min10float2x4 min10float3x4 min10float4x4 257 syn keyword shaderslangType min16int1x1 min16int2x1 min16int3x1 min16int4x1 min16int1x2 min16int2x2 min16int3x2 min16int4x2 min16int1x3 min16int2x3 min16int3x3 min16int4x3 min16int1x4 min16int2x4 min16int3x4 min16int4x4 258 syn keyword shaderslangType min12int1x1 min12int2x1 min12int3x1 min12int4x1 min12int1x2 min12int2x2 min12int3x2 min12int4x2 min12int1x3 min12int2x3 min12int3x3 min12int4x3 min12int1x4 min12int2x4 min12int3x4 min12int4x4 259 syn keyword shaderslangType min16uint1x1 min16uint2x1 min16uint3x1 min16uint4x1 min16uint1x2 min16uint2x2 min16uint3x2 min16uint4x2 min16uint1x3 min16uint2x3 min16uint3x3 min16uint4x3 min16uint1x4 min16uint2x4 min16uint3x4 min16uint4x4 260 syn keyword shaderslangType float16_t1x1 float16_t2x1 float16_t3x1 float16_t4x1 float16_t1x2 float16_t2x2 float16_t3x2 float16_t4x2 float16_t1x3 float16_t2x3 float16_t3x3 float16_t4x3 float16_t1x4 float16_t2x4 float16_t3x4 float16_t4x4 261 syn keyword shaderslangType float32_t1x1 float32_t2x1 float32_t3x1 float32_t4x1 float32_t1x2 float32_t2x2 float32_t3x2 float32_t4x2 float32_t1x3 float32_t2x3 float32_t3x3 float32_t4x3 float32_t1x4 float32_t2x4 float32_t3x4 float32_t4x4 262 syn keyword shaderslangType float64_t1x1 float64_t2x1 float64_t3x1 float64_t4x1 float64_t1x2 float64_t2x2 float64_t3x2 float64_t4x2 float64_t1x3 float64_t2x3 float64_t3x3 float64_t4x3 float64_t1x4 float64_t2x4 float64_t3x4 float64_t4x4 263 syn keyword shaderslangType int16_t1x1 int16_t2x1 int16_t3x1 int16_t4x1 int16_t1x2 int16_t2x2 int16_t3x2 int16_t4x2 int16_t1x3 int16_t2x3 int16_t3x3 int16_t4x3 int16_t1x4 int16_t2x4 int16_t3x4 int16_t4x4 264 syn keyword shaderslangType int32_t1x1 int32_t2x1 int32_t3x1 int32_t4x1 int32_t1x2 int32_t2x2 int32_t3x2 int32_t4x2 int32_t1x3 int32_t2x3 int32_t3x3 int32_t4x3 int32_t1x4 int32_t2x4 int32_t3x4 int32_t4x4 265 syn keyword shaderslangType int64_t1x1 int64_t2x1 int64_t3x1 int64_t4x1 int64_t1x2 int64_t2x2 int64_t3x2 int64_t4x2 int64_t1x3 int64_t2x3 int64_t3x3 int64_t4x3 int64_t1x4 int64_t2x4 int64_t3x4 int64_t4x4 266 syn keyword shaderslangType uint16_t1x1 uint16_t2x1 uint16_t3x1 uint16_t4x1 uint16_t1x2 uint16_t2x2 uint16_t3x2 uint16_t4x2 uint16_t1x3 uint16_t2x3 uint16_t3x3 uint16_t4x3 uint16_t1x4 uint16_t2x4 uint16_t3x4 uint16_t4x4 267 syn keyword shaderslangType uint32_t1x1 uint32_t2x1 uint32_t3x1 uint32_t4x1 uint32_t1x2 uint32_t2x2 uint32_t3x2 uint32_t4x2 uint32_t1x3 uint32_t2x3 uint32_t3x3 uint32_t4x3 uint32_t1x4 uint32_t2x4 uint32_t3x4 uint32_t4x4 268 syn keyword shaderslangType uint64_t1x1 uint64_t2x1 uint64_t3x1 uint64_t4x1 uint64_t1x2 uint64_t2x2 uint64_t3x2 uint64_t4x2 uint64_t1x3 uint64_t2x3 uint64_t3x3 uint64_t4x3 uint64_t1x4 uint64_t2x4 uint64_t3x4 uint64_t4x4 269 270 " Sampler types 271 syn keyword shaderslangType SamplerState SamplerComparisonState 272 syn keyword shaderslangType sampler sampler1D sampler2D sampler3D samplerCUBE sampler_state 273 274 " Texture types 275 syn keyword shaderslangType Texture1D Texture1DArray Texture2D Texture2DArray Texture2DMS Texture2DMSArray Texture3D TextureCube TextureCubeArray 276 syn keyword shaderslangType RWTexture1D RWTexture2D RWTexture2DArray RWTexture3D RWTextureCubeArray RWTexture2DMS RWTexture2DMSArray 277 syn keyword shaderslangType FeedbackTexture2D FeedbackTexture2DArray 278 syn keyword shaderslangType RasterizerOrderedTexture1D RasterizerOrderedTexture1DArray RasterizerOrderedTexture2D RasterizerOrderedTexture2DArray RasterizerOrderedTexture3D 279 syn keyword shaderslangTypeDeprec texture texture1D texture2D texture3D 280 281 " Raytracing types 282 syn keyword shaderslangType RaytracingAccelerationStructure RayDesc RayQuery BuiltInTriangleIntersectionAttributes 283 284 " Work graph input record objects 285 syn keyword shaderslangType DispatchNodeInputRecord RWDispatchNodeInputRecord GroupNodeInputRecords RWGroupNodeInputRecords ThreadNodeInputRecord RWThreadNodeInputRecord EmptyNodeInput 286 287 " Work graph output node objects 288 syn keyword shaderslangType NodeOutput NodeOutputArray EmptyNodeOutput EmptyNodeOutputArray 289 290 " Work graph output record objects 291 syn keyword shaderslangType ThreadNodeOutputRecords GroupNodeOutputRecords 292 293 " State Groups args 294 syn case ignore " This section case insensitive 295 296 " Blend state group 297 syn keyword shaderslangStateGroupArg AlphaToCoverageEnable BlendEnable SrcBlend DestBlend BlendOp SrcBlendAlpha DestBlendAlpha BlendOpAlpha RenderTargetWriteMask 298 syn keyword shaderslangStateGroupVal ZERO ONE SRC_COLOR INV_SRC_COLOR SRC_ALPHA INV_SRC_ALPHA DEST_ALPHA INV_DEST_ALPHA DEST_COLOR INV_DEST_COLOR SRC_ALPHA_SAT BLEND_FACTOR INV_BLEND_FACTOR SRC1_COLOR INV_SRC1_COLOR SRC1_ALPHA INV_SRC1_ALPHA 299 syn keyword shaderslangStateGroupVal ADD SUBSTRACT REV_SUBSTRACT MIN MAX 300 301 " Rasterizer state group 302 syn keyword shaderslangStateGroupArg FillMode CullMode FrontCounterClockwise DepthBias DepthBiasClamp SlopeScaledDepthBias ZClipEnable DepthClipEnable ScissorEnable MultisampleEnable AntialiasedLineEnable 303 syn keyword shaderslangStateGroupVal SOLID WIREFRAME 304 syn keyword shaderslangStateGroupVal NONE FRONT BACK 305 306 " Sampler state group 307 syn keyword shaderslangStateGroupArg Filter AddressU AddressV AddressW MipLODBias MaxAnisotropy ComparisonFunc BorderColor MinLOD MaxLOD ComparisonFilter 308 syn keyword shaderslangStateGroupVal MIN_MAG_MIP_POINT MIN_MAG_POINT_MIP_LINEAR MIN_POINT_MAG_LINEAR_MIP_POINT MIN_POINT_MAG_MIP_LINEAR MIN_LINEAR_MAG_MIP_POINT MIN_LINEAR_MAG_POINT_MIP_LINEAR MIN_MAG_LINEAR_MIP_POINT MIN_MAG_MIP_LINEAR ANISOTROPIC 309 syn keyword shaderslangStateGroupVal COMPARISON_MIN_MAG_MIP_POINT COMPARISON_MIN_MAG_POINT_MIP_LINEAR COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT COMPARISON_MIN_POINT_MAG_MIP_LINEAR COMPARISON_MIN_LINEAR_MAG_MIP_POINT 310 syn keyword shaderslangStateGroupVal COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR COMPARISON_MIN_MAG_LINEAR_MIP_POINT COMPARISON_MIN_MAG_MIP_LINEAR COMPARISON_ANISOTROPIC 311 syn keyword shaderslangStateGroupVal COMPARISON_NEVER COMPARISON_LESS COMPARISON_EQUAL COMPARISON_LESS_EQUAL COMPARISON_GREATER COMPARISON_NOT_EQUAL COMPARISON_GREATER_EQUAL COMPARISON_ALWAYS 312 syn keyword shaderslangStateGroupVal WRAP MIRROR CLAMP BORDER MIRROR_ONCE 313 syn keyword shaderslangStateGroupVal SAMPLER_FEEDBACK_MIN_MIP SAMPLER_FEEDBACK_MIP_REGION_USED 314 315 " Ray flags 316 syn keyword shaderslangStateGroupVal RAY_FLAG_NONE RAY_FLAG_FORCE_OPAQUE RAY_FLAG_FORCE_NON_OPAQUE RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH RAY_FLAG_SKIP_CLOSEST_HIT_SHADER 317 syn keyword shaderslangStateGroupVal RAY_FLAG_CULL_BACK_FACING_TRIANGLES RAY_FLAG_CULL_FRONT_FACING_TRIANGLES RAY_FLAG_CULL_OPAQUE RAY_FLAG_CULL_NON_OPAQUE 318 syn keyword shaderslangStateGroupVal RAY_FLAG_SKIP_TRIANGLES RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES 319 320 " HitKind enum 321 syn keyword shaderslangStateGroupVal HIT_KIND_TRIANGLE_FRONT_FACE HIT_KIND_TRIANGLE_BACK_FACE 322 323 " RayQuery enums 324 syn keyword shaderslangStateGroupVal COMMITTED_NOTHING COMMITTED_TRIANGLE_HIT COMMITTED_PROCEDURAL_PRIMITIVE_HIT 325 syn keyword shaderslangStateGroupVal CANDIDATE_NON_OPAQUE_TRIANGLE CANDIDATE_PROCEDURAL_PRIMITIVE 326 327 " Heap objects 328 syn keyword shaderslangStateGroupVal ResourceDescriptorHeap SamplerDescriptorHeap 329 330 " Work graph constants 331 syn keyword shaderslangStateGroupVal UAV_MEMORY GROUP_SHARED_MEMORY NODE_INPUT_MEMORY NODE_OUTPUT_MEMORY ALL_MEMORY GROUP_SYNC GROUP_SCOPE DEVICE_SCOPE 332 333 syn case match " Case sensitive from now on 334 335 " Effect files declarations and functions 336 " Effect groups, techniques passes 337 syn keyword shaderslangEffectGroup fxgroup technique11 pass 338 " Effect functions 339 syn keyword shaderslangEffectFunc SetBlendState SetDepthStencilState SetRasterizerState SetVertexShader SetHullShader SetDomainShader SetGeometryShader SetPixelShader SetComputeShader CompileShader ConstructGSWithSO SetRenderTargets 340 341 " Default highlighting 342 hi def link shaderslangProfile shaderslangStatement 343 hi def link shaderslangStateGroupArg shaderslangStatement 344 hi def link shaderslangStateGroupVal Number 345 hi def link shaderslangStatement Statement 346 hi def link shaderslangType Type 347 hi def link shaderslangTypeDeprec WarningMsg 348 hi def link shaderslangStorageClass StorageClass 349 hi def link shaderslangSemantic PreProc 350 hi def link shaderslangFunc shaderslangStatement 351 hi def link shaderslangLayoutQual shaderslangFunc 352 hi def link shaderslangAnnotation PreProc 353 hi def link shaderslangStructure Structure 354 hi def link shaderslangSwizzle SpecialChar 355 hi def link shaderslangAttribute Statement 356 357 hi def link shaderslangEffectGroup Type 358 hi def link shaderslangEffectFunc Statement 359 360 let b:current_syntax = "shaderslang"