diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 7046060d524..9ecc4ed7135 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -6190,6 +6190,8 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte caps->shader_double_precision = d3d_info->shader_double_precision; + caps->max_feature_level = d3d_info->feature_level; + return WINED3D_OK; } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 01888469e7a..9aa70817f5d 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -184,19 +184,6 @@ struct wined3d_ffp_attrib_ops wined3d_generic_attrib_func generic[WINED3D_FFP_EMIT_COUNT]; }; -enum wined3d_feature_level -{ - WINED3D_FEATURE_LEVEL_5, - WINED3D_FEATURE_LEVEL_6, - WINED3D_FEATURE_LEVEL_7, - WINED3D_FEATURE_LEVEL_8, - WINED3D_FEATURE_LEVEL_9_SM2, - WINED3D_FEATURE_LEVEL_9_SM3, - WINED3D_FEATURE_LEVEL_10, - WINED3D_FEATURE_LEVEL_11, - WINED3D_FEATURE_LEVEL_COUNT -}; - struct wined3d_d3d_info { struct wined3d_d3d_limits limits; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index 0f388ab2a19..239ccd8ec62 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -88,6 +88,19 @@ enum wined3d_device_type WINED3D_DEVICE_TYPE_NULLREF = 4, }; +enum wined3d_feature_level +{ + WINED3D_FEATURE_LEVEL_5, + WINED3D_FEATURE_LEVEL_6, + WINED3D_FEATURE_LEVEL_7, + WINED3D_FEATURE_LEVEL_8, + WINED3D_FEATURE_LEVEL_9_SM2, + WINED3D_FEATURE_LEVEL_9_SM3, + WINED3D_FEATURE_LEVEL_10, + WINED3D_FEATURE_LEVEL_11, + WINED3D_FEATURE_LEVEL_COUNT +}; + enum wined3d_degree_type { WINED3D_DEGREE_LINEAR = 1, @@ -1962,6 +1975,8 @@ struct wined3d_caps struct wined3d_ddraw_caps ddraw_caps; BOOL shader_double_precision; + + enum wined3d_feature_level max_feature_level; }; struct wined3d_color_key