microsoft/compiler: Declare shader model 6.8 / validator 1.8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27160>
This commit is contained in:
@@ -1561,6 +1561,7 @@ d3d12_init_screen(struct d3d12_screen *screen, IUnknown *adapter)
|
||||
screen->max_feature_level = feature_levels.MaxSupportedFeatureLevel;
|
||||
|
||||
static const D3D_SHADER_MODEL valid_shader_models[] = {
|
||||
D3D_SHADER_MODEL_6_8,
|
||||
D3D_SHADER_MODEL_6_7, D3D_SHADER_MODEL_6_6, D3D_SHADER_MODEL_6_5, D3D_SHADER_MODEL_6_4,
|
||||
D3D_SHADER_MODEL_6_3, D3D_SHADER_MODEL_6_2, D3D_SHADER_MODEL_6_1, D3D_SHADER_MODEL_6_0,
|
||||
};
|
||||
@@ -1568,7 +1569,7 @@ d3d12_init_screen(struct d3d12_screen *screen, IUnknown *adapter)
|
||||
D3D12_FEATURE_DATA_SHADER_MODEL shader_model = { valid_shader_models[i] };
|
||||
if (SUCCEEDED(screen->dev->CheckFeatureSupport(D3D12_FEATURE_SHADER_MODEL, &shader_model, sizeof(shader_model)))) {
|
||||
static_assert(D3D_SHADER_MODEL_6_0 == 0x60 && SHADER_MODEL_6_0 == 0x60000, "Validating math below");
|
||||
static_assert(D3D_SHADER_MODEL_6_7 == 0x67 && SHADER_MODEL_6_7 == 0x60007, "Validating math below");
|
||||
static_assert(D3D_SHADER_MODEL_6_8 == 0x68 && SHADER_MODEL_6_8 == 0x60008, "Validating math below");
|
||||
screen->max_shader_model = static_cast<dxil_shader_model>(((shader_model.HighestShaderModel & 0xf0) << 12) |
|
||||
(shader_model.HighestShaderModel & 0xf));
|
||||
break;
|
||||
|
@@ -101,9 +101,9 @@ get_validator_version(IDxcValidator *val)
|
||||
return NO_DXIL_VALIDATION;
|
||||
|
||||
if (major == 1)
|
||||
return (enum dxil_validator_version)(DXIL_VALIDATOR_1_0 + MIN2(minor, 7));
|
||||
return (enum dxil_validator_version)(DXIL_VALIDATOR_1_0 + MIN2(minor, 8));
|
||||
if (major > 1)
|
||||
return DXIL_VALIDATOR_1_7;
|
||||
return DXIL_VALIDATOR_1_8;
|
||||
return NO_DXIL_VALIDATION;
|
||||
}
|
||||
|
||||
|
@@ -37,6 +37,7 @@ enum dxil_shader_model {
|
||||
SHADER_MODEL_6_5,
|
||||
SHADER_MODEL_6_6,
|
||||
SHADER_MODEL_6_7,
|
||||
SHADER_MODEL_6_8,
|
||||
};
|
||||
|
||||
enum dxil_validator_version {
|
||||
@@ -49,6 +50,7 @@ enum dxil_validator_version {
|
||||
DXIL_VALIDATOR_1_5,
|
||||
DXIL_VALIDATOR_1_6,
|
||||
DXIL_VALIDATOR_1_7,
|
||||
DXIL_VALIDATOR_1_8,
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -6428,9 +6428,9 @@ type_size_vec4(const struct glsl_type *type, bool bindless)
|
||||
}
|
||||
|
||||
static const unsigned dxil_validator_min_capable_version = DXIL_VALIDATOR_1_4;
|
||||
static const unsigned dxil_validator_max_capable_version = DXIL_VALIDATOR_1_7;
|
||||
static const unsigned dxil_validator_max_capable_version = DXIL_VALIDATOR_1_8;
|
||||
static const unsigned dxil_min_shader_model = SHADER_MODEL_6_0;
|
||||
static const unsigned dxil_max_shader_model = SHADER_MODEL_6_7;
|
||||
static const unsigned dxil_max_shader_model = SHADER_MODEL_6_8;
|
||||
|
||||
bool
|
||||
nir_to_dxil(struct nir_shader *s, const struct nir_to_dxil_options *opts,
|
||||
|
@@ -394,8 +394,8 @@ dzn_physical_device_cache_caps(struct dzn_physical_device *pdev)
|
||||
pdev->feature_level = levels.MaxSupportedFeatureLevel;
|
||||
|
||||
static const D3D_SHADER_MODEL valid_shader_models[] = {
|
||||
D3D_SHADER_MODEL_6_7, D3D_SHADER_MODEL_6_6, D3D_SHADER_MODEL_6_5, D3D_SHADER_MODEL_6_4,
|
||||
D3D_SHADER_MODEL_6_3, D3D_SHADER_MODEL_6_2, D3D_SHADER_MODEL_6_1,
|
||||
D3D_SHADER_MODEL_6_8 ,D3D_SHADER_MODEL_6_7, D3D_SHADER_MODEL_6_6, D3D_SHADER_MODEL_6_5,
|
||||
D3D_SHADER_MODEL_6_4, D3D_SHADER_MODEL_6_3, D3D_SHADER_MODEL_6_2, D3D_SHADER_MODEL_6_1,
|
||||
};
|
||||
for (UINT i = 0; i < ARRAY_SIZE(valid_shader_models); ++i) {
|
||||
D3D12_FEATURE_DATA_SHADER_MODEL shader_model = { valid_shader_models[i] };
|
||||
|
@@ -384,7 +384,7 @@ enum dxil_shader_model
|
||||
dzn_get_shader_model(const struct dzn_physical_device *pdev)
|
||||
{
|
||||
static_assert(D3D_SHADER_MODEL_6_0 == 0x60 && SHADER_MODEL_6_0 == 0x60000, "Validating math below");
|
||||
static_assert(D3D_SHADER_MODEL_6_7 == 0x67 && SHADER_MODEL_6_7 == 0x60007, "Validating math below");
|
||||
static_assert(D3D_SHADER_MODEL_6_8 == 0x68 && SHADER_MODEL_6_8 == 0x60008, "Validating math below");
|
||||
return ((pdev->shader_model & 0xf0) << 12) | (pdev->shader_model & 0xf);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user