Józef Kucia : wined3d: Expose viewport array index capability in wined3d_caps.
Module: wine Branch: master Commit: dcc608168ae25f9754c504fe4f7ecccba33c346a URL: https://source.winehq.org/git/wine.git/?a=commit;h=dcc608168ae25f9754c504fe4... Author: Józef Kucia <jkucia(a)codeweavers.com> Date: Mon Oct 1 18:01:12 2018 +0200 wined3d: Expose viewport array index capability in wined3d_caps. For viewport array indices in shader stages other than geometry. Signed-off-by: Józef Kucia <jkucia(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/wined3d/adapter_gl.c | 2 ++ dlls/wined3d/directx.c | 1 + dlls/wined3d/wined3d_private.h | 1 + include/wine/wined3d.h | 1 + 4 files changed, 5 insertions(+) diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c index b794415..2f2d09d 100644 --- a/dlls/wined3d/adapter_gl.c +++ b/dlls/wined3d/adapter_gl.c @@ -3676,6 +3676,8 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter, d3d_info->limits.varying_count = shader_caps.varying_count; d3d_info->shader_double_precision = !!(shader_caps.wined3d_caps & WINED3D_SHADER_CAP_DOUBLE_PRECISION); + d3d_info->viewport_array_index_any_shader = !!gl_info->supported[ARB_SHADER_VIEWPORT_LAYER_ARRAY]; + adapter->vertex_pipe->vp_get_caps(gl_info, &vertex_caps); d3d_info->xyzrhw = vertex_caps.xyzrhw; d3d_info->ffp_generic_attributes = vertex_caps.ffp_generic_attributes; diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index a618486..fb67fe4 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2406,6 +2406,7 @@ HRESULT CDECL wined3d_get_device_caps(const struct wined3d *wined3d, UINT adapte } caps->shader_double_precision = d3d_info->shader_double_precision; + caps->viewport_array_index_any_shader = d3d_info->viewport_array_index_any_shader; caps->max_feature_level = d3d_info->feature_level; diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 8cfa4c3..9135189 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -197,6 +197,7 @@ struct wined3d_d3d_info unsigned int vs_clipping : 1; unsigned int shader_color_key : 1; unsigned int shader_double_precision : 1; + unsigned int viewport_array_index_any_shader : 1; unsigned int texture_npot : 1; unsigned int texture_npot_conditional : 1; enum wined3d_feature_level feature_level; diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h index e2e6a72..cf44ca6 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h @@ -1980,6 +1980,7 @@ struct wined3d_caps struct wined3d_ddraw_caps ddraw_caps; BOOL shader_double_precision; + BOOL viewport_array_index_any_shader; enum wined3d_feature_level max_feature_level; };
participants (1)
-
Alexandre Julliard