DirectX 10 Compatibility for Windows XP

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

5150Joker

Diamond Member
Feb 6, 2002
5,559
0
71
www.techinferno.com
Originally posted by: PingSpike
Originally posted by: I4AT
Originally posted by: PingSpike
The only people that have said DX10 was impossible in XP, that I've seen, were from Microsoft.

John Carmack has stated the limitation is artifical for the purposes of pushing vista.

If Carmack said it, it is so. Link?

Text


Carmack is also an OpenGL whore so I'm sure he has ulterior motives.
 

I4AT

Platinum Member
Oct 28, 2006
2,630
2
81
Originally posted by: 5150Joker
Originally posted by: PingSpike
Originally posted by: I4AT
Originally posted by: PingSpike
The only people that have said DX10 was impossible in XP, that I've seen, were from Microsoft.

John Carmack has stated the limitation is artifical for the purposes of pushing vista.

If Carmack said it, it is so. Link?

Text


Carmack is also an OpenGL whore so I'm sure he has ulterior motives.

Found the full interview, sounds more like he's saying MS is using DX10 as hype to push the OS, not necessarily that it's something that could've been done in XP, but just that there aren't any clear gains in upgrading at the moment.

And Carmack has given plenty of praise to both DX9 and the Xbox 360's API, so I don't see any reason for 'ulterior motives'. He'll support anything open dev, that's just in his nature.
 

schneiderguy

Lifer
Jun 26, 2006
10,769
52
91
Originally posted by: Matthias99
Having a way to expose DX10 shaders in WinXP is probably doable (I'm sure OpenGL will offer it at some point via extensions).

AFAIK OpenGL can do everything DX10 can (wasnt that how nvidia was doing their "dx10" tech demos before they released a DX10 driver?)
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Originally posted by: nullpointerus
Originally posted by: xtknight
Originally posted by: Ulfhednar
This will be emulation at best, and it will run like a three-legged dog.
You never know...wine (with other open source modifications) runs DX9 pretty well.
Ah, but Wine Is Not an Emulator. :)

Seriously, what would have to be done to get DX10 features working in hardware on Linux?

Next person who says wine is not an emulator should be lucky to have their face intact. Gets me every time. :) Even though it's not... it's basically a translator.

WINE has a couple modes of operation: it can emulate (...) using Windows DLLs or by implementing the DLLs (which are libraries) itself.

There was talk of DX10 and wine. http://www.winehq.com/pipermail/wine-devel/2007-March/054778.html

Basically, they would like to start a framework through which DX10 development can prosper...but not necessarily implement it in whole. Functions that are not implemented will be partially implemented as "stubs", meaning they will return what is expected just to keep the program on its feet (and this is where possible artifacts or bugs may come in). This is very much like WINE is like right now: all the structures and functions are more or less "there" but there's nothing in probably 30% of them still. Over time the functions are filled in. They want to get it to a point where all the DX10 structures are "in place" so that over time they can be implemented.

http://code.google.com/soc/wine/appinfo.html?csaid=14411B58ACD714B8

Doesn't look like it will be easy, though. Whoever is making this and the wine devs should get together and speed this work up. I'm willing to bet that they will have very similar modes of operation despite being compiled differently.

I have confidence that they'll get it eventually. There are companies like CodeWeavers who offer 'proper' wine-based D3D9 translation that works great (for a reasonable price) and several games are officially supported, such as World of Warcraft and Half Life 2. Sometimes they will give back to the open source community, other times not.

Conventional WINE has shaky D3D9 support still, requiring a fallback to DX8 in many instances.

Another route that may be hopeful is virtualization. I'm not sure, but it may be possible to allow direct access to graphics hardware (or semi-direct) via the hardware virtualization support in modern Intel and AMD CPUs.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: schneiderguy
Originally posted by: Matthias99
Having a way to expose DX10 shaders in WinXP is probably doable (I'm sure OpenGL will offer it at some point via extensions).

AFAIK OpenGL can do everything DX10 can (wasnt that how nvidia was doing their "dx10" tech demos before they released a DX10 driver?)

It's the same hardware. With custom vendor extensions you can expose all the same hardware functionality -- although it can take a long time for them to become an official part of the OpenGL standards. And if ATI/AMD and NVIDIA don't agree to expose pretty much exactly the same functionality, it can get messy -- a game might have to have separate rendering paths (at least partially) for G80 and R600.

But yes, OGL should provide more or less 'complete' access to the hardware regardless of the platform. However, DX10 is significantly more than just the new pixel/vertex shaders, and I don't know that current OGL gives you the same kind of driver-level integration (at least on a Windows platform).
 

BFG10K

Lifer
Aug 14, 2000
22,709
2,971
126
I don't know how it will support every feature such as multiple DirectX instances being updated at once
You don't need any of that, just implement the minimum required to get one full screen game or application to work. Obviously we aren't expecting them to implement all of Vista's internal graphics changes such as the new driver model.

Ah, but Wine Is Not an Emulator.
I doubt this will be either. Like I stated it'll likely be a wrapper.

Carmack is also an OpenGL whore so I'm sure he has ulterior motives.
IIRC he stated the XBox 360 development system is one of the best he's ever used. He just tells it like it is and for that reason he's probably one of the most unbiased developers out there.

AFAIK OpenGL can do everything DX10 can (wasnt that how nvidia was doing their "dx10" tech demos before they released a DX10 driver?)
Very true but it requires vendor specific extensions since such functionaility exceeds the current ARB spec. For that reason I'm thinking it's going to be a DX9 implementation, otherwise they'd need separate codebases for nVidia and ATi which would be a nightmare to maintain.