VirtualBox

Ignore:
Timestamp:
Jan 20, 2012 1:12:27 PM (13 years ago)
Author:
vboxsync
Message:

wddm/3d: fix ie rendering with mesa nvidia drivers

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Wine/wined3d/directx.c

    r39602 r39819  
    885885}
    886886
     887#ifdef VBOX_WITH_WDDM
     888static BOOL match_mesa_nvidia(const struct wined3d_gl_info *gl_info, const char *gl_renderer,
     889        enum wined3d_gl_vendor gl_vendor, enum wined3d_pci_vendor card_vendor, enum wined3d_pci_device device)
     890{
     891    if (card_vendor != HW_VENDOR_NVIDIA) return FALSE;
     892    if (gl_vendor != GL_VENDOR_MESA) return FALSE;
     893    return TRUE;
     894}
     895
     896static void quirk_no_shader_3(struct wined3d_gl_info *gl_info)
     897{
     898    int vs_selected_mode, ps_selected_mode;
     899    select_shader_mode(gl_info, &ps_selected_mode, &vs_selected_mode);
     900    if (vs_selected_mode != SHADER_GLSL && ps_selected_mode != SHADER_GLSL)
     901        return;
     902
     903    gl_info->limits.arb_ps_instructions = 512;
     904}
     905#endif
     906
    887907struct driver_quirk
    888908{
     
    974994        "Fullsize blit"
    975995    },
     996#ifdef VBOX_WITH_WDDM
     997    {
     998            match_mesa_nvidia,
     999            quirk_no_shader_3,
     1000            "disable shader 3 support"
     1001    },
     1002#endif
    9761003};
    9771004
     
    19431970{
    19441971    FIXME_(d3d_caps)("Card selection not handled for Mesa Nouveau driver\n");
     1972#ifndef VBOX_WITH_WDDM
    19451973    if (WINE_D3D9_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCEFX_5600;
     1974#else
     1975    /* tmp work around to disable quirk_no_np2 quirk for mesa drivers */
     1976    if (WINE_D3D9_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCE_6200;
     1977#endif
    19461978    if (WINE_D3D8_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCE3;
    19471979    if (WINE_D3D7_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCE;
     
    20562088     * them a good generic choice. */
    20572089    *card_vendor = HW_VENDOR_NVIDIA;
     2090#ifndef VBOX_WITH_WDDM
    20582091    if (WINE_D3D9_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCEFX_5600;
     2092#else
     2093    /* tmp work around to disable quirk_no_np2 quirk for not-recognized drivers */
     2094    if (WINE_D3D9_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCE_6200;
     2095#endif
     2096
    20592097    if (WINE_D3D8_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCE3;
    20602098    if (WINE_D3D7_CAPABLE(gl_info)) return CARD_NVIDIA_GEFORCE;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette