Archived

This topic is now archived and is closed to further replies.

CreateDevice and the difference btw. R9600 & R9800 ?

This topic is 5146 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey, I have one more question : A friend of mine is not able to start my application, it the DirectGraphics Init simply fails. So the problem is that his computer (or his Radeon 9600) doesnt want one of my CreateDevice-methods :

		bool success = false;
		
		if (SUCCEEDED(lpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hwnd, 
											D3DCREATE_SOFTWARE_VERTEXPROCESSING,
											¶ms,
											&lpDevice))) 
		{
			MessageBox(NULL, "1", "1", MB_OK);
			success = true;
		}
		else if (SUCCEEDED(lpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_REF, hwnd, 
											D3DCREATE_SOFTWARE_VERTEXPROCESSING,
											¶ms,
											&lpDevice))) 
		{
			MessageBox(NULL, "2", "2", MB_OK);
			success = true;
		}
 
What exactly is my problem ? Or what am i missing ? THX for your help, again...

Share this post


Link to post
Share on other sites
I nearly forgot my params struct :


if (FAILED(lpD3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &d3ddm))) return false;

params.BackBufferHeight = screen_height;
params.BackBufferWidth = screen_width;
params.BackBufferFormat = d3ddm.Format;
params.BackBufferCount = 1;
params.Windowed = this->windowed;
params.hDeviceWindow = hwnd;
params.SwapEffect = D3DSWAPEFFECT_COPY;

Share this post


Link to post
Share on other sites
If you examine the return value from the CreateDevice call, it will tell you exactly what the problem is.

Have your app display the return value as hex, and then enter that hex number into the DX Error Lookup tool provided with the SDK.

Share this post


Link to post
Share on other sites
Also, make sure that your friend has DX9 installed. He doesn''t need the DX9 SDK but he does need to install the end user runtime. You can do that off of the Windows Update web site.

The Radeon 9600 and the 9800 have exactly the same capabilities. The difference is that the 9600 has half of the geometry pipelines (4 instead of the 9800''s 8) and half of the pixel pipelines (2 instead of the 9800''s 4). Other than that, they''re exactly the same, so you shouldn''t have any problems running an app developed using one card and run on a computer using the other.

neneboricua

Share this post


Link to post
Share on other sites
In that case, you may just be lucky. Did you completely zero out your params structure before filling in the fields you were interested in? If not, then you may have garbage in one or more of the unspecified fields. I'm forever forgetting to ZeroMemory my structures and then trying to track down these wiered bugs.


[edited by - Dave Hunt on November 11, 2003 3:36:00 PM]

Share this post


Link to post
Share on other sites
What version of the ATI Drivers are you’re using? I started having some problems the other with the latest ATI drivers (I believe that they are version 3.9).

PS: Your source code will look better if you use source tags. Source tags are explained in the FAQ (upper right corner of the screen).


_______________________________________
Understanding is a three edged sword...

Share this post


Link to post
Share on other sites