@@ -200,6 +200,8 @@ enum ArBasicKind {
200200 AR_OBJECT_VK_SPV_INTRINSIC_TYPE,
201201 AR_OBJECT_VK_SPV_INTRINSIC_RESULT_ID,
202202 AR_OBJECT_VK_BUFFER_POINTER,
203+ AR_OBJECT_VK_SAMPLED_TEXTURE1D,
204+ AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY,
203205 AR_OBJECT_VK_SAMPLED_TEXTURE2D,
204206 AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY,
205207 AR_OBJECT_VK_SAMPLED_TEXTURE2DMS,
@@ -564,6 +566,8 @@ const UINT g_uBasicKindProps[] = {
564566 BPROP_OBJECT, // AR_OBJECT_VK_SPV_INTRINSIC_TYPE use recordType
565567 BPROP_OBJECT, // AR_OBJECT_VK_SPV_INTRINSIC_RESULT_ID use recordType
566568 BPROP_OBJECT, // AR_OBJECT_VK_BUFFER_POINTER use recordType
569+ BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE1D
570+ BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY
567571 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2D
568572 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
569573 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
@@ -1276,6 +1280,10 @@ static const ArBasicKind g_LinAlgMatrixCT[] = {AR_OBJECT_LINALG_MATRIX,
12761280#ifdef ENABLE_SPIRV_CODEGEN
12771281static const ArBasicKind g_VKBufferPointerCT[] = {AR_OBJECT_VK_BUFFER_POINTER,
12781282 AR_BASIC_UNKNOWN};
1283+ static const ArBasicKind g_VKSampledTexture1DCT[] = {
1284+ AR_OBJECT_VK_SAMPLED_TEXTURE1D, AR_BASIC_UNKNOWN};
1285+ static const ArBasicKind g_VKSampledTexture1DArrayCT[] = {
1286+ AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY, AR_BASIC_UNKNOWN};
12791287static const ArBasicKind g_VKSampledTexture2DCT[] = {
12801288 AR_OBJECT_VK_SAMPLED_TEXTURE2D, AR_BASIC_UNKNOWN};
12811289static const ArBasicKind g_VKSampledTexture2DArrayCT[] = {
@@ -1347,6 +1355,8 @@ const ArBasicKind *g_LegalIntrinsicCompTypes[] = {
13471355 g_BuiltInTrianglePositionsCT, // LICOMPTYPE_BUILTIN_TRIANGLE_POSITIONS
13481356#ifdef ENABLE_SPIRV_CODEGEN
13491357 g_VKBufferPointerCT, // LICOMPTYPE_VK_BUFFER_POINTER
1358+ g_VKSampledTexture1DCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE1D
1359+ g_VKSampledTexture1DArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE1D_ARRAY
13501360 g_VKSampledTexture2DCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D
13511361 g_VKSampledTexture2DArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D_ARRAY
13521362 g_VKSampledTexture2DMSCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2DMS
@@ -1410,7 +1420,8 @@ static const ArBasicKind g_ArBasicKindsAsTypes[] = {
14101420 AR_OBJECT_VK_SPIRV_TYPE, AR_OBJECT_VK_SPIRV_OPAQUE_TYPE,
14111421 AR_OBJECT_VK_INTEGRAL_CONSTANT, AR_OBJECT_VK_LITERAL,
14121422 AR_OBJECT_VK_SPV_INTRINSIC_TYPE, AR_OBJECT_VK_SPV_INTRINSIC_RESULT_ID,
1413- AR_OBJECT_VK_BUFFER_POINTER, AR_OBJECT_VK_SAMPLED_TEXTURE2D,
1423+ AR_OBJECT_VK_BUFFER_POINTER, AR_OBJECT_VK_SAMPLED_TEXTURE1D,
1424+ AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE2D,
14141425 AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE2DMS,
14151426 AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY,
14161427#endif // ENABLE_SPIRV_CODEGEN
@@ -1524,6 +1535,8 @@ static const uint8_t g_ArBasicKindsTemplateCount[] = {
15241535 1, // AR_OBJECT_VK_SPV_INTRINSIC_TYPE
15251536 1, // AR_OBJECT_VK_SPV_INTRINSIC_RESULT_ID
15261537 2, // AR_OBJECT_VK_BUFFER_POINTER
1538+ 1, // AR_OBJECT_VK_SAMPLED_TEXTURE1D
1539+ 1, // AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY
15271540 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2D
15281541 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
15291542 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
@@ -1681,6 +1694,8 @@ static const SubscriptOperatorRecord g_ArBasicKindsSubscripts[] = {
16811694 {0, MipsFalse, SampleFalse}, // AR_OBJECT_VK_SPV_INTRINSIC_TYPE
16821695 {0, MipsFalse, SampleFalse}, // AR_OBJECT_VK_SPV_INTRINSIC_RESULT_ID
16831696 {0, MipsFalse, SampleFalse}, // AR_OBJECT_VK_BUFFER_POINTER
1697+ {1, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE1D
1698+ {2, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY
16841699 {2, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE2D
16851700 {3, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
16861701 {2, MipsFalse, SampleTrue}, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
@@ -1854,6 +1869,8 @@ static const char *g_ArBasicTypeNames[] = {
18541869 "ext_type",
18551870 "ext_result_id",
18561871 "BufferPointer",
1872+ "SampledTexture1D",
1873+ "SampledTexture1DArray",
18571874 "SampledTexture2D",
18581875 "SampledTexture2DArray",
18591876 "SampledTexture2DMS",
@@ -2514,6 +2531,14 @@ static void GetIntrinsicMethods(ArBasicKind kind,
25142531 *intrinsicCount = _countof(g_RayQueryMethods);
25152532 break;
25162533#ifdef ENABLE_SPIRV_CODEGEN
2534+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
2535+ *intrinsics = g_VkSampledTexture1DMethods;
2536+ *intrinsicCount = _countof(g_VkSampledTexture1DMethods);
2537+ break;
2538+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
2539+ *intrinsics = g_VkSampledTexture1DArrayMethods;
2540+ *intrinsicCount = _countof(g_VkSampledTexture1DArrayMethods);
2541+ break;
25172542 case AR_OBJECT_VK_SAMPLED_TEXTURE2D:
25182543 *intrinsics = g_VkSampledTexture2DMethods;
25192544 *intrinsicCount = _countof(g_VkSampledTexture2DMethods);
@@ -4135,7 +4160,9 @@ class HLSLExternalSource : public ExternalSemaSource {
41354160 recordDecl = DeclareVkBufferPointerType(*m_context, m_vkNSDecl);
41364161 recordDecl->setImplicit(true);
41374162 m_vkBufferPointerTemplateDecl = recordDecl->getDescribedClassTemplate();
4138- } else if (kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D ||
4163+ } else if (kind == AR_OBJECT_VK_SAMPLED_TEXTURE1D ||
4164+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY ||
4165+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D ||
41394166 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY ||
41404167 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS ||
41414168 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY) {
@@ -4969,7 +4996,9 @@ class HLSLExternalSource : public ExternalSemaSource {
49694996 case AR_OBJECT_LEGACY_EFFECT: // used for all legacy effect object types
49704997
49714998 case AR_OBJECT_TEXTURE1D:
4999+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
49725000 case AR_OBJECT_TEXTURE1D_ARRAY:
5001+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
49735002 case AR_OBJECT_TEXTURE2D:
49745003 case AR_OBJECT_TEXTURE2D_ARRAY:
49755004 case AR_OBJECT_TEXTURE3D:
@@ -5074,6 +5103,9 @@ class HLSLExternalSource : public ExternalSemaSource {
50745103 DXASSERT_VALIDBASICKIND(BasicKind);
50755104 switch (BasicKind) {
50765105 case AR_OBJECT_TEXTURE1D:
5106+ #ifdef ENABLE_SPIRV_CODEGEN
5107+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
5108+ #endif
50775109 ResKind = DXIL::ResourceKind::Texture1D;
50785110 ResClass = DXIL::ResourceClass::SRV;
50795111 return true;
@@ -5083,6 +5115,9 @@ class HLSLExternalSource : public ExternalSemaSource {
50835115 ResClass = DXIL::ResourceClass::UAV;
50845116 return true;
50855117 case AR_OBJECT_TEXTURE1D_ARRAY:
5118+ #ifdef ENABLE_SPIRV_CODEGEN
5119+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
5120+ #endif
50865121 ResKind = DXIL::ResourceKind::Texture1DArray;
50875122 ResClass = DXIL::ResourceClass::SRV;
50885123 return true;
@@ -11690,7 +11725,9 @@ void hlsl::DiagnoseRegisterType(clang::Sema *self, clang::SourceLocation loc,
1169011725 break;
1169111726
1169211727 case AR_OBJECT_TEXTURE1D:
11728+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
1169311729 case AR_OBJECT_TEXTURE1D_ARRAY:
11730+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
1169411731 case AR_OBJECT_TEXTURE2D:
1169511732 case AR_OBJECT_TEXTURE2D_ARRAY:
1169611733 case AR_OBJECT_TEXTURE3D:
0 commit comments