[PATCH vkd3d] vkd3d: Do not report a root signature version higher than requested.

Hans-Kristian Arntzen post at arntzen-software.no
Fri Oct 25 10:14:32 CDT 2019


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 at 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
>>
>>
>
>



More information about the wine-devel mailing list