Re: WineD3D: gpu detection

2006-08-19 Thread Roderick Colenbrander
All capability detection should be based on opengl extensions. In most cases 
when there's no opengl extension which can provide the functionality we can't 
support it. Recently I have improved our capability reporting quite a bit. Some 
of the caps from the page you pointed to are now reported but also a big number 
of them isn't reported because wined3d doesn't support those yet. Reporting 
caps which we don't handle is very bad, it would break games.

Roderick

> Can we tie the gpu detection in to supporting fake/real alpha blending?
> 
> http://bugs.winehq.org/attachment.cgi?id=2936&action=view
> 
> http://bugs.winehq.org/show_bug.cgi?id=4050
> 
> 
> 

-- 


Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer




Re: WineD3D: gpu detection

2006-08-19 Thread Raphael
On Saturday 19 August 2006 15:06, EA Durbin wrote:
> Can we tie the gpu detection in to supporting fake/real alpha blending?
>
> http://bugs.winehq.org/attachment.cgi?id=2936&action=view
>
> http://bugs.winehq.org/show_bug.cgi?id=4050

No it's must be implemented using usuals GL caps queries :)

Raphael


pgpua9brNB4ZT.pgp
Description: PGP signature



Re: WineD3D: gpu detection

2006-08-19 Thread EA Durbin

Can we tie the gpu detection in to supporting fake/real alpha blending?

http://bugs.winehq.org/attachment.cgi?id=2936&action=view

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






Re: WineD3D: gpu detection

2006-08-19 Thread Tom Wickline

On 8/18/06, Roderick Colenbrander <[EMAIL PROTECTED]> wrote:

Hi,


Hello,



This patch tackles the problem in a different way. The idea is not to return 
the exact videocard but a close match (a card supporting more or less the same 
opengl features or with similar performance). Based on test using the closed 
source drivers from nvidia and ati and also using the opensource radeon dri 
drivers, I made a list of what extensions are available on the cards. Further I 
checked which of the extensions indicate correspond to certain directx versions.



You may already be aware of this "Graphics Card Comparison Guide" but
in case you don't here is the links, it may help in the match making
process...

ATI : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=0
NVIDIA : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=1
XGI : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=2
S3 : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=3
SiS : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=4
Matrox : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=5
PowerVR : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=6
3dfx : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=7
Trident : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=8
Intel : http://www.rojakpot.com/showarticle.aspx?artno=88&pgno=9

Tom




Re: WineD3D: gpu detection

2006-08-18 Thread Frank Richter
On 19.08.2006 00:09, Roderick Colenbrander wrote:
> +} else if(WINE_D3D8_CAPABLE(gl_info)) {
> +if (strstr(gl_info->gl_renderer, "GeForce4 Ti") || 
> strstr(gl_info->gl_renderer, "Quadro4"))
> +gl_info->gl_card = CARD_NVIDIA_GEFORCE4_TI4200; /* 
> Geforce4 Ti4200/Ti4400/Ti4600/Ti4800, Quadro4 */
> +else if (strstr(gl_info->gl_renderer, "GeForce4 MX"))
> +gl_info->gl_card = CARD_NVIDIA_GEFORCE4_MX; /* 
> MX420/MX440/MX460/MX4000 */

Small note: GeForce4 MX is not a DX8 capable card. It's a souped-up
GeForce2 MX and labelled "4" for marketing reasons. So perhaps move that
check into the DX7 branch.

-f.r.




Re: WineD3D: gpu detection

2006-08-18 Thread Jesse Allen

On 8/18/06, Roderick Colenbrander <[EMAIL PROTECTED]> wrote:

Hi,

In case of Direct3D each device exports the pci device/vendor ids of the 
videocard. Lots of programs use these ids to get an idea about the capabilities 
of the card, enable/disable features based on the detected card or sometimes 
they are used for evil purposes aswell (working around bugs).






Compared to the first method which I described which solely relied on the 
parsing of renderer strings this method is better because it takes into account 
the opengl capabilities of the videocard. So when a new card is out which isn't 
in our list, we won't fallback to a very basic card but can still return a 
'close match' because of the opengl extension checks.




This patch is a nice idea. Some games query pci ids and do stupid
things with it if it gets one it doesn't recognize. Using fake ids of
a common card will help some. This potentially means that Wine will
have better compatability with older games on newer hardware. For me
this fixes a problem with battlefront under wine where battlefront
sees CARD_WINE and turns everything to low and disables use of
programmable shaders completely. It was very annoying because there
was no way to force shaders back on in the game. I wrote a hack to fix
it, but now I'm glad there is a patch that does this lots better!

Thanks Roderick,
Jesse