From patch 3/5:
+static bool feature_level_9_3_supported(const struct wined3d_physical_device_info *info, unsigned int shader_model) +{ + return shader_model >= 3 + && info->features2.features.independentBlend; +}
This is probably fine for simplicity, but note the existence of WINED3DPMISCCAPS_INDEPENDENTWRITEMASKS (and "NumSimultaneousRTs" more generally); this is not strictly a requirement for D3D 9.3.