Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Topic on Engine talk:Source

Source is basically a D3D9+ engine

5
Aemony (talkcontribs)

As was brought up in Talk:List of Direct3D 8 games -> Source Engine Games, Source engines does not seem to actually use older Direct3D APIs than 9.

After extensive testing, even to the degree of using WinXP SP1 (which doesn't come with DirectX 9 preinstalled) and various copies of games I have been unable to actually see the games run without D3D9 installed, or use D3D9 when various "DirectX modes" command line arguments is used.

Everything points and reinforces that the "DirectX modes" command line arguments of the Source engine runs in D3D9 but uses compatibility modes/profiles to ensure older DirectX hardware level features are used instead of newer. This is also clarified in the Video -> Advanced window in many games, where "Hardware DirectX level" is changed when using e.g. -dxlevel 60 but "Software DirectX level" remains static at DirectX 9.

Basically each newer "DirectX mode" enables the D3D9 engine to make use of newer DirectX hardware capabilities, as documented on Valve's developer wiki.

A few newer games can also make use of D3D11, though this is an outlier and seems to be a new rendering codebase mostly implemented by their individual developers (e.g. Vindictus still shows "DirectX 9" as the "software level" even though it's using D3D11).

D3D9Ex (Direct3D 9Ex, or Direct3D 9.0L) still needs to be confirmed a bit too, as it is an API available in some games but not all, and there's probably some that are incorrectly listed as having that option.

Mirh (talkcontribs)

Just about any that got on a >2013 branch should have D3D9Ex by now. Or if not any, it's there in the common branch vanilla hl2 has, also tf2, dota and csgo (even though they were all enabled years apart). Dear esther, portal 2, l4d2, nuclear dawn and insurgency don't have it instead (confirmed with SK with all but the later).

It should be noted the in-game toggle (at least for the Source 2013 games that still have it) has no effect anymore. The only way to disable it is with -nod3d9ex or -dxlevel n (where n is < 90, says the source code).

Aemony (talkcontribs)

A note on D3D9Ex is that RTSS and SK reports differently. RTSS only concerns itself with swapchain data if I remember it right, so it only reports a game as using D3D9Ex if it uses FlipEx (the new swap effect introduced in D3D9Ex). However SK reports games making use of other D3D9Ex related calls (ones that RTSS doesn't hook/care about) as using D3D9Ex even if the swap effect might not be FlipEx.

This means that D3D9Ex testing is at the moment flawed unless aware of these details and how reality might be different from what's being reported.

Vlad 54rus (talkcontribs)

Can it really? Tried modded Fallout New Vegas with FlipEx swapchain but RTSS still reports it as D3D9.

Aemony (talkcontribs)

I am not aware of the specifics that RTSS uses to identify D3D9Ex other than it not being really extensive (since it frequently misreports games), but it does seem that it is even less extensive than I initially thought...

I have confirmed your findings using two native D3D9Ex FlipEx games:

Kingdom Under Fire: Heroes - Misreported as D3D9 by RTSS. Hotline Miami 2: Wrong Number - Correctly reported as D3D9Ex by RTSS.

Well, this is annoying... :(