Module: wine Branch: master Commit: 6690c7090c35aff776418ef2441e1b065c81f5b3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6690c7090c35aff776418ef244...
Author: Henri Verbeet hverbeet@codeweavers.com Date: Wed Nov 23 14:30:29 2016 +0100
wined3d: Properly check for the required extensions before selecting the GLSL FFP implementations.
Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/directx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c index 6588d1c..2a6e4b6 100644 --- a/dlls/wined3d/directx.c +++ b/dlls/wined3d/directx.c @@ -2479,7 +2479,7 @@ static enum wined3d_pci_device wined3d_guess_card(const struct shader_caps *shad static const struct wined3d_vertex_pipe_ops *select_vertex_implementation(const struct wined3d_gl_info *gl_info, const struct wined3d_shader_backend_ops *shader_backend_ops) { - if (shader_backend_ops == &glsl_shader_backend) + if (shader_backend_ops == &glsl_shader_backend && gl_info->supported[ARB_VERTEX_SHADER]) return &glsl_vertex_pipe; return &ffp_vertex_pipe; } @@ -2487,7 +2487,7 @@ static const struct wined3d_vertex_pipe_ops *select_vertex_implementation(const static const struct fragment_pipeline *select_fragment_implementation(const struct wined3d_gl_info *gl_info, const struct wined3d_shader_backend_ops *shader_backend_ops) { - if (shader_backend_ops == &glsl_shader_backend) + if (shader_backend_ops == &glsl_shader_backend && gl_info->supported[ARB_FRAGMENT_SHADER]) return &glsl_fragment_pipe; if (shader_backend_ops == &arb_program_shader_backend && gl_info->supported[ARB_FRAGMENT_PROGRAM]) return &arbfp_fragment_pipeline;