d3d11: Drop legacy device support

Direct3D feature level 10 supported GPUs were released
more than 15 years ago, around the time when Windows
Vista / 7 were released. Also our d3d11 plugin/library
does not support feature level 9.x very well already.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5709>
This commit is contained in:
Seungha Yang 2023-11-23 23:32:15 +09:00
parent ee1b905ff3
commit 3ab8d520fb
2 changed files with 8 additions and 13 deletions

View file

@ -1000,9 +1000,6 @@ gst_d3d11_device_new_internal (const GstD3D11DeviceConstructData * data)
D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_11_0,
D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_1,
D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_10_0,
D3D_FEATURE_LEVEL_9_3,
D3D_FEATURE_LEVEL_9_2,
D3D_FEATURE_LEVEL_9_1
}; };
D3D_FEATURE_LEVEL selected_level; D3D_FEATURE_LEVEL selected_level;
@ -1043,6 +1040,12 @@ gst_d3d11_device_new_internal (const GstD3D11DeviceConstructData * data)
return nullptr; return nullptr;
} }
selected_level = device->GetFeatureLevel ();
if (selected_level < D3D_FEATURE_LEVEL_10_0) {
GST_ERROR ("Feature level 0x%x is not supported", (guint) selected_level);
return nullptr;
}
device->GetImmediateContext (&device_context); device->GetImmediateContext (&device_context);
} }

View file

@ -214,17 +214,9 @@ plugin_init (GstPlugin * plugin)
gst_object_unref (device); gst_object_unref (device);
} }
/* FIXME: Our shader code is not compatible with D3D_FEATURE_LEVEL_9_3 /* We don't support legacy Direct9.x level GPU */
* or lower. So HLSL compiler cannot understand our shader code and
* therefore d3d11colorconverter cannot be configured.
*
* Known D3D_FEATURE_LEVEL_9_3 driver is
* "VirtualBox Graphics Adapter (WDDM)"
* ... and there might be some more old physical devices which don't support
* D3D_FEATURE_LEVEL_10_0.
*/
if (max_feature_level < D3D_FEATURE_LEVEL_10_0) if (max_feature_level < D3D_FEATURE_LEVEL_10_0)
video_sink_rank = GST_RANK_NONE; return TRUE;
gst_d3d11_plugin_utils_init (max_feature_level); gst_d3d11_plugin_utils_init (max_feature_level);