ChristianLa91 / slimdx

Automatically exported from code.google.com/p/slimdx
MIT License
0 stars 0 forks source link

SlimDX error "slimdx.direct3d9.direct3d9" on WinXP x86 machine #861

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I have a program which make DX screen capture. I compile code on Win7 x64 
machine but when I run it on my WinXP x86 laptop - I get a following error: 
http://i.stack.imgur.com/IrAUc.png
I can run this program on another stationary X86 WinXP machine, but can't on my 
notebook.
Notebook model BENQ Joybook P52: with ATI graphics and WinXP x86.

How I tried to fix it?
* installed latest DX on WinXP
* installed latest SlimDX on WinXP (btw this step solved my previous problem)
* installed latest .Net Framework v.4 on WinXP
* compiled this app as x86 and used SlimDX.dll x86 for the same reason
* I also put slimdx.dll into the same folder where dxcapture.exe (app name) is 
located.

My guess is that it has something to do with how I create device:

 d = new Device(new Direct3D(), 0, DeviceType.Hardware, IntPtr.Zero, CreateFlags.SoftwareVertexProcessing, present_params);

On !stationary! WinXP machine I can at least launch the app without errors, but 
on laptop I can't even launch it. For Anyone interested in code, follow the 
link.
http://stackoverflow.com/questions/9786003/troubles-with-running-slimdx-c-sharp-
application-on-windows-xp-machine

what's causing this problem?

Original issue reported on code.google.com by threedm...@gmail.com on 25 Mar 2012 at 4:11

Attachments:

GoogleCodeExporter commented 9 years ago
Your hardware probably doesn't support the particular combination of create 
flags and present parameters you are passing.

Original comment by Mike.Popoloski on 25 Mar 2012 at 8:36

GoogleCodeExporter commented 9 years ago
For testing purposes I did lots of fixes/modifications, i.e. removed all 
"present parameters", changed DeviceType. between "software, hardware and 
reference", changed CreateFlags.SoftwareVertexProcessing to 
HardwareVertexProcessing and MixedVertexProcessing... NOTHING helped.

Most likely --->>> "new Direct3D()" <<<--- this part fails, but as far as I 
understand that's the only thing that I can't change in my code.. So now I have 
an another question - is it possible to use any different approach to make 
screenshots using DX?

You see, I loved SlimDX, because it captured all layered and transparent 
windows in Windows 7 (unlike bitBlt, copy from screen, gdi, etc. methods). I'd 
like to see the same functionality on Windows XP, but since SlimDX doesn't do 
what I want it to do - I have to find an another alternative. "Managed DirectX" 
isn't supported in VS2010 and .net4. "Microsoft's XNA" is for game developers. 
"Windows API Code Pack" also is a wrong tool.. so what's left?

Original comment by threedm...@gmail.com on 25 Mar 2012 at 9:27

GoogleCodeExporter commented 9 years ago
If you can't initialize Direct3D, you can't initialize Direct3D. It doesn't 
matter what wrapper you try to switch to as a quick fix; they're all going to 
fail the same way.

Original comment by Mike.Popoloski on 25 Mar 2012 at 9:59

GoogleCodeExporter commented 9 years ago
thank you sir.. now I can move forward and forget about DX

Original comment by threedm...@gmail.com on 26 Mar 2012 at 2:19

GoogleCodeExporter commented 9 years ago
Well, giving up is always one method of problem solving. It's not one I'd 
personally recommend though; it sets a bad precedent.

Original comment by Mike.Popoloski on 26 Mar 2012 at 3:40

GoogleCodeExporter commented 9 years ago
what would you recommend?

Original comment by threedm...@gmail.com on 26 Mar 2012 at 3:43

GoogleCodeExporter commented 9 years ago
Figuring out *why* it's failing. Does your card support Direct3D 9? Are the 
drivers up to date? Are there known issues for your card? For all you know, 
your graphics card is bad and switching to OpenGL won't work either.

Original comment by Mike.Popoloski on 26 Mar 2012 at 3:45

GoogleCodeExporter commented 9 years ago
I have an integrated "Mobile ATI X1600" graphics card. I've spent nearly two 
hours yesterday, trying to reinstall video car driver. Unfortunately, I have 
the latest version of it, so there is nothing newer on the market! I've also 
installed "driver finder" software - all drivers are up to date. I've 
reinstalled DirectX several times, as well as SlimDX.

I wouldn't have asked a question here, it it wasn't a hardcore problem..

Please note, that the program is failing at start! On another WinXP PC (even 
older than notebook) I can launch this application just fine, but when I click 
on a button - I'm getting "Directx_invalid_call" error. On notebook I can't 
even START the program. I'm guessing that the problem has something to do with 
Slimdx.dll, which doesn't support my system's ATI graphics card.

Original comment by threedm...@gmail.com on 26 Mar 2012 at 3:58