@@ -202,6 +202,8 @@ enum ArBasicKind {
202202 AR_OBJECT_VK_BUFFER_POINTER,
203203 AR_OBJECT_VK_SAMPLED_TEXTURE2D,
204204 AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY,
205+ AR_OBJECT_VK_SAMPLED_TEXTURE2DMS,
206+ AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY,
205207#endif // ENABLE_SPIRV_CODEGEN
206208 // SPIRV change ends
207209
@@ -564,6 +566,8 @@ const UINT g_uBasicKindProps[] = {
564566 BPROP_OBJECT, // AR_OBJECT_VK_BUFFER_POINTER use recordType
565567 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2D
566568 BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
569+ BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
570+ BPROP_OBJECT | BPROP_RBUFFER, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY
567571#endif // ENABLE_SPIRV_CODEGEN
568572 // SPIRV change ends
569573
@@ -1276,6 +1280,10 @@ static const ArBasicKind g_VKSampledTexture2DCT[] = {
12761280 AR_OBJECT_VK_SAMPLED_TEXTURE2D, AR_BASIC_UNKNOWN};
12771281static const ArBasicKind g_VKSampledTexture2DArrayCT[] = {
12781282 AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY, AR_BASIC_UNKNOWN};
1283+ static const ArBasicKind g_VKSampledTexture2DMSCT[] = {
1284+ AR_OBJECT_VK_SAMPLED_TEXTURE2DMS, AR_BASIC_UNKNOWN};
1285+ static const ArBasicKind g_VKSampledTexture2DMSArrayCT[] = {
1286+ AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY, AR_BASIC_UNKNOWN};
12791287#endif
12801288
12811289// Basic kinds, indexed by a LEGAL_INTRINSIC_COMPTYPES value.
@@ -1338,9 +1346,11 @@ const ArBasicKind *g_LegalIntrinsicCompTypes[] = {
13381346 g_LinAlgCT, // LICOMPTYPE_LINALG
13391347 g_BuiltInTrianglePositionsCT, // LICOMPTYPE_BUILTIN_TRIANGLE_POSITIONS
13401348#ifdef ENABLE_SPIRV_CODEGEN
1341- g_VKBufferPointerCT, // LICOMPTYPE_VK_BUFFER_POINTER
1342- g_VKSampledTexture2DCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D
1343- g_VKSampledTexture2DArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D_ARRAY
1349+ g_VKBufferPointerCT, // LICOMPTYPE_VK_BUFFER_POINTER
1350+ g_VKSampledTexture2DCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D
1351+ g_VKSampledTexture2DArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2D_ARRAY
1352+ g_VKSampledTexture2DMSCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2DMS
1353+ g_VKSampledTexture2DMSArrayCT, // LICOMPTYPE_VK_SAMPLED_TEXTURE2DMS_ARRAY
13441354#endif
13451355};
13461356static_assert(
@@ -1401,7 +1411,8 @@ static const ArBasicKind g_ArBasicKindsAsTypes[] = {
14011411 AR_OBJECT_VK_INTEGRAL_CONSTANT, AR_OBJECT_VK_LITERAL,
14021412 AR_OBJECT_VK_SPV_INTRINSIC_TYPE, AR_OBJECT_VK_SPV_INTRINSIC_RESULT_ID,
14031413 AR_OBJECT_VK_BUFFER_POINTER, AR_OBJECT_VK_SAMPLED_TEXTURE2D,
1404- AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY,
1414+ AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY, AR_OBJECT_VK_SAMPLED_TEXTURE2DMS,
1415+ AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY,
14051416#endif // ENABLE_SPIRV_CODEGEN
14061417 // SPIRV change ends
14071418
@@ -1515,6 +1526,8 @@ static const uint8_t g_ArBasicKindsTemplateCount[] = {
15151526 2, // AR_OBJECT_VK_BUFFER_POINTER
15161527 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2D
15171528 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
1529+ 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
1530+ 1, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY
15181531#endif // ENABLE_SPIRV_CODEGEN
15191532 // SPIRV change ends
15201533
@@ -1670,6 +1683,8 @@ static const SubscriptOperatorRecord g_ArBasicKindsSubscripts[] = {
16701683 {0, MipsFalse, SampleFalse}, // AR_OBJECT_VK_BUFFER_POINTER
16711684 {2, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE2D
16721685 {3, MipsTrue, SampleFalse}, // AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY
1686+ {2, MipsFalse, SampleTrue}, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS
1687+ {3, MipsFalse, SampleTrue}, // AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY
16731688#endif // ENABLE_SPIRV_CODEGEN
16741689 // SPIRV change ends
16751690
@@ -1841,6 +1856,8 @@ static const char *g_ArBasicTypeNames[] = {
18411856 "BufferPointer",
18421857 "SampledTexture2D",
18431858 "SampledTexture2DArray",
1859+ "SampledTexture2DMS",
1860+ "SampledTexture2DMSArray",
18441861#endif // ENABLE_SPIRV_CODEGEN
18451862 // SPIRV change ends
18461863
@@ -2502,6 +2519,14 @@ static void GetIntrinsicMethods(ArBasicKind kind,
25022519 *intrinsics = g_VkSampledTexture2DArrayMethods;
25032520 *intrinsicCount = _countof(g_VkSampledTexture2DArrayMethods);
25042521 break;
2522+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS:
2523+ *intrinsics = g_VkSampledTexture2DMSMethods;
2524+ *intrinsicCount = _countof(g_VkSampledTexture2DMSMethods);
2525+ break;
2526+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY:
2527+ *intrinsics = g_VkSampledTexture2DMSArrayMethods;
2528+ *intrinsicCount = _countof(g_VkSampledTexture2DMSArrayMethods);
2529+ break;
25052530#endif
25062531 case AR_OBJECT_HIT_OBJECT:
25072532 *intrinsics = g_DxHitObjectMethods;
@@ -4108,7 +4133,9 @@ class HLSLExternalSource : public ExternalSemaSource {
41084133 recordDecl->setImplicit(true);
41094134 m_vkBufferPointerTemplateDecl = recordDecl->getDescribedClassTemplate();
41104135 } else if (kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D ||
4111- kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY) {
4136+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE2D_ARRAY ||
4137+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS ||
4138+ kind == AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY) {
41124139 if (!m_vkNSDecl)
41134140 continue;
41144141 QualType float4Type =
@@ -5103,6 +5130,9 @@ class HLSLExternalSource : public ExternalSemaSource {
51035130 ResClass = DXIL::ResourceClass::SRV;
51045131 return true;
51055132 case AR_OBJECT_TEXTURE2DMS:
5133+ #ifdef ENABLE_SPIRV_CODEGEN
5134+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS:
5135+ #endif
51065136 ResKind = DXIL::ResourceKind::Texture2DMS;
51075137 ResClass = DXIL::ResourceClass::SRV;
51085138 return true;
@@ -5111,6 +5141,9 @@ class HLSLExternalSource : public ExternalSemaSource {
51115141 ResClass = DXIL::ResourceClass::UAV;
51125142 return true;
51135143 case AR_OBJECT_TEXTURE2DMS_ARRAY:
5144+ #ifdef ENABLE_SPIRV_CODEGEN
5145+ case AR_OBJECT_VK_SAMPLED_TEXTURE2DMS_ARRAY:
5146+ #endif
51145147 ResKind = DXIL::ResourceKind::Texture2DMSArray;
51155148 ResClass = DXIL::ResourceClass::SRV;
51165149 return true;
0 commit comments