DirectX Error CreateSampleState

xXToYeDXx
CA Zwerbowany: 2011-10-30
2012-05-20 00:16 , edytowano 2012-05-23 08:25 autor: xXToYeDXx
Specs:

Chassis: Silverstone RV03 Raven 3
Mobo: Asus Rampage 3 Black
CPU: i7 960 OC to 4GHz Stable
CPU Cooling: Corsair H80
RAM: 6GB Mushkin Enhanced DDR3-2000 CL7
Sound card: Asus Xonar Xense
GPU: 2x Asus ENGTX580 DCII in SLI
PSU: Enermax SGalaxy EVO 1250W
SSD: Corsair Force 3 240GB
HDD: Western Digital 750GB for storage
OS: Windows 7 Ultimate 64bit
Keyboard: Steelseries 6GV2
Mouse: Steelseries Xai

The error:

DirectX Function "device->CreateSamplerState(&state.desc,&state.state.assignGet())" failed with E_INVALIDARG: An invalid parameter was passed to the returning function. GPU: "NVIDIA GeForce GTX 580", Driver: 30124

http://i288.photobucket.com/albums/ll166/xXToYeDXx/DXError-1.jpg [i288.photobucket.com]

What I have already tried:

1)Updated GPU driver from 296.10 to 301.24 Beta
2) Reinstalled DirectX from web installer
3) Reinstalled DirectX from installer on BF3 game disc
4) Disabled realtek onboard sound device in BIOS
5) Disabled SLI
6) Disabled Origin In game
7) Ran Orgin as Administrator
8) Ran BF3 from shortcut in compatibility mode for Vista SP2
9) Ran BF3 repair through origin
10) Deleted all DirectX cab files in Origin Games/Battlefield 3/_Installer/directx/redist and ran BF3 repair through Origin to redownload cab files
11) Installed DirectX 9.0c with offline installer package
12) Removed Origin from Windows autostart

None of the above has helped with my issue. This is a fresh install of BF3 from the disc and patched through Origin. Any help would be appreciated.

EDIT:

Ok, so I just did a complete OS reinstall and made sure Origin + Battlefield 3 were the first games I installed. After updates of course. It works now. Now I think I know what's causing all these DirectX Errors when joining a server. BF3 comes packed with it's own DirectX files. I think one of the included files for DirectX is named the same as a file you'd get from installing DirectX alone of through another game, but the file's code is different. Now you might think that simply reinstalling DirectX from the installer included with BF3 would do the trick as it would overwrite the file with the working one. However this isn't how the DirectX installer works. The DirectX installer doesn't overwrite files. It only installs any files that happen to be missing. And since a file with that name happens to be there already it leaves it alone. So other than a complete OS reinstall, the only thing that would logically work is to completely uninstall EVERY DirectX file on your system and ONLY then reinstall from BF3 disk. Or perhaps DICE could look into fixing the wonky file. But let's be honest. The latter is highly unlikely. They have a hard enough time admitting the game's balancing issues. Can't imagine how tough it will be for them to admit they borked the installer.