@@ -6238,7 +6238,7 @@ uint64_t RenderingDeviceDriverD3D12::api_trait_get(ApiTrait p_trait) {
62386238bool RenderingDeviceDriverD3D12::has_feature (Features p_feature) {
62396239 switch (p_feature) {
62406240 case SUPPORTS_HALF_FLOAT:
6241- return shader_capabilities.native_16bit_ops && storage_buffer_capabilities. storage_buffer_16_bit_access_is_supported ;
6241+ return shader_capabilities.native_16bit_ops ;
62426242 case SUPPORTS_FRAGMENT_SHADER_WITH_ONLY_SIDE_EFFECTS:
62436243 return true ;
62446244 case SUPPORTS_BUFFER_DEVICE_ADDRESS:
@@ -6468,7 +6468,6 @@ Error RenderingDeviceDriverD3D12::_check_capabilities() {
64686468 subgroup_capabilities.wave_ops_supported = false ;
64696469 shader_capabilities.shader_model = (D3D_SHADER_MODEL)0 ;
64706470 shader_capabilities.native_16bit_ops = false ;
6471- storage_buffer_capabilities.storage_buffer_16_bit_access_is_supported = false ;
64726471 format_capabilities.relaxed_casting_supported = false ;
64736472
64746473 {
@@ -6509,9 +6508,8 @@ Error RenderingDeviceDriverD3D12::_check_capabilities() {
65096508
65106509 D3D12_FEATURE_DATA_D3D12_OPTIONS options = {};
65116510 res = device->CheckFeatureSupport (D3D12_FEATURE_D3D12_OPTIONS, &options, sizeof (options));
6512- if (SUCCEEDED (res)) {
6513- storage_buffer_capabilities.storage_buffer_16_bit_access_is_supported = options.TypedUAVLoadAdditionalFormats ;
6514- }
6511+ ERR_FAIL_COND_V_MSG (!SUCCEEDED (res), ERR_UNAVAILABLE, " CheckFeatureSupport failed with error " + vformat (" 0x%08ux" , (uint64_t )res) + " ." );
6512+ ERR_FAIL_COND_V_MSG (!options.TypedUAVLoadAdditionalFormats , ERR_UNAVAILABLE, " No support for Typed UAV Load Additional Formats has been found." );
65156513
65166514 D3D12_FEATURE_DATA_D3D12_OPTIONS1 options1 = {};
65176515 res = device->CheckFeatureSupport (D3D12_FEATURE_D3D12_OPTIONS1, &options1, sizeof (options1));
0 commit comments