It does indeed sound like something is off with the RS 1.1 support, however, it's not clear to me what is going wrong or what the app is doing differently if it detects 1.1. As far as I know, the only difference with RS 1.1 is the addition of descriptor/data volatility information.
I didn't hit any issues with RS 1.1 on SOTTR when I tried it, fwiw.
Cheers, Hans-Kristian
On 10/25/19 4:26 PM, Sveinar Søpler wrote:
This patch, aswell as the patch from https://www.winehq.org/pipermail/wine-devel/2019-October/152984.html gives this error with World of Warcraft:
trace:d3d12_device_CheckFeatureSupport: Root signature requested 0x2. trace:d3d12_device_CheckFeatureSupport: Root signature version 0x2. trace:d3d12_device_CheckFeatureSupport: iface 0x7dc9eea0, feature 0x7, feature_data 0x22f608, feature_data_size 4. trace:d3d12_device_CheckFeatureSupport: Request shader model 0x64. trace:d3d12_device_CheckFeatureSupport: Shader model 0x51. trace:d3d12_device_CheckFeatureSupport: iface 0x7dc9eea0, feature 0x15, feature_data 0x22f4a0, feature_data_size 20. fixme:d3d12_device_CheckFeatureSupport: No support for any D3D12_OPTIONS3 optional features.
I guess WoW perhaps requests root signature 1.1, but it is not really supported?
Reverting c002aee119b638d30eeb7cdc91099449ccafeafc works, and i guess forces 1.0 no matter what is requested. Perhaps something else is missing with proper root sig 1.1 support?
Sveinar
On 25.10.2019 14:55, Rémi Bernon wrote:
This fixes Shadow of the Tomb Raider crashing because of NULL root signatures being passed since c002aee119b638d30eeb7cdc91099449ccafeafc.
Signed-off-by: Rémi Bernon rbernon@codeweavers.com
libs/vkd3d/device.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index d30c447c..30cee112 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -2512,7 +2512,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_device_CheckFeatureSupport(ID3D12Device * return E_INVALIDARG; }
- data->HighestVersion = D3D_ROOT_SIGNATURE_VERSION_1_1; + TRACE("Root signature requested %#x.\n", data->HighestVersion); + data->HighestVersion = min(data->HighestVersion, D3D_ROOT_SIGNATURE_VERSION_1_1);
TRACE("Root signature version %#x.\n", data->HighestVersion); return S_OK; -- 2.24.0.rc0