@@ -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",
@@ -2511,6 +2528,14 @@ static void GetIntrinsicMethods(ArBasicKind kind,
25112528 *intrinsicCount = _countof(g_RayQueryMethods);
25122529 break;
25132530#ifdef ENABLE_SPIRV_CODEGEN
2531+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
2532+ *intrinsics = g_VkSampledTexture1DMethods;
2533+ *intrinsicCount = _countof(g_VkSampledTexture1DMethods);
2534+ break;
2535+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
2536+ *intrinsics = g_VkSampledTexture1DArrayMethods;
2537+ *intrinsicCount = _countof(g_VkSampledTexture1DArrayMethods);
2538+ break;
25142539 case AR_OBJECT_VK_SAMPLED_TEXTURE2D:
25152540 *intrinsics = g_VkSampledTexture2DMethods;
25162541 *intrinsicCount = _countof(g_VkSampledTexture2DMethods);
@@ -4132,7 +4157,9 @@ class HLSLExternalSource : public ExternalSemaSource {
41324157 recordDecl = DeclareVkBufferPointerType(*m_context, m_vkNSDecl);
41334158 recordDecl->setImplicit(true);
41344159 m_vkBufferPointerTemplateDecl = recordDecl->getDescribedClassTemplate();
4135- } else if (kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D ||
4160+ } else if (kind == AR_OBJECT_VK_SAMPLED_TEXTURE1D ||
4161+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY ||
4162+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D ||
41364163 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY ||
41374164 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS ||
41384165 kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY) {
@@ -4966,7 +4993,9 @@ class HLSLExternalSource : public ExternalSemaSource {
49664993 case AR_OBJECT_LEGACY_EFFECT: // used for all legacy effect object types
49674994
49684995 case AR_OBJECT_TEXTURE1D:
4996+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
49694997 case AR_OBJECT_TEXTURE1D_ARRAY:
4998+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
49704999 case AR_OBJECT_TEXTURE2D:
49715000 case AR_OBJECT_TEXTURE2D_ARRAY:
49725001 case AR_OBJECT_TEXTURE3D:
@@ -5071,6 +5100,7 @@ class HLSLExternalSource : public ExternalSemaSource {
50715100 DXASSERT_VALIDBASICKIND(BasicKind);
50725101 switch (BasicKind) {
50735102 case AR_OBJECT_TEXTURE1D:
5103+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
50745104 ResKind = DXIL::ResourceKind::Texture1D;
50755105 ResClass = DXIL::ResourceClass::SRV;
50765106 return true;
@@ -5080,6 +5110,7 @@ class HLSLExternalSource : public ExternalSemaSource {
50805110 ResClass = DXIL::ResourceClass::UAV;
50815111 return true;
50825112 case AR_OBJECT_TEXTURE1D_ARRAY:
5113+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
50835114 ResKind = DXIL::ResourceKind::Texture1DArray;
50845115 ResClass = DXIL::ResourceClass::SRV;
50855116 return true;
@@ -11661,7 +11692,9 @@ void hlsl::DiagnoseRegisterType(clang::Sema *self, clang::SourceLocation loc,
1166111692 break;
1166211693
1166311694 case AR_OBJECT_TEXTURE1D:
11695+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D:
1166411696 case AR_OBJECT_TEXTURE1D_ARRAY:
11697+ case AR_OBJECT_VK_SAMPLED_TEXTURE1D_ARRAY:
1166511698 case AR_OBJECT_TEXTURE2D:
1166611699 case AR_OBJECT_TEXTURE2D_ARRAY:
1166711700 case AR_OBJECT_TEXTURE3D:
0 commit comments