@@ -64,6 +64,7 @@ bool ShaderModel::IsValidForDxil() const {
64
64
case 6 :
65
65
case 7 :
66
66
case 8 :
67
+ case 9 :
67
68
// VALRULE-TEXT:END
68
69
return true ;
69
70
case kOfflineMinor :
@@ -91,85 +92,94 @@ const ShaderModel *ShaderModel::Get(Kind Kind, unsigned Major, unsigned Minor) {
91
92
{1542 , 10 }, // ps_6_6
92
93
{1543 , 11 }, // ps_6_7
93
94
{1544 , 12 }, // ps_6_8
94
- {66560 , 13 }, // vs_4_0
95
- {66561 , 14 }, // vs_4_1
96
- {66816 , 15 }, // vs_5_0
97
- {66817 , 16 }, // vs_5_1
98
- {67072 , 17 }, // vs_6_0
99
- {67073 , 18 }, // vs_6_1
100
- {67074 , 19 }, // vs_6_2
101
- {67075 , 20 }, // vs_6_3
102
- {67076 , 21 }, // vs_6_4
103
- {67077 , 22 }, // vs_6_5
104
- {67078 , 23 }, // vs_6_6
105
- {67079 , 24 }, // vs_6_7
106
- {67080 , 25 }, // vs_6_8
107
- {132096 , 26 }, // gs_4_0
108
- {132097 , 27 }, // gs_4_1
109
- {132352 , 28 }, // gs_5_0
110
- {132353 , 29 }, // gs_5_1
111
- {132608 , 30 }, // gs_6_0
112
- {132609 , 31 }, // gs_6_1
113
- {132610 , 32 }, // gs_6_2
114
- {132611 , 33 }, // gs_6_3
115
- {132612 , 34 }, // gs_6_4
116
- {132613 , 35 }, // gs_6_5
117
- {132614 , 36 }, // gs_6_6
118
- {132615 , 37 }, // gs_6_7
119
- {132616 , 38 }, // gs_6_8
120
- {197888 , 39 }, // hs_5_0
121
- {197889 , 40 }, // hs_5_1
122
- {198144 , 41 }, // hs_6_0
123
- {198145 , 42 }, // hs_6_1
124
- {198146 , 43 }, // hs_6_2
125
- {198147 , 44 }, // hs_6_3
126
- {198148 , 45 }, // hs_6_4
127
- {198149 , 46 }, // hs_6_5
128
- {198150 , 47 }, // hs_6_6
129
- {198151 , 48 }, // hs_6_7
130
- {198152 , 49 }, // hs_6_8
131
- {263424 , 50 }, // ds_5_0
132
- {263425 , 51 }, // ds_5_1
133
- {263680 , 52 }, // ds_6_0
134
- {263681 , 53 }, // ds_6_1
135
- {263682 , 54 }, // ds_6_2
136
- {263683 , 55 }, // ds_6_3
137
- {263684 , 56 }, // ds_6_4
138
- {263685 , 57 }, // ds_6_5
139
- {263686 , 58 }, // ds_6_6
140
- {263687 , 59 }, // ds_6_7
141
- {263688 , 60 }, // ds_6_8
142
- {328704 , 61 }, // cs_4_0
143
- {328705 , 62 }, // cs_4_1
144
- {328960 , 63 }, // cs_5_0
145
- {328961 , 64 }, // cs_5_1
146
- {329216 , 65 }, // cs_6_0
147
- {329217 , 66 }, // cs_6_1
148
- {329218 , 67 }, // cs_6_2
149
- {329219 , 68 }, // cs_6_3
150
- {329220 , 69 }, // cs_6_4
151
- {329221 , 70 }, // cs_6_5
152
- {329222 , 71 }, // cs_6_6
153
- {329223 , 72 }, // cs_6_7
154
- {329224 , 73 }, // cs_6_8
155
- {394753 , 74 }, // lib_6_1
156
- {394754 , 75 }, // lib_6_2
157
- {394755 , 76 }, // lib_6_3
158
- {394756 , 77 }, // lib_6_4
159
- {394757 , 78 }, // lib_6_5
160
- {394758 , 79 }, // lib_6_6
161
- {394759 , 80 }, // lib_6_7
162
- {394760 , 81 }, // lib_6_8
95
+ {1545 , 13 }, // ps_6_9
96
+ {66560 , 14 }, // vs_4_0
97
+ {66561 , 15 }, // vs_4_1
98
+ {66816 , 16 }, // vs_5_0
99
+ {66817 , 17 }, // vs_5_1
100
+ {67072 , 18 }, // vs_6_0
101
+ {67073 , 19 }, // vs_6_1
102
+ {67074 , 20 }, // vs_6_2
103
+ {67075 , 21 }, // vs_6_3
104
+ {67076 , 22 }, // vs_6_4
105
+ {67077 , 23 }, // vs_6_5
106
+ {67078 , 24 }, // vs_6_6
107
+ {67079 , 25 }, // vs_6_7
108
+ {67080 , 26 }, // vs_6_8
109
+ {67081 , 27 }, // vs_6_9
110
+ {132096 , 28 }, // gs_4_0
111
+ {132097 , 29 }, // gs_4_1
112
+ {132352 , 30 }, // gs_5_0
113
+ {132353 , 31 }, // gs_5_1
114
+ {132608 , 32 }, // gs_6_0
115
+ {132609 , 33 }, // gs_6_1
116
+ {132610 , 34 }, // gs_6_2
117
+ {132611 , 35 }, // gs_6_3
118
+ {132612 , 36 }, // gs_6_4
119
+ {132613 , 37 }, // gs_6_5
120
+ {132614 , 38 }, // gs_6_6
121
+ {132615 , 39 }, // gs_6_7
122
+ {132616 , 40 }, // gs_6_8
123
+ {132617 , 41 }, // gs_6_9
124
+ {197888 , 42 }, // hs_5_0
125
+ {197889 , 43 }, // hs_5_1
126
+ {198144 , 44 }, // hs_6_0
127
+ {198145 , 45 }, // hs_6_1
128
+ {198146 , 46 }, // hs_6_2
129
+ {198147 , 47 }, // hs_6_3
130
+ {198148 , 48 }, // hs_6_4
131
+ {198149 , 49 }, // hs_6_5
132
+ {198150 , 50 }, // hs_6_6
133
+ {198151 , 51 }, // hs_6_7
134
+ {198152 , 52 }, // hs_6_8
135
+ {198153 , 53 }, // hs_6_9
136
+ {263424 , 54 }, // ds_5_0
137
+ {263425 , 55 }, // ds_5_1
138
+ {263680 , 56 }, // ds_6_0
139
+ {263681 , 57 }, // ds_6_1
140
+ {263682 , 58 }, // ds_6_2
141
+ {263683 , 59 }, // ds_6_3
142
+ {263684 , 60 }, // ds_6_4
143
+ {263685 , 61 }, // ds_6_5
144
+ {263686 , 62 }, // ds_6_6
145
+ {263687 , 63 }, // ds_6_7
146
+ {263688 , 64 }, // ds_6_8
147
+ {263689 , 65 }, // ds_6_9
148
+ {328704 , 66 }, // cs_4_0
149
+ {328705 , 67 }, // cs_4_1
150
+ {328960 , 68 }, // cs_5_0
151
+ {328961 , 69 }, // cs_5_1
152
+ {329216 , 70 }, // cs_6_0
153
+ {329217 , 71 }, // cs_6_1
154
+ {329218 , 72 }, // cs_6_2
155
+ {329219 , 73 }, // cs_6_3
156
+ {329220 , 74 }, // cs_6_4
157
+ {329221 , 75 }, // cs_6_5
158
+ {329222 , 76 }, // cs_6_6
159
+ {329223 , 77 }, // cs_6_7
160
+ {329224 , 78 }, // cs_6_8
161
+ {329225 , 79 }, // cs_6_9
162
+ {394753 , 80 }, // lib_6_1
163
+ {394754 , 81 }, // lib_6_2
164
+ {394755 , 82 }, // lib_6_3
165
+ {394756 , 83 }, // lib_6_4
166
+ {394757 , 84 }, // lib_6_5
167
+ {394758 , 85 }, // lib_6_6
168
+ {394759 , 86 }, // lib_6_7
169
+ {394760 , 87 }, // lib_6_8
170
+ {394761 , 88 }, // lib_6_9
163
171
// lib_6_x is for offline linking only, and relaxes restrictions
164
- {394767 , 82 }, // lib_6_x
165
- {853509 , 83 }, // ms_6_5
166
- {853510 , 84 }, // ms_6_6
167
- {853511 , 85 }, // ms_6_7
168
- {853512 , 86 }, // ms_6_8
169
- {919045 , 87 }, // as_6_5
170
- {919046 , 88 }, // as_6_6
171
- {919047 , 89 }, // as_6_7
172
- {919048 , 90 }, // as_6_8
172
+ {394767 , 89 }, // lib_6_x
173
+ {853509 , 90 }, // ms_6_5
174
+ {853510 , 91 }, // ms_6_6
175
+ {853511 , 92 }, // ms_6_7
176
+ {853512 , 93 }, // ms_6_8
177
+ {853513 , 94 }, // ms_6_9
178
+ {919045 , 95 }, // as_6_5
179
+ {919046 , 96 }, // as_6_6
180
+ {919047 , 97 }, // as_6_7
181
+ {919048 , 98 }, // as_6_8
182
+ {919049 , 99 }, // as_6_9
173
183
};
174
184
unsigned hash = (unsigned )Kind << 16 | Major << 8 | Minor;
175
185
auto pred = [](const std::pair<unsigned , unsigned > &elem, unsigned val) {
@@ -303,6 +313,12 @@ const ShaderModel *ShaderModel::GetByName(llvm::StringRef Name) {
303
313
break ;
304
314
} else
305
315
return GetInvalid ();
316
+ case ' 9' :
317
+ if (Major == 6 ) {
318
+ Minor = 9 ;
319
+ break ;
320
+ } else
321
+ return GetInvalid ();
306
322
// VALRULE-TEXT:END
307
323
case ' x' :
308
324
if (kind == Kind::Library && Major == 6 ) {
@@ -354,8 +370,11 @@ void ShaderModel::GetDxilVersion(unsigned &DxilMajor,
354
370
case 8 :
355
371
DxilMinor = 8 ;
356
372
break ;
373
+ case 9 :
374
+ DxilMinor = 9 ;
375
+ break ;
357
376
case kOfflineMinor : // Always update this to highest dxil version
358
- DxilMinor = 8 ;
377
+ DxilMinor = 9 ;
359
378
break ;
360
379
// VALRULE-TEXT:END
361
380
default :
@@ -401,6 +420,9 @@ void ShaderModel::GetMinValidatorVersion(unsigned &ValMajor,
401
420
case 8 :
402
421
ValMinor = 8 ;
403
422
break ;
423
+ case 9 :
424
+ ValMinor = 9 ;
425
+ break ;
404
426
// VALRULE-TEXT:END
405
427
case kOfflineMinor :
406
428
ValMajor = 0 ;
@@ -541,6 +563,7 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
541
563
SM (Kind::Pixel, 6 , 6 , " ps_6_6" , 32 , 8 , true , true , UINT_MAX),
542
564
SM (Kind::Pixel, 6 , 7 , " ps_6_7" , 32 , 8 , true , true , UINT_MAX),
543
565
SM (Kind::Pixel, 6 , 8 , " ps_6_8" , 32 , 8 , true , true , UINT_MAX),
566
+ SM (Kind::Pixel, 6 , 9 , " ps_6_9" , 32 , 8 , true , true , UINT_MAX),
544
567
SM (Kind::Vertex, 4 , 0 , " vs_4_0" , 16 , 16 , false , false , 0 ),
545
568
SM (Kind::Vertex, 4 , 1 , " vs_4_1" , 32 , 32 , false , false , 0 ),
546
569
SM (Kind::Vertex, 5 , 0 , " vs_5_0" , 32 , 32 , true , true , 64 ),
@@ -554,6 +577,7 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
554
577
SM (Kind::Vertex, 6 , 6 , " vs_6_6" , 32 , 32 , true , true , UINT_MAX),
555
578
SM (Kind::Vertex, 6 , 7 , " vs_6_7" , 32 , 32 , true , true , UINT_MAX),
556
579
SM (Kind::Vertex, 6 , 8 , " vs_6_8" , 32 , 32 , true , true , UINT_MAX),
580
+ SM (Kind::Vertex, 6 , 9 , " vs_6_9" , 32 , 32 , true , true , UINT_MAX),
557
581
SM (Kind::Geometry, 4 , 0 , " gs_4_0" , 16 , 32 , false , false , 0 ),
558
582
SM (Kind::Geometry, 4 , 1 , " gs_4_1" , 32 , 32 , false , false , 0 ),
559
583
SM (Kind::Geometry, 5 , 0 , " gs_5_0" , 32 , 32 , true , true , 64 ),
@@ -567,6 +591,7 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
567
591
SM (Kind::Geometry, 6 , 6 , " gs_6_6" , 32 , 32 , true , true , UINT_MAX),
568
592
SM (Kind::Geometry, 6 , 7 , " gs_6_7" , 32 , 32 , true , true , UINT_MAX),
569
593
SM (Kind::Geometry, 6 , 8 , " gs_6_8" , 32 , 32 , true , true , UINT_MAX),
594
+ SM (Kind::Geometry, 6 , 9 , " gs_6_9" , 32 , 32 , true , true , UINT_MAX),
570
595
SM (Kind::Hull, 5 , 0 , " hs_5_0" , 32 , 32 , true , true , 64 ),
571
596
SM (Kind::Hull, 5 , 1 , " hs_5_1" , 32 , 32 , true , true , 64 ),
572
597
SM (Kind::Hull, 6 , 0 , " hs_6_0" , 32 , 32 , true , true , UINT_MAX),
@@ -578,6 +603,7 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
578
603
SM (Kind::Hull, 6 , 6 , " hs_6_6" , 32 , 32 , true , true , UINT_MAX),
579
604
SM (Kind::Hull, 6 , 7 , " hs_6_7" , 32 , 32 , true , true , UINT_MAX),
580
605
SM (Kind::Hull, 6 , 8 , " hs_6_8" , 32 , 32 , true , true , UINT_MAX),
606
+ SM (Kind::Hull, 6 , 9 , " hs_6_9" , 32 , 32 , true , true , UINT_MAX),
581
607
SM (Kind::Domain, 5 , 0 , " ds_5_0" , 32 , 32 , true , true , 64 ),
582
608
SM (Kind::Domain, 5 , 1 , " ds_5_1" , 32 , 32 , true , true , 64 ),
583
609
SM (Kind::Domain, 6 , 0 , " ds_6_0" , 32 , 32 , true , true , UINT_MAX),
@@ -589,6 +615,7 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
589
615
SM (Kind::Domain, 6 , 6 , " ds_6_6" , 32 , 32 , true , true , UINT_MAX),
590
616
SM (Kind::Domain, 6 , 7 , " ds_6_7" , 32 , 32 , true , true , UINT_MAX),
591
617
SM (Kind::Domain, 6 , 8 , " ds_6_8" , 32 , 32 , true , true , UINT_MAX),
618
+ SM (Kind::Domain, 6 , 9 , " ds_6_9" , 32 , 32 , true , true , UINT_MAX),
592
619
SM (Kind::Compute, 4 , 0 , " cs_4_0" , 0 , 0 , false , false , 0 ),
593
620
SM (Kind::Compute, 4 , 1 , " cs_4_1" , 0 , 0 , false , false , 0 ),
594
621
SM (Kind::Compute, 5 , 0 , " cs_5_0" , 0 , 0 , true , true , 64 ),
@@ -602,6 +629,7 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
602
629
SM (Kind::Compute, 6 , 6 , " cs_6_6" , 0 , 0 , true , true , UINT_MAX),
603
630
SM (Kind::Compute, 6 , 7 , " cs_6_7" , 0 , 0 , true , true , UINT_MAX),
604
631
SM (Kind::Compute, 6 , 8 , " cs_6_8" , 0 , 0 , true , true , UINT_MAX),
632
+ SM (Kind::Compute, 6 , 9 , " cs_6_9" , 0 , 0 , true , true , UINT_MAX),
605
633
SM (Kind::Library, 6 , 1 , " lib_6_1" , 32 , 32 , true , true , UINT_MAX),
606
634
SM (Kind::Library, 6 , 2 , " lib_6_2" , 32 , 32 , true , true , UINT_MAX),
607
635
SM (Kind::Library, 6 , 3 , " lib_6_3" , 32 , 32 , true , true , UINT_MAX),
@@ -610,17 +638,20 @@ const ShaderModel ShaderModel::ms_ShaderModels[kNumShaderModels] = {
610
638
SM (Kind::Library, 6 , 6 , " lib_6_6" , 32 , 32 , true , true , UINT_MAX),
611
639
SM (Kind::Library, 6 , 7 , " lib_6_7" , 32 , 32 , true , true , UINT_MAX),
612
640
SM (Kind::Library, 6 , 8 , " lib_6_8" , 32 , 32 , true , true , UINT_MAX),
641
+ SM (Kind::Library, 6 , 9 , " lib_6_9" , 32 , 32 , true , true , UINT_MAX),
613
642
// lib_6_x is for offline linking only, and relaxes restrictions
614
643
SM (Kind::Library, 6 , kOfflineMinor , " lib_6_x" , 32 , 32 , true , true ,
615
644
UINT_MAX),
616
645
SM (Kind::Mesh, 6 , 5 , " ms_6_5" , 0 , 0 , true , true , UINT_MAX),
617
646
SM (Kind::Mesh, 6 , 6 , " ms_6_6" , 0 , 0 , true , true , UINT_MAX),
618
647
SM (Kind::Mesh, 6 , 7 , " ms_6_7" , 0 , 0 , true , true , UINT_MAX),
619
648
SM (Kind::Mesh, 6 , 8 , " ms_6_8" , 0 , 0 , true , true , UINT_MAX),
649
+ SM (Kind::Mesh, 6 , 9 , " ms_6_9" , 0 , 0 , true , true , UINT_MAX),
620
650
SM (Kind::Amplification, 6 , 5 , " as_6_5" , 0 , 0 , true , true , UINT_MAX),
621
651
SM (Kind::Amplification, 6 , 6 , " as_6_6" , 0 , 0 , true , true , UINT_MAX),
622
652
SM (Kind::Amplification, 6 , 7 , " as_6_7" , 0 , 0 , true , true , UINT_MAX),
623
653
SM (Kind::Amplification, 6 , 8 , " as_6_8" , 0 , 0 , true , true , UINT_MAX),
654
+ SM (Kind::Amplification, 6 , 9 , " as_6_9" , 0 , 0 , true , true , UINT_MAX),
624
655
// Values before Invalid must remain sorted by Kind, then Major, then Minor.
625
656
SM (Kind::Invalid, 0 , 0 , " invalid" , 0 , 0 , false , false , 0 ),
626
657
// VALRULE-TEXT:END
0 commit comments