D3DX9_xx.dll

D3DX9 extension library files. Relevant MSDN section, although unfortunately MSDN URLs tend to break over time.

A Brief Overview

In order to simplify the code structure in Wine, nearly all functions from the various d3dx9_xx dlls are forwarded to d3dx9_36. The primary exceptions are functions that were never implemented in d3dx9_36 (these are forwarded to d3dx9_24), the functions D3DXGetTargetDescByName and D3DXGetTargetDescByVersion, which are in d3dx9_24 to d3dx9_30 since we couldn't find any documentation for them.

This means that most Wine d3dx9 developers only need to focus on d3dx9_36. As of v1.5.27, Wine's implementation of the d3dx9 API includes:

  • most math functions
  • ID3DXSprite interface
  • partial ID3DXFont interface (currently missing text drawing)
  • most surface and texture functions
  • some mesh functions

Also note that the shader assembler/compiler functions are now forwarded to d3dcompiler_43.dll, which is the "modern" interface to these features. This lets us reuse a lot of code for d3dx9, d3d10 and d3dx10 too.

Games for Testing

Here is a table of games that rely on d3dx9, along with which module they primarily (?) depend on:

Title

d3dx9_??

FEAR

25

Black & White 2

25

Universal Combat

25

Civilization IV

26

Dreamfall: The Longest Journey 2

27

Oblivion

27

Sid Meier's Railroads

28

Warlords Battlecry III

28

Settlers 2: The Next Generation

29

Caesar IV

29

Need for Speed Carbon

30

The Sims: Pet Stories (others too?)

30

Entropia Universe

30

Lego Star Wars II

30

EverQuest

30

Avencast: Rise of the Mage

30

Transformers

31

Touhou 10

31

Tabula Rasa

33

Lost Planet

33

Need For Speed: Pro Street

34

Lego Indiana Jones

35

Lego Island

35

Chessmaster 11

35

The Witcher

35

Medieval 2: Total War

36

Rainbow Six Vegas

36

Age of Empires III

36

Fable: The Lost Chapters

36

TrackMania Nations Forever

36

Europa Universalis Rome

36

Age of Conan

36

Overlord

36

Guitar Hero 3

36

PatchCon

36?

Resident Evil 4

36?

Flatout 2

36?

Battlefield 2

36?

Psychonauts

36?

Crysis

36?

Titan Quest

36?

IrrEdit

36?

See Also

Check out the DirectX-ToDo page to see what parts of the d3dx9_xx dlls still need work.

Additional info about the functions that the dlls provide:


CategoryDLLs CategoryGraphics

DirectX-D3DX9 (last edited 2013-07-14 00:33:04 by KyleAuble)