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@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
442fd828ff
commit
dcc608168a
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue