The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    DX10 on XP

    Discussion in 'Gaming (Software and Graphics Cards)' started by andrew.brandon, Apr 24, 2007.

  1. andrew.brandon

    andrew.brandon Notebook Evangelist

    Reputations:
    61
    Messages:
    594
    Likes Received:
    0
    Trophy Points:
    30
  2. shaheenarshan

    shaheenarshan Notebook Deity

    Reputations:
    140
    Messages:
    1,072
    Likes Received:
    0
    Trophy Points:
    55
    he would be fine until unless microsoft doesnt think of a way to sue him and jail hin for infringing a bam or some other made up charge
    just a matter of time i say
    but all the best to him
     
  3. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    Hmm, I don't think he's going to run into too much opposition, for two reasons.
    One, the fact that he can do it means that Microsoft has no excuse for not doing it (other than wanting to force people to use Vista). If they try to stop him, they'll just be accused of abusing their monopoly again (rightfully so, since that is exactly what they would be doing)

    And two, he's not actually infringing on any of their code or IP. He's just implementing the same interfaces as Microsoft does.

    Anyway, great idea, and best of luck to him. I can't see any major technical obstacles.
     
  4. wave

    wave Notebook Virtuoso

    Reputations:
    813
    Messages:
    2,563
    Likes Received:
    0
    Trophy Points:
    55
    Microsoft already said that the only reason that there is no DX10 for WinXP is because they dont want to maintain 2 versions of it. There is no technical limitation for making it. MS just never developed it it for XP.
     
  5. mujtaba

    mujtaba ZzzZzz Super Moderator

    Reputations:
    4,242
    Messages:
    3,088
    Likes Received:
    516
    Trophy Points:
    181
    And they wanted to force their 5 year developed (yet only worth 2 years of effort) down people's throat.In fact, considering that XP performs better than Vista on gaming, this might be Vista's downfall.
     
  6. shaheenarshan

    shaheenarshan Notebook Deity

    Reputations:
    140
    Messages:
    1,072
    Likes Received:
    0
    Trophy Points:
    55
    rite on mujtaba
    that is if he get through with his project
    and it proves successful
     
  7. wave

    wave Notebook Virtuoso

    Reputations:
    813
    Messages:
    2,563
    Likes Received:
    0
    Trophy Points:
    55
    It seems to be working fine but the reflection libraries are not done yet. It uses the CPU to process the geometry shaders that are DX10 only so I dont think it is really worth it for games since the CPU will be a huge bottleneck.
     
  8. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    They also tried to tie it to the changes in the driver architecture on Vista (which is partially right. Many of the performance improvements in DX10 on Vista can't be emulated on XP, but the new features such as SM4.0 can easily be ported)

    As for geometry shaders, there's no reason why they couldn't be done in the GPU. OpenGL can do it even now on XP. NVidia has released all the necessary extensions for it
     
  9. ltcommander_data

    ltcommander_data Notebook Deity

    Reputations:
    408
    Messages:
    1,398
    Likes Received:
    0
    Trophy Points:
    55
    Well, that's very interesting. I guess those people who have the 3GHz Octo-core Mac Pros have something to chew on assuming the converted geometry shader interface is sufficiently multithreaded.

    In terms of legality I suppose it depends on how he's done it. The SDKs are publicly available, but I'm thinking that there has to have been some reverse engineering involved in order to identify regular geometry shader calls then rewrite them into "native machine code" for the CPU to process. That certainly sounds kind of questionable. Microsoft allows DirectX distribution, but I'm sure they only mean for it to be done in unmodified form.

    On that blog, someone did bring up a good point. Besides the CPU speed limitation, there is also limitations based on what geometry shaders fundamentally are. They are supposed to generate new triangles from those that are produced by the vertex shader. The main reason in adding geometry shaders is to avoid the CPU bottleneck since it is the CPU that is feeding vertex data to the GPU and vertex shaders. Putting geometry shaders on the CPU is exactly the opposite of it's intended purpose and what's more you'd have to send all the vertex shader output out of the GPU into the CPU, process the geometry shaders, then shunt it all back to the GPU, somehow skip the the vertex shader again and go directly to the pixel shaders. The bottleneck would then be the interconnect architecture and I don't think even Gen 2 PCIe will be that much of a help.
     
  10. Richteralan

    Richteralan Notebook Evangelist

    Reputations:
    20
    Messages:
    416
    Likes Received:
    11
    Trophy Points:
    31
    The truth is that's just a software renderer that emulate some D3D10 caps in DirectX 9.
     
  11. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    First, it can simply be a matter of intercepting calls to DirectX (which stuff like Fraps already does).

    And second, he isn't modifying DX10, since it doesn't exist on XP. He's basically creating a new library that uses the same interface as DX10, but which is XP-compatible.

    And while at the moment it uses the CPU for the missing DX10 features, there's no reason why it couldn't be done on the GPU in time. (As I said, OpenGL can do it even now)
     
  12. ltcommander_data

    ltcommander_data Notebook Deity

    Reputations:
    408
    Messages:
    1,398
    Likes Received:
    0
    Trophy Points:
    55
    I guess it's just a matter of how "new" this new library is. If he's writing himself basically from scratch I suppose that's okay, if he just took stuff from DX10 and Vista and modified it to work for XP then that's probably more problematic.

    http://www.transgaming.com/index.php?module=contentexpress&file=index&func=display&ceid=24

    In terms of intercepting DX calls, I believe that's what Cider does to allow Windows games to work on Intel Macs. I think it wraps the game in the bare minimum Windows files needed for the game to think it's running in Windows. But the wrapper does the conversion from DX into OpenGL. I would imagine that Cider is using XP system files as a base right now, but it shouldn't be difficult as you say for them to use Vista files and map DX10 calls to OpenGL. There is still a speed issue, but nVidia is officially supporting Cider now and is going to help game developers program in a more compatible fashion to make wrapping easier. I would imagine that if they can eventually wrap DX10 games and make them playable in OpenGL Mac it shouldn't be too difficult to do the same for OpenGL XP. Then I guess it's up to the GPU makers to release full featured OpenGL 2.1 drivers for XP. I can certainly see Microsoft "encouraging" GPU makers to concentrate on writing better drivers for the "future", ie. Vista, rather than a "legacy" OS like XP.
     
  13. link1313

    link1313 Notebook Virtuoso

    Reputations:
    596
    Messages:
    3,470
    Likes Received:
    0
    Trophy Points:
    105
    My gaming scores have increased =/ , its mainly that EAX does not work and nobody is working on a workaround that really annoys me. 3D positional sound is so key in FPS =/