wined3d: Move "vs_clipping" to the shader caps.

This commit is contained in:
Henri Verbeet 2013-01-21 09:08:37 +01:00 committed by Alexandre Julliard
parent 0e0e3b76f5
commit c525cf381d
5 changed files with 9 additions and 5 deletions

View File

@ -5062,7 +5062,9 @@ static void shader_arb_get_caps(const struct wined3d_gl_info *gl_info, struct sh
caps->ps_1x_max_value = 0.0f;
}
caps->vs_clipping = use_nv_clip(gl_info);
caps->wined3d_caps = 0;
if (use_nv_clip(gl_info))
caps->wined3d_caps |= WINED3D_SHADER_CAP_VS_CLIPPING;
}
static BOOL shader_arb_color_fixup_supported(struct color_fixup_desc fixup)

View File

@ -5659,7 +5659,7 @@ HRESULT device_init(struct wined3d_device *device, struct wined3d *wined3d,
device->ps_version = shader_caps.ps_version;
device->d3d_vshader_constantF = shader_caps.vs_uniform_count;
device->d3d_pshader_constantF = shader_caps.ps_uniform_count;
device->vs_clipping = shader_caps.vs_clipping;
device->vs_clipping = shader_caps.wined3d_caps & WINED3D_SHADER_CAP_VS_CLIPPING;
fragment_pipeline = adapter->fragment_pipe;
fragment_pipeline->get_caps(&adapter->gl_info, &ffp_caps);

View File

@ -6205,7 +6205,7 @@ static void shader_glsl_get_caps(const struct wined3d_gl_info *gl_info, struct s
*/
caps->ps_1x_max_value = 8.0;
caps->vs_clipping = TRUE;
caps->wined3d_caps = WINED3D_SHADER_CAP_VS_CLIPPING;
}
static BOOL shader_glsl_color_fixup_supported(struct color_fixup_desc fixup)

View File

@ -1549,7 +1549,7 @@ static void shader_none_get_caps(const struct wined3d_gl_info *gl_info, struct s
caps->vs_uniform_count = 0;
caps->ps_uniform_count = 0;
caps->ps_1x_max_value = 0.0f;
caps->vs_clipping = FALSE;
caps->wined3d_caps = 0;
}
static BOOL shader_none_color_fixup_supported(struct color_fixup_desc fixup)

View File

@ -714,6 +714,8 @@ extern const struct wined3d_shader_frontend sm4_shader_frontend DECLSPEC_HIDDEN;
typedef void (*SHADER_HANDLER)(const struct wined3d_shader_instruction *);
#define WINED3D_SHADER_CAP_VS_CLIPPING 0x00000001
struct shader_caps
{
UINT vs_version;
@ -724,7 +726,7 @@ struct shader_caps
DWORD ps_uniform_count;
float ps_1x_max_value;
BOOL vs_clipping;
DWORD wined3d_caps;
};
enum tex_types