DIrectX 12 and D3D12CreateDevice fail - c++

I'm trying to run microsoft DirectX12 code samples but in every case the function D3D12CreateDevice fails. I compiled code with Visual Studio 2015 and the WIndows SDK.
I have a GTX560Ti, my driver is 353.62 for Windows 10. On the NVidia panel it's written current directX version 12 but on the dxdiag panel it's written 11.2 . I think that the problem is here...
How to solve the problem and run directX code ?

The GTX 560 Ti is a "Fermi" based Nvidia GPU. Fermi GPUs are not yet supported by Nvidia's drivers for D3D12; support will be coming later this year.
http://www.anandtech.com/show/9472/windows-10-launch-day-gpu-support-summary

Related

Is Intel OpenCL SDK available for Windows 11?

I want to run some C++ on my Laptop GPU with Windows 11. I saw in the Internet that I need the Intel OpenCL SDK. I tried to download it, but I got a warning that it's only recommended for Windows 10. I still continued with the installation, but i can't find all the C++ header files. Is that because I use Windows 11 or is there another reason for this?
I thought that the Download would contain all the OpenCL header files and so on.
You don't need the Intel OpenCL SDK for OpenCL development. All you need is the graphics driver, which probably is already present, and the OpenCL header files. For how to set it up in a Visual Studio Community project, see here; this works for Intel/AMD GPUs too, and on both Windows 10 and 11.

OpenGL version is few years older than laptop

When I write a java program using LWJGL, and get the OpenGL version using glGetString(GL_VERSION);. Then it displays: 2.1.0 - Build 8.15.10.1892
When I open my windows console (using the famous 'cmd' run), and I use systeminfo, it gives me not just any information about the installation date of windows.
I want to get the installation date of windows because then I know how old my laptop is. After searching the internet, I used WMIC OS GET installdate and I finally got a date: 11 November 2010.
And I assume that's true because I can remember at least the same year. And of course the device may have been some time at the factory or in the store.
When I lookup how old OpenGL 2.1.0 is, I see it's of around 2006 https://www.opengl.org/wiki/History_of_OpenGL#OpenGL_2.1_.282006.29
I'm disappointed of my OpenGL version.
I'm running 64 bit Windows 7. The device is probably at least from the end of 2010, but java displays an OpenGL version of 2006.
There are newer OpenGL versions from widely before November 2010, like version 3.0 (2008), 3.1 (2009) and 3.2 (also 2009)
Could it perhaps be that the JVM only has access to an older version of OpenGL?
Some time ago I played a CD-rom game on this laptop. I think that game would never be playable if it used OpenGL 2.1.0...
Or is this an unfair comparision?
OpenGL by itself is just a specification. The actual thing running on your computer is called an implementation which are usually part of the graphics driver. Also each OpenGL specification has very specific requirements on the implementation. And there are many things in OpenGL-3.x that simply are not supported even by hardware that were "modern" in 2010. For example Intel GPUs from around that time simply don't have everything that's required for OpenGL-3 support. Hence you'll get only OpenGL-2.x support for those and nothing more.
You could look up your laptop specification and see your gfx hardware. This will tell you which version of OpenGL your hardware supports (this information will be available from the gfx chip vendor most likely).
Using an API that supports the version of GL that you hardware does is another issue and may be with the way you have initialized or used the openGL graphics lib.
I would have thought most drivers these days support older versions. They may not support the API natively, but I would have thought provide wrappers for the functionality in the driver. Certainly I can code in OpenGL 1.1 and see the results on the same machine as an OpenGL 4.5 program (On a quadro K2200M).

Where can I find openCL sdk for graphic card HD4400

I looked at intel web site and it sems that they replaced opencl aapplication development SDK with a new software that only support new HD graphic cards (5th generation).
My laptop has HD4400, where can I find Intel SDK for it?
I know that I can use any SDK, but I believe Intel one is pretty good for Opencl, as NVIDA is trying to force everybody to use CUDA which I am not interested to do.
I am developing on windows using visual studio 2013 and I like the Intel integrated tools for VS for opencl development.
You can use Starter Edition of OpenCL Code Builder from Intel, which should include the SDK. To be able to run you programs on the iGPU, you need to install the driver/runtime from https://software.intel.com/en-us/articles/opencl-drivers.

directx 9 with visual studio 2012 express

I decided to learn directx on my old laptop that has an ATI Radeon X1200 card.
Using the program GPU-Z.0.7.2 I found that my card support directx 9 /SM2.0 and has shadrers of 4 Pixel / 2 Vertex.
Using dxdiag on my windows 7 I found that directx version is directx 11. Then I downloaded visual studio 2012 express but I did not install it yet.
Since my card supports only directx 9 im going to read the book Introduction to 3D Game Programming with DirectX 9.
Now what version of the direct SDK do I have to download ? and after downloading the SDK what should I install first the SDK or visual studio 2012 express ? Is the book ok ? I mean there are other editions of the book but they supprt directx 9c , directx 10 and directx 11.
Thank u so much.
Using dxdiag on my windows 7 I found that directx version is directx
11.
This is the DirectX runtime version, not SDK version. so it does not matter which version of SDK you use to develop your program.
As others said, the installation order does not matter.
The book you mentioned is good for new starters. but I recommend you to start from the shader version, since fixed pipeline functionalities such as transforming and lighting was abandoned start from DirectX 10, they all moved to shaders, there is a shader version of that book.
there are lots of materials and resources to learn DirectX, I paste some pages for your reference.
http://www.directxtutorial.com/LessonList.aspx?listid=9
http://www.braynzarsoft.net/index.php?p=DX11Lessons
http://www.rastertek.com/tutindex.html
DirectX SDK examples are also very good choice.
You should be able to use Direct3D 11 whilst still targeting a Direct3D 9 device via the D3D_FEATURE_LEVEL enum, which you can specify in your D3D11CreateDeviceAndSwapChain.
The Microsoft DirectX SDK (June 2010) contains both DirectX 11 and DirectX 9 headers and documentation. The install order doesn't really matter (I've used the SDK in Code::Blocks before installing Visual Studio and it worked fine) since it's really just a collection of header files and debug dlls, plus a bunch of stuff to get you started.
Personally I don't use books when learning a library - I look at the documentation, which is a firsthand explanation of the material, or search up a tutorial (though you should take anything you read in a tutorial with a grain of salt). There are also several websites and videos that explain the graphics pipeline really well. I can't really comment on the book otherwise.
If you not targeting Windows XP or earlier OS, throw DirectX 9 book, forget it (same with DirectX 10 if you not targeting Vista without Service packs), and take DirectX 11 one
Luna's books are great, but, IMO, online tutorials that zdd mentioned are better. And free. But still, to write something cool, you will need to read much more than one book or one series of tutorials. Take the best parts and mix it!
You can develop with DirectX 11 API (for Windows Vista SP2 and later OSes), but still targeting DirectX 9 hardware (feature level 9.3). Shaders is a must. Love them!
When you installing Visual Studio 2012 or higher, you also get a copy of Windows SDK. Do not install standalone DirectX SDK, because it is obsolete. Since Windows 8, DirectX SDK is a part of Windows SDK. Install standalone DirectX SDK only if you really-really need that old stuff, such as D3D11X or effects framework (for Luna books).
Happy coding!

Every DirectX SDK based application runs slow

Out of nowhere, every directx application project I run gives me only 4fps and I am clueless as to why this is happening...? All of the samples, tutorials from websites, basic directx programs (such as just initialising the device in a single project) give me the same result.
I can play retail games still normally, just anything I run from visual studio using the directx sdk runs abnormally.
I am running on W7 64bit, GTX460m (DX11) with latest graphics drivers, DX SDK (June 2010), 8gb of RAM, i7 cpu......
If anyone can help, I would be very grateful.