Archived

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

bcome

DirectX 9 ? My own software device ?

Recommended Posts

bcome    122
Ok. I was trying to create a software device, but DirectX 9 said that I needed to register a software device first. I''m not interested in writing my own software device. So how can I get software without registering one of my own?

Share this post


Link to post
Share on other sites
bcome    122
When I was executing the App in the debugger, I got this little message (minus the red):

Direct3D9: (ERROR) :App specified D3DDEVTYPE_SW without first registering a software device. ValidateCreateDevice failed.

Share this post


Link to post
Share on other sites
JohnBSmall    881
There are three types of device in DirectX. You can create a hardware device (which is an interface to a graphics card), you can create a reference device (which is an interface to the reference software renderer which supports all features of DX, but is extremely slow), or you can create a software device, which is an interface to a sofware renderer.
However, DirectX does not come with a built in software renderer (other than the reference device) so if you wish to create a sofware device, you must tell DirectX where to find it. You are trying to create a software device without telling DX where to find the relevant drivers, and so the create call fails.

John B

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
quote:
Original post by JohnBSmall
However, DirectX does not come with a built in software renderer (other than the reference device) so if you wish to create a sofware device, you must tell DirectX where to find it. You are trying to create a software device without telling DX where to find the relevant drivers, and so the create call fails.


Arrggghhh...

Does anybody know where I can get a software device for DirectX 9?

Share this post


Link to post
Share on other sites
bcome    122
Because, when I try to create a HAL device I get a D3DERR_NOTAVAILABLE thrown in my face. Even though Direct3D says that it is available.

Share this post


Link to post
Share on other sites
Dark    122
Eh...

I can''t imaging that you can''t instantiate a HAL... do the examples included in the SDK run... if so... it might be a nice idea to use parts of that code to get your own stuff to run.

Creating a ''software device'' as you call it... is probably called ''reference device''. But it REALLY ISN''T of any use to use that one instead of the HAL... since it is SSLLOOWW! I mean it... Just run one of the included examples and force it to use the reference drive... you will see what I mean.

I probably is also a good idea to download the latest drivers for your video card (if it is an exotic type anyway).

And if that all fails... Just use the tutorial in the SDK... I did it once to get started VERY QUICKLY... it is just copy/paste... voila.. Direct3D

Hope this helps... but probably doesn''t

Dark


PS: Are you a rookie programmer?

ICQ: 130925152
Email: e.j.folkertsma@student.utwente.nl

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
quote:
Original post by Dark
Eh...

PS: Are you a rookie programmer?




Just cause some one doesnt know how to use dx (and you dont know what hes trying to do), doesnt mean hes a rookie programmer, just that hes never used it.
Stop being so anal

Share this post


Link to post
Share on other sites
bcome    122
YES, I am a rookie!
To DirectX 9 Programming

Started learning DX7 several years ago, skipped DX8, started using DX9, ohhh about 6 months ago. Never used it 'till recently.

[edited by - bcome on September 3, 2003 7:36:46 PM]

Share this post


Link to post
Share on other sites
Endurion    5412
Almost off topic, but:
By any means, use some 20$ and by a graphic card out there, just any will be better than SiS. That''s the worst crap you can get.

If you can''t, try to get the newest driver. And try to start the simplest SDK sample. If even those fail (with not enough memory), i think there''s a setting somewhere which can force to keep more memory for the gfx card (if it''s AGP).

Share this post


Link to post
Share on other sites
Muhammad Haggag    1358
- To clarify: Just as JohnBSmall said, plus:
To create a software device, you need the windows DDK. If you get the DDK, you''ll know how to write and register one.

So, the REFerence device is NOT the software device (D3DDEVTYPE_SW).

- DX9 needs DX7+ drivers. So chances are that your SiS doesn''t have any. Use DX8 if you can''t buy a new card.

Share this post


Link to post
Share on other sites
herbm    122
Couple of quick things ...

* Software device creation is not documented anywhere; not even in the DDK. None exist.

* Your SiS card only has a Direct3D 5 DDI driver. Direct3D 9 requires a Direct3D 6 DDI or later DDI Driver.

thanks

Development Lead, DirectX
Windows Graphics & Gaming Technology

Share this post


Link to post
Share on other sites
bcome    122
quote:
Original post by herbm
* Your SiS card only has a Direct3D 5 DDI driver. Direct3D 9 requires a Direct3D 6 DDI or later DDI Driver.



Actually the driver that came with XP does have some (some) support for DirectX 9

And I don't exactly have the GREEN BACKS to get a video card. Another thing, I don't have an AGP slot... I have the feeling that this computer hates me...

quote:
Original post by Endurion
i think there's a setting somewhere which can force to keep more memory for the gfx card (if it's AGP).


There is, in the BIOS options, however, 8MB is the MAX amount of memory I can give that device...

==============

My Web Page!!!


[edited by - bcome on September 4, 2003 7:31:44 PM]

Share this post


Link to post
Share on other sites
dagamer34    122
Ever heard of eBay for a video card?

Another thing, what do you really expect to program on such an (ancient) card? Sometimes it is better to get a new card (or maybe a new computer).

If you are low on the cash, there is always DX7

Share this post


Link to post
Share on other sites
bcome    122
quote:
Original post by dagamer34
If you are low on the cash, there is always DX7


DX7, I've seen DX7, it scares me, it haunts me in my sleep, it's trying to... *ahhhhh*

EDIT: The original reason I was going to post. The create device tutorial (the first) seems to have worked. Testing to see if it did...
EDIT: EDIT: I did work. Now I wonder why...

==============

My Web Page!!!


[edited by - bcome on September 4, 2003 7:43:49 PM]

[edited by - bcome on September 4, 2003 7:46:25 PM]

Share this post


Link to post
Share on other sites
bcome    122
quote:
Original post by noVum
I think he talked about a DX7 class accelerator which will work with DX9 (GeForce 4 MX)


Can you please be a little more specific, I can''t think straight right now.

I figured out my limitations:

  • It has to be in windowed mode.

  • No ZBUFFER or STENCIL

  • The format specified, has to be: D3DFMT_UNKNOWN



==============

My Web Page!!!

Share this post


Link to post
Share on other sites
Metus    168
are you creating the device using hardware vertexprocessing (D3DCREATE_HARDWARE_VERTEXPROCESSING) or software vertexprocessing (D3DCREATE_SOFTWARE_VERTEXPROCESSING)?
as far as I know, only ATI 9x00 and nVidia 5x00 has support for hardware vertexprocessing under DX9

Share this post


Link to post
Share on other sites