Intel Arc and Xe iGPUs Need to emulate support for DirectX 9 Through a Wrapper

Discussion in 'Frontpage news' started by Hilbert Hagedoorn, Aug 15, 2022.

  1. Hilbert Hagedoorn

    Hilbert Hagedoorn Don Vito Corleone Staff Member

    Messages:
    44,743
    Likes Received:
    11,400
    GPU:
    AMD | NVIDIA
    Last edited: Aug 15, 2022
  2. Pinstripe

    Pinstripe Master Guru

    Messages:
    267
    Likes Received:
    45
    GPU:
    RTX 3060 Ti
    That's a bit of a misleading headline. Not supported *natively*, but emulated via D3D9On12 interface.
     
  3. vestibule

    vestibule Master Guru

    Messages:
    898
    Likes Received:
    345
    GPU:
    Radeon RX6600XT
    I have seen reviews where by the ARC cannot run Dirt 5.
    Which is a definite lol.
     
  4. Hilbert Hagedoorn

    Hilbert Hagedoorn Don Vito Corleone Staff Member

    Messages:
    44,743
    Likes Received:
    11,400
    GPU:
    AMD | NVIDIA
    Well, heck, if you need to emulate through a wrapper you're not exactly supporting it in hardware.
     
    Last edited: Aug 15, 2022

  5. Pinstripe

    Pinstripe Master Guru

    Messages:
    267
    Likes Received:
    45
    GPU:
    RTX 3060 Ti
    DX9 games still run on it though, so it's somewhat misleading.
     
  6. BLEH!

    BLEH! Ancient Guru

    Messages:
    6,307
    Likes Received:
    315
    GPU:
    Sapphire Fury
    I can't see these being particularly attractive. It's just one bad thing after another! As someone who plays a lot of (heavily modded and very poorly optimised) DX9 games, these would basically be useless to me.
     
  7. KissSh0t

    KissSh0t Ancient Guru

    Messages:
    11,508
    Likes Received:
    5,259
    GPU:
    ASUS RX 470 Strix
    I just remembered intel had that competition to win an Intel Xe gpu.... I forget how long ago that was, my question for entering the competition was actually will Intel Xe gpu's support DirectX 9..... xD
     
  8. Horus-Anhur

    Horus-Anhur Ancient Guru

    Messages:
    4,745
    Likes Received:
    5,603
    GPU:
    RTX 2070 Super
    Intel's driver development for Arch is a trainwreck.
     
  9. H83

    H83 Ancient Guru

    Messages:
    4,079
    Likes Received:
    1,482
    GPU:
    MSI Duke GTX1080Ti
    I think this is an understandable move from Intel, DX9 is old and they already have enough on their plate just writing drivers for modern games.

    The question here is how good is the emulation in the end.
     
    schmidtbag likes this.
  10. Astyanax

    Astyanax Ancient Guru

    Messages:
    14,006
    Likes Received:
    5,645
    GPU:
    GTX 1080ti
    9on12 isn't a wrapper.
     

  11. schmidtbag

    schmidtbag Ancient Guru

    Messages:
    6,845
    Likes Received:
    3,211
    GPU:
    HIS R9 290
    I see no problem with this. Sure, there's going to be some additional CPU overhead, but I have no doubts that even the most demanding DX9 game is going to be plenty playable on even the worst Arc GPU through D3D9On12. Most of such games used no more than 2 threads.
    DXVK effectively accomplishes the same thing and it can actually improve performance over native DX support. So depending how MS wrote their driver, Intel may see a performance advantage in DX9 games.

    EDIT:
    Kinda funny how DX10 wasn't even mentioned. Makes sense though - just about every game that supported it also supported another version (or OpenGL).
     
    Last edited: Aug 15, 2022
  12. MonstroMart

    MonstroMart Maha Guru

    Messages:
    1,208
    Likes Received:
    668
    GPU:
    RX 6800 Red Dragon
    I'm glad to learn my AMD and nVidia cards were supporting glide back in the days since it could run some glide games using a wrapper ...

    Pretty much every reviews or Arc i've watched where they tested a bunch of old games said the support/performance for old games was awful at best. If D3D9On12 is not a wrapper then it's certainly not a native implementation of d3d9. I'm not knowledgeable about D3D9On12 but looking at the doc quickly it looks like a wrapper to me. Most people online call it a wrapper too.
     
  13. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    2,103
    Likes Received:
    638
    GPU:
    3060 TUF
    I suspect Borderlands 2 will run like garbage, even with Alder Lake CPU.
    No idea why people always think CPU performance with D3D9 wouldn't be an issue, those games often have super-shitty scaling with newer CPUs vs. newer APIs, or they were always terrible to begin with.
    Load Gothic 2 (ok, it's DirectDraw, but still) Khorinis savegame and be surprised, this isn't too uncommon either.
     
  14. Espionage724

    Espionage724 Master Guru

    Messages:
    686
    Likes Received:
    295
    GPU:
    EVGA RTX 3060 XC
    What is a wrapper then?

    https://github.com/microsoft/D3D9On12

    Are we arguing semantics here or is this really not as clear-cut as I'm thinking it is? I'm aware DX and D3D aren't exactly the same thing but DX is less letters :p

    Headline says DX9 needs to be emulated through a wrapper. D3D9On12 does DX9 -> DX12. Therefore, to run DX9 things on Arc/Xe, it needs to get mapped/translated/wrapped/magic'd/whatever to DX12, instead of having driver-level support for it natively. What is confusing here?
     
    MonstroMart likes this.
  15. user1

    user1 Ancient Guru

    Messages:
    2,178
    Likes Received:
    869
    GPU:
    hd 6870
    To be fair a "wrapper" is a pretty specific thing, wrappers tend to be standalone programs (see the glide wrapper or dxvk), where as a translation layer or mapping layer as microsoft calls it is a more generic term and can cover more intimately integrated software that effectively does the same thing (providing compatibility). However I don't think that the distinction is that important in this case, since they are close enough.

    nvm: I just educated myself, its a programmer term, found this explantion helpful https://training.glass.lu/courses/318762/lectures/4894960

    in this case a wrapper, completely "wraps" the api, ie in this case the application talks to the native driver via translated calls.

    where as what microsoft is doing, is creating a d3d9 driver(called d3d9on12) and the the application talks to that, and then the d3d9on12 driver talks to the native dx12 driver if I understand correctly, which is why it is a "mapping layer" and not a wrapper.

    you achieve a similar result , but they are not the same thing.
     
    Last edited: Aug 15, 2022

  16. Neo Cyrus

    Neo Cyrus Ancient Guru

    Messages:
    10,162
    Likes Received:
    866
    GPU:
    Asus TUF 3080 OC
    Nothing about it is misleading. It says it needs to use a wrapper, not that it won't run.
     
    KissSh0t likes this.
  17. schmidtbag

    schmidtbag Ancient Guru

    Messages:
    6,845
    Likes Received:
    3,211
    GPU:
    HIS R9 290
    I don't see how an AL would struggle with a game like that. While the game wouldn't be able to take advantage of any newer instructions or more threads, the improvements in the process node, cache, clock speeds, and OS schedulers ought to make a significant improvement. In other words, it won't be worse on AL than it was on a Sandy Bridge i7.
    The added CPU overhead of doing a compatibility/translation layer or wrapper (or whatever you want to call it) would have no little to no impact on the game since it would most likely happen in a separate thread.
    So unless there's something I'm not understanding here, such games shouldn't run any worse compared to a native DX9 driver.
     
  18. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    2,103
    Likes Received:
    638
    GPU:
    3060 TUF
    My statement obviously was that even fast CPUs like Alder Lake will deliver subpar performance with a crap driver like Intel's, even in ancient D3D9 games.
    No idea why you explain why faster CPUs should be faster than slower at this occasion, not really enlightening...

    Now you're acting like I said a translation layer itself would be an issue. *Annoying.*
    But apparently, something in Intel's render chain for D3D9 actually is a giant dookie.
     
  19. schmidtbag

    schmidtbag Ancient Guru

    Messages:
    6,845
    Likes Received:
    3,211
    GPU:
    HIS R9 290
    Except what really is obvious, as I enlightened, is that wouldn't be the case. Sure, we're not talking a major improvement in FPS, but it'll still be plenty playable. I managed to play BL2 on Linux using a Bulldozer CPU and it was totally fine. That's a worst-case scenario - an i3 or Ryzen 3 would get the job done just fine. Modern CPUs can handle DX9 games just fine.
    I am not; in fact, I've already stated in a previous post that I think Intel's approach is perfectly fine, and potentially a good idea (assuming MS did a sensible job on their part with the translation layer). However, your initial response to me seemed to imply "these games are CPU limited enough to struggle on modern CPUs so they won't run well by adding more overhead". Apparently, that's not how you felt.
     
    Last edited: Aug 15, 2022
  20. aufkrawall2

    aufkrawall2 Ancient Guru

    Messages:
    2,103
    Likes Received:
    638
    GPU:
    3060 TUF
    No, they can't, because Windows 10 has regressed CPU bound performance in lots of D3D9 games by ~50%.
    I also don't think I share your opinion of what's "just fine" when you think BL2 ran fine on your BDZ, when I remember my 2500K @4.8GHz was struggling in a fair number of scenes. Not to speak of multiplayer...
     

Share This Page