@@ -6245,7 +6245,7 @@ uint64_t RenderingDeviceDriverD3D12::api_trait_get(ApiTrait p_trait) {
62456245bool RenderingDeviceDriverD3D12::has_feature (Features p_feature) {
62466246 switch (p_feature) {
62476247 case SUPPORTS_HALF_FLOAT:
6248- return shader_capabilities.native_16bit_ops && storage_buffer_capabilities. storage_buffer_16_bit_access_is_supported ;
6248+ return shader_capabilities.native_16bit_ops ;
62496249 case SUPPORTS_FRAGMENT_SHADER_WITH_ONLY_SIDE_EFFECTS:
62506250 return true ;
62516251 case SUPPORTS_BUFFER_DEVICE_ADDRESS:
@@ -6475,7 +6475,6 @@ Error RenderingDeviceDriverD3D12::_check_capabilities() {
64756475 subgroup_capabilities.wave_ops_supported = false ;
64766476 shader_capabilities.shader_model = (D3D_SHADER_MODEL)0 ;
64776477 shader_capabilities.native_16bit_ops = false ;
6478- storage_buffer_capabilities.storage_buffer_16_bit_access_is_supported = false ;
64796478 format_capabilities.relaxed_casting_supported = false ;
64806479
64816480 {
@@ -6516,9 +6515,8 @@ Error RenderingDeviceDriverD3D12::_check_capabilities() {
65166515
65176516 D3D12_FEATURE_DATA_D3D12_OPTIONS options = {};
65186517 res = device->CheckFeatureSupport (D3D12_FEATURE_D3D12_OPTIONS, &options, sizeof (options));
6519- if (SUCCEEDED (res)) {
6520- storage_buffer_capabilities.storage_buffer_16_bit_access_is_supported = options.TypedUAVLoadAdditionalFormats ;
6521- }
6518+ ERR_FAIL_COND_V_MSG (!SUCCEEDED (res), ERR_UNAVAILABLE, " CheckFeatureSupport failed with error " + vformat (" 0x%08ux" , (uint64_t )res) + " ." );
6519+ ERR_FAIL_COND_V_MSG (!options.TypedUAVLoadAdditionalFormats , ERR_UNAVAILABLE, " No support for Typed UAV Load Additional Formats has been found." );
65226520
65236521 D3D12_FEATURE_DATA_D3D12_OPTIONS1 options1 = {};
65246522 res = device->CheckFeatureSupport (D3D12_FEATURE_D3D12_OPTIONS1, &options1, sizeof (options1));
0 commit comments