vkd3d: Add VKD3D_CONFIG for experimentally enabling SM 6.6.

To be used for bringup and removed when we complete the support.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
Hans-Kristian Arntzen 2021-10-26 13:28:05 +02:00
parent ae185271ff
commit 6548e4fd00
2 changed files with 9 additions and 0 deletions

View File

@ -76,6 +76,7 @@ enum vkd3d_config_flags
VKD3D_CONFIG_FLAG_FORCE_HOST_CACHED = 0x00002000,
VKD3D_CONFIG_FLAG_DXR11 = 0x00004000,
VKD3D_CONFIG_FLAG_FORCE_NO_INVARIANT_POSITION = 0x00008000,
VKD3D_CONFIG_FLAG_ENABLE_EXPERIMENTAL_SHADER_MODEL = 0x00010000,
};
typedef HRESULT (*PFN_vkd3d_signal_event)(HANDLE event);

View File

@ -534,6 +534,7 @@ static const struct vkd3d_debug_option vkd3d_config_options[] =
{"log_memory_budget", VKD3D_CONFIG_FLAG_LOG_MEMORY_BUDGET},
{"force_host_cached", VKD3D_CONFIG_FLAG_FORCE_HOST_CACHED},
{"no_invariant_position", VKD3D_CONFIG_FLAG_FORCE_NO_INVARIANT_POSITION},
{"experimental_shader_model", VKD3D_CONFIG_FLAG_ENABLE_EXPERIMENTAL_SHADER_MODEL},
};
static void vkd3d_config_flags_init_once(void)
@ -5172,6 +5173,13 @@ static void d3d12_device_caps_init_shader_model(struct d3d12_device *device)
device->d3d12_caps.max_shader_model = D3D_SHADER_MODEL_6_5;
TRACE("Enabling support for SM 6.5.\n");
}
if (device->d3d12_caps.max_shader_model == D3D_SHADER_MODEL_6_5 &&
(vkd3d_config_flags & VKD3D_CONFIG_FLAG_ENABLE_EXPERIMENTAL_SHADER_MODEL))
{
INFO("Enabling experimental support for SM 6.6.\n");
device->d3d12_caps.max_shader_model = D3D_SHADER_MODEL_6_6;
}
}
else
{