Newbe question

71 views
Skip to first unread message

Boxer_boy

unread,
Jan 23, 2013, 12:01:26 PM1/23/13
to slimdx...@googlegroups.com
Hi

I am hoping that this is a simple problem and I am hoping that this is the right place to post it.

I want to learn about 3D programming and I would like to do this in a c# environment so SlimDX would seem like a great place to start.

So I am trying to run the basic tutorials and I hit a problem with the DeviceCreation example. I have the error DXGI_ERROR_UNSUPPORTED, I have a feeling that my environment isn't going to let me progress any further which would be a shame.

I have downloaded the Developer SDK, running VS2010 on XP, the graphics card is ATI Radeon HD 3450 Dell Optiplex, dxdiag tells me that I am running DirectX 9.0c.
On the same PC I have tried a VM environment running win7 (so it has an XP host) and dxdiag then says that its running DirectX 11, but I get the same error.

I have read that XP will not support DirectX 10 and I guess that this is also true for a VM environment where the host is XP regardless of what dxdiag says.

Is there a setup or work-around that will let me play with SlimDX in either of the environments described.

Any help would be appreciated.

Regards
David

Fraser Waters

unread,
Jan 24, 2013, 8:48:09 AM1/24/13
to slimdx...@googlegroups.com
You VM environment might support a software based DirectX 11 device (either WARP or the reference rasterizer). 

Try doing:
var device = new SlimDX.DirectX11.Device(SlimDX.DirectX11.DeviceType.Warp); // or DeviceType.Reference

Boxer_boy

unread,
Jan 25, 2013, 4:34:14 AM1/25/13
to slimdx...@googlegroups.com
for device I can use:

var device = new SlimDX.Direct3D11.Device(SlimDX.Direct3D11.DriverType.Warp);

So that's great, thank you, however I then slip up on the swapChain part; the line that caused the DXGI error was:

 Device.CreateWithSwapChain(DriverType.Hardware, DeviceCreationFlags.None, description, out device, out swapChain);

So I am stuck again. Is there a way to create the swapchain in the environment that I have? to construct a new swapchain it wants and object of type Factory and it complains with a DXGI error if I just give it a basic Factory ( Factory fac = new Factory();). Any help appreciated.

Lars Viklund

unread,
Jan 25, 2013, 8:40:00 AM1/25/13
to slimdx...@googlegroups.com
That function is a static method that creates a new device and as a side effect also makes a swapchain.

If you want to make just a swapchain, there's natively functionality in IDXGIFactory, which I assume is mirrored in SlimDX's DXGI in a similiar manner.

--
You received this message because you are subscribed to the Google Groups "slimdx-devel" group.
To post to this group, send email to slimdx...@googlegroups.com.
To unsubscribe from this group, send email to slimdx-devel...@googlegroups.com.
Visit this group at http://groups.google.com/group/slimdx-devel?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Fraser Waters

unread,
Jan 26, 2013, 9:36:20 AM1/26/13
to slimdx...@googlegroups.com
Can you not just use Device.CreateWithSwapChain(DriverType.Warp, DeviceCreationFlags.None, description, out device, out swapChain);
?

Boxer_boy

unread,
Jan 28, 2013, 4:32:20 AM1/28/13
to slimdx...@googlegroups.com
I have been told that I can't use anything past Direct3D 9 without upgrading the operating system.

So I am trying to run the example from the slimDX site called DeviceCreatino.

My initial problem is an error with CreateWithSwapChain (DXGI_ERROR_UNSUPPORTED). It uses out modifiers for the device and the swapchain that are later used in the example. As this (CreateWithSwapChain) is where I get the error I was hoping that there would be a workaround for it. I got 50% of the way there. But fear that the original advice was correct and the only way to fix this is to upgrade the operating system. This would be easy to do but I want to use my work PC so that I can play with it at lunchtime etc and this is XP so I was using the virtual Win 7 to get me past Direct3D 9. However as the underlying system doing the display is XP then I guess that I do indeed have no support for anything past Direct3D 9 and therefore slimDX needs Win7 or later in order to run.

Anyhow thank you for your help.

Mike Popoloski

unread,
Jan 28, 2013, 11:37:06 AM1/28/13
to slimdx...@googlegroups.com
You can use the Direct3D 9 portions of SlimDX. The tutorial on the site only explains how to use Direct3D 11. D3D9 is completely different and you'll need to find examples elsewhere on how to go about using it.


--
Reply all
Reply to author
Forward
0 new messages