소스 검색

Dxexp: Update highest recognized shader model to 6.8 (#4409)

Helena Kotas 3 년 전
부모
커밋
ffc69e9cec
1개의 변경된 파일7개의 추가작업 그리고 1개의 파일을 삭제
  1. 7 1
      tools/dxexp/dxexp.cpp

+ 7 - 1
tools/dxexp/dxexp.cpp

@@ -144,6 +144,10 @@ typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS5
 #pragma warning( disable : 4063 )
 #define D3D12_RAYTRACING_TIER_1_1 ((D3D12_RAYTRACING_TIER)11)
 #define D3D_SHADER_MODEL_6_6 ((D3D_SHADER_MODEL)0x66)
+#define D3D_SHADER_MODEL_6_7 ((D3D_SHADER_MODEL)0x67)
+#define D3D_SHADER_MODEL_6_8 ((D3D_SHADER_MODEL)0x68)
+
+#define DXEXP_HIGHEST_SHADER_MODEL D3D_SHADER_MODEL_6_8
 
 static char *BoolToStrJson(bool value) {
   return value ? "true" : "false";
@@ -169,6 +173,8 @@ static char *ShaderModelToStr(D3D_SHADER_MODEL SM) {
   case D3D_SHADER_MODEL_6_4: return "6.4";
   case D3D_SHADER_MODEL_6_5: return "6.5";
   case D3D_SHADER_MODEL_6_6: return "6.6";
+  case D3D_SHADER_MODEL_6_7: return "6.7";
+  case D3D_SHADER_MODEL_6_8: return "6.8";
   default: return "ERROR";
   }
 }
@@ -194,7 +200,7 @@ static char *RaytracingTierToStr(D3D12_RAYTRACING_TIER Tier) {
 
 static HRESULT GetHighestShaderModel(ID3D12Device *pDevice, D3D12_FEATURE_DATA_SHADER_MODEL &DeviceSM) {
   HRESULT hr = E_INVALIDARG;
-  D3D_SHADER_MODEL SM = D3D_SHADER_MODEL_6_6;
+  D3D_SHADER_MODEL SM = DXEXP_HIGHEST_SHADER_MODEL;
   while (hr == E_INVALIDARG && SM >= D3D_SHADER_MODEL_6_0) {
     DeviceSM.HighestShaderModel = SM;
     hr = pDevice->CheckFeatureSupport(D3D12_FEATURE_SHADER_MODEL, &DeviceSM, sizeof(DeviceSM));