[Bug 21515] VENDOR_WINE vs VENDOR_ATI with xf86-video-ati

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Feb 10 08:41:09 CST 2010


http://bugs.winehq.org/show_bug.cgi?id=21515





--- Comment #49 from Stefan Dösinger <stefandoesinger at gmx.at>  2010-02-10 08:41:09 ---
(In reply to comment #41)
> Well, that's all very nice but detection of new mesa cards is this bug report
> is all about after all, as I'm sure cruiseoveride will be happy to remind us
> :-) So while I'm sure you would like all this code cleaned up, we would like
> the detection of the new mesa cards.
The general rule is that the infrastructure has to be fixed before trying to
add in features that the existing infrastructure cannot support cleanly.

That said, the newest version of your patch looks pretty good, it already
introduces the separation of HW and GL vendor. Currently it is too big though,
and if it causes a regression it will be hard to spot where exactly it
happened. So it needs to be broken up into a few separate patches. For example:

Patch 1: Rename GL_VENDOR to HW_VENDOR
Patch 2: Add a real gl vendor detection
Patch 3.1: Probably split up the quirk detection function if 3.2 can't be done
properly otherwise.
Patch 3.2: Adjust the quirks. See below for a few comments on this
Patch 4: Add the card detection table and move the code
Patch 5: Add Mesa ATI card detection code

> And as I pointed out, my configuration
> doesn't report GLX info properly so I have a serious problem with testing my
> results.
Probably your 32 bit compat libraries are broken. You'll probably have to
compile Mesa and libdrm for 32 bit manually and install it in your /usr/lib32
directory. A 32 bit glxinfo binary can help debugging

Wrt the quirks:
>    {
>        match_ati_r300_to_500,
>        quirk_ati_dx9,
>        "ATI GLSL constant and normalized texrect quirk"
>    },
Driver dependent. There is a HW aspect to it, but it depends on the driver
partially emulating NP2 textures.

>    {
>        match_apple,
>        quirk_apple_glsl_constants,
>        "Apple GLSL uniform override"
>    },
Driver dependent, HW independent. Apple's GLSL infrastructure is teh suck.

>    {
>        match_geforce5,
>        quirk_no_np2,
>        "Geforce 5 NP2 disable"
>    },
Driver dependent, since the nvidia driver advertises NP2 textures incorrectly.
If noveau ever does the same we'll have to add a quirk for it as well, but not
yet.

>    {
>        match_apple_intel,
>        quirk_texcoord_w,
>        "Init texcoord .w for Apple Intel GPU driver"
>    },
That quirk should actually be inverted, to make the quirk code the default and
the non-quirky code a quirk. For now leave it as is though. Depends on
hw_vendor + card + driver

>    {
>        match_apple_nonr500ati,
>        quirk_texcoord_w,
>        "Init texcoord .w for Apple ATI >= r600 GPU driver"
>    },
Same as above.

>    {
>        match_fglrx,
>        quirk_one_point_sprite,
>        "Fglrx point sprite crash workaround"
>    },
Driver dependent. Maybe doesn't depend on the card, needs testing. But I think
Roderick said its working on dx10 ATI cards.

>    {
>        match_dx10_capable,
>        quirk_clip_varying,
>        "Reserved varying for gl_ClipPos"
>    },
Driver independent

>    {
>        match_allows_spec_alpha,
>        quirk_allows_specular_alpha,
>        "Allow specular alpha quirk"
>    },
A very specific test for the behavior, doesn't depend at all on the GL
identification

>    {
>        match_apple_nvts,
>        quirk_apple_nvts,
>        "Apple NV_texture_shader disable"
>    },
Depends on gl_vendor=APPLE and support for NVTS

>    {
>        match_broken_nv_clip,
>        quirk_disable_nvvp_clip,
>        "Apple NV_vertex_program clip bug quirk"
>    },
Has a very specific test, shouldn't depend on the card detection

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list