Is DirectX 12 development now available to the public? - c++

With Windows Technical Preview build 10074, D3D12.dll, d3d12SDKLayers.dll and d3d12warp.dll are included in %WINDIR%\System32. With Visual Studio 2015 RC with Tools for Windows 10 (aka Windows Kits 10 - 10069), d3d12.lib, d3d12.h etc. are included. Although there seems to be no press release from Microsoft about its availability, the inclusion of these would seem to indicate that is is now available. Is this correct reasoning, or is something else required?

You can begin developing DirectX 12 applications using the resources you described above. The API itself is not yet complete and the GPU drivers available are not yet of a final shipping quality, so do not be surprised if not everything is fully functional or bug free. Try and validate your application against more than one manufacturer's GPU and also against the WARP driver if you encounter problems.
Preliminary documentation is available on MSDN

Related

Programming for Windows Phone 8 (and beyond) on GNU/ Linux

Since the VideoLAN programmers do write Windows 8/RT/Phone apps using Linux based operating systems and GCC I was wondering, whether there is some progress in regard to how to program for Windows in a Linux environment, where Windows is used only for testing. How easy/ hard is it, to program a Windows RT (modern UI whatever)/ Windows Phone 8 application on Linux?
I imagine a situation, where you use tools such as Git, Emacs/ VIM, GCC, Mono etc. to do the job. How about submitting the app without Visual Studio?
I ask, because Microsoft open-sourced so much stuff now, using Linux based OS for development could (should?) become feasible while developing apps for their systems. Does anybody have some behind the scenes information on this? It is very hard to find some relevant info.
Note I edited this question to be more "straight to the point"
Links:
This is the VLC Kickstarter page: https://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro
I'm a software engineer at Microsoft so I think I could give you some insights on this.
From a testing perspective, you should definitely have a Windows machine to test against. You can install Windows 8 as a VM using Virtual Box or something similar. You could also remote into a Windows machine if you have access to one.
Visual Studio can't be installed in Linux, as you know, but there are other C#/ASP.NET/etc. IDE's that you can use natively on Linux. Look into Wine for Linux: http://www.winehq.org/about/. It may help you somewhat.
As an aside, developing applications for Windows will be getting easier in the coming months. As was announce at MS Build, Microsoft is moving towards a universal app store that will make your app run on all Windows devices: PC, tablet, phone, and Xbox. This doesn't help with developing apps on Linux, but if you're a Windows developer, you might want to keep your eyes open about the new universal-style apps.

OpenGL in WIndows7

I want to write code in OpenGL using Visual Studio 2010 . Now on opening opengl.org , I am redirected to http://user.xmission.com/~nate/glut.html ; which presumes I am using WindowsXP and Visual Studio 6 . The instructions in this page http://user.xmission.com/~nate/glut/README-win32.txt dates back to 2001 , and not in current context .
Long story short, is there any tutorial which will help me to program with OpenGL in Windows 7 using Visual Studio 2010 .
Thanks in advance for taking the time to answer my question . I am new to this , so please bear with me.
OpenGL development under Window-7 is the very same as it has been for Windows-NT 4, Windows 2k and Windows XP. All the tutorials remain valid.
You do not require a OpenGL SDK. Everything you need ships with your compiler. OpenGL is not a library, but an API implemented by the drivers. So make sure you download and install the most recent drivers directly from your GPU's vendor's homepage (don't use the drivers shipping with Windows, because those have only very limited support for OpenGL).
Since you surely want to use recent OpenGL functionality you should however get the GLEW library, which eases up the loading process for the so called "extensions" by several orders of magnitude; highly recommended. Then instead of the regular OpenGL header you include GL/glew.h and call glewInit() right after an OpenGL context has been made active.
Instead of the old, outdated, no longer maintained GLUT, you should use FreeGLUT or OpenGLUT; if using GLUT at all, because you'll hit its limitations very soon. I recommend using GLFW instead.
First of all, configure your project to link with opengl32.lib etc.:
OpenGL config in Visual Studio 2010.
Look at some NeHe tutorials http://nehe.gamedev.net/.
What about Visual Studio 2010 and Windows 7 - I don't think there is some significant differences in API with previous versions of Visual Studio and Windows (at least for simple examples).
Also look at: OpenGL API Documentation Overview

Is it possible to program for Windows Phone 7 in standard C++ only?

I know that the recommended language for Windows Phone 7 development is C#.
However, for various reasons, I very much prefer continuing to program in standard C++, if possible.
Is it possible to program for Windows Phone 7 in standard C++ only?
If the answer is yes, what tools and resources do I need to accomplish that?
EDIT, finally: for WP7 it won't ever be, but for Windows Phone 8 - yes you can. Native apps, C/C++, iOS/Android portability and code sharing, DirectX. You'll need Visual Studio 2012 and Windows 8 for WP8 development, though. VS2010 is not getting the requisite SDK. To run the emulator, you'll need a 64-bit physical Windows 8 box with a SLAT-enabled CPU. You can still develop on a virtual machine, but you'd need a device to run apps, the emulator won't start.
The nongame UI, however, will still be XAML-based and managed. The entirety of Win32 API will not be supported. They're pushing a model with managed UI layer and a native middleware beneath it. Purely native development is still not an option; although one might try with WinMD classes as code-behind for XAML. The visual XAML designer will probably choke, and you'll need a dummy managed DLL anyway.
EDIT: even assembly, as long as it's targeting Thumb-2 and the mnemonics are UAL-style. For running on the simulator, you'd have to produce an alternative set of assembly files (or other sources) targeting Intel.
For the sake of posterity, here's the pre-06/20/2012 answer:
If you work for Microsoft or an OEM, then yes. Otherwise, no (for now).
There's hope though. Google did relent and issued their NDK after a while; Microsoft might, too. The native code capability is already there. Once they come up with a sensible sandboxing solution, why not.
Also, there's already some pressure from big-name software vendors to open up native development. Mozilla people stated outright that there will be no Firefox on WP7 unless it's native. Similar rumors about Flash.
EDIT: if you want a native SDK on WP7, like I do, please go sign the petition here and/or the one over there. Thank you!
EDIT2: see this. It's a leak and therefore not official, but still, I say there's some hope.
EDIT3: also this. Still not official, but this rumor moves the timeframe for native app support even closer - to the upcoming Tango release.
EDIT4: Microsoft seems to be pretty keen to promote WinRT, their new tablet-oriented XAML-based app platform, which allows for (among other things) unmanaged C++. Now, on every other major mobile OS the tablet and the phone app stacks are one and the same. Just sayin'.
EDIT5: there's been some proof-of-concept work along the lines of C++ => LLVM => MSIL and C++ => LLVM => C#, but nothing production-quality so far.
Phone manufacturers such as Samsung can deploy applications written in unmanaged code, but all other developers can not.
No that is not possible. Microsoft has made a decision to only allow application developers to use managed code on the Windows Phone 7 devices.
According to Wikipedia Windows Phone 7.0 runs Windows CE 6.0 R3/7.0 hybrid as operating system.
In theory one could use C++ to build standard* C++ programs targeting Windows CE 6.0 R3 and 7.0 (supposed to come out on Q1 2011). I mean all the standard* dlls should be there (gdi32.dll, user32.dll) Internet Explorer and other C++ programs are still running on Windows Phone 7.
The how to get the application on the phone? and how to run the application on the phone? are the next questions which at the moment I don't know how to answer.
This interview tells something about it: Writing the WP7 App Platform in C# and C++ I haven't watched it yet, so you might add respective comments :)
Windows Phone 7 supports Silverlight and XNA.
All programs for Windows Phone 7 are written in .NET managed code. It is also possible to write Windows Phone 7 applications in Visual Basic .NET.
Visual Studio 2010 Express for Windows Phone includes XNA Game Studio 4.0 and an on-screen phone emulator, and also integrates with Visual Studio 2010. You can develop visuals and animations for Silverlight applications using Microsoft Expression Blend.
The Silverlight and XNA platforms for Windows Phone 7 share some libraries, and you can use some XNA libraries in a Silverlight program and vice versa.
But you can’t create a program that mixes visuals from both platforms. Maybe that will be possible in the future, but not now.
EDIT:
to be more clear..there is no native C++ support you'll have to use either Silverlight or XNA,both are based on .net framework.

Windows 7 Development Platform

As some of you may have noticed, a few hours ago Microsoft released Windows 7 RTM to those of us with a Technet or MSDN subscription.
I unfortunately didn't have the opportunity time-wise to test the new OS. I'm asking of anyone who used it with Visual Studio 2008 during RC what was your experience? Did you feel the RC offered a stable environment for it? Did it behave well under Windows 7? In short, can I rely on Windows 7 as my soon-to-be development platform?
On another note, did anyone did any tests the new crt? What were the results?
EDIT: As an afterthought, I'm interested indeed in both 32bit and 64bit experiences, since the OS will go to just one of these machines.
x58 chipset and i7 processing unit, Windows 7 RC x64, I had a lot of issues with programs locking up and crashing (not responding, invoking windows "Ill find out whats wrong! .. not) when you try to close the form. It kills development time.
Especially visual studio 2008, countless crashes and lock ups or delays. It does run good most of the time, but it has its moments.
My experience is that its not 100% solid.
I thought that it was weird, because its built in the Vista SP1 core, and my hardware runs Vista very solid, no hitches -ever-.
And yes, it was a fresh install of Win7, not an upgrade. I'm installing Server R2 though, so I'll see how that works out! :D
edit
I couldn't put my finger on it. Under Vista SP1/SP2 it runs rock solid. The video drivers worked great however for my GTX295, motherboard BIOS is up to date.
I don't think that the problem was driver related per-se, but I can't say. The symptoms purely came across as a software related issue with the OS and how it handles the Windows.
The Event logs are not a help, because a generic form crashing doesn't produce any real detail for me to burn through and say "Ah ha!".
I must say though, it was mostly Visual Studio and forms run under the debugging host process. Anything else was pretty okay, so it could be more or less just a compatibility issue
edit
After a fresh install of Windows Server R2 RC, after the initial installation and a driver install for a wireless adapter, the system fails to boot up properly (or atleast "detects" an problem), so you have to manually tell it to boot Windows up normally, which works.
After doing some Windows updates, same thing, but this time the OS fails even when trying to boot up normally and just does a reboot (probably a blue screen, but surpressed by my BIOS)
My experience with R2 was blazingly fast, both in performance and a drop in satisfaction and warm fuzzies about it working good
It seems that either way you go, on the newest of new hardware, it has its issues. Bummer.
The best way to write Win7 compatible programs is to use Win7 as a development platform. I use Win7 x64 with Visual Studio 2008 almost half a year and it looks pretty stable and has some helpful features (e.g. snap). At this moment all my programs are ready for certification and compliant with all Win7 requirements. I use VirtualBox to test my programs in Windows XP/Vista environment and VirtualBox works without any problems on Win7 too.
My hardware is Intel Q6600 processor on ASUS P5KC motherboard. ATI video card was unstable until some build of drivers, now it works fine. NVidia video card has no problems all the way.
I've been using Visual Studio 2008 under the RC for a while now. No issues at all. For that matter, I don't remember having any under the Beta either.
Windows 7 is good to go for development, as far as I'm concerned.
We've been piloting Windows 7 internally for some time now and have had very few if any troubles with it. I've personally been using it with Visual Studio 2008 (Full and Express) and have been very pleased with the OS overall. I recommend it. (It is fair to note, however, that we use beefy hardware, generally dual or quad core, 4GB RAM and good video cards for our pilot).
I been using windows 7 (x86) for few month now, never had a single problem with that.
Visual Studio 2008, Adobe products, Netbeans and everything else running just fine.
Win7 RC1, VS 2008 SP1 here. The only issue so far is graphical glitches in drawing VisualSVN icons in the Solution Explorer if I scroll the projects tree using mouse wheel.
Also sometimes Tortoise SVN cache crushes. But it might not be related to Windows 7.

What tools do you use to profile (native)C++ on Windows?

How do Window's programmers profile their native C++ code?
On Unix/Linux you have gprof [thanks Evan] & valgrind (I personally used this one, although it's not a real profiler), and recently I'm on Mac and Solaris, which means I moved to dTrace. Now when I've had the need to profile on Windows in the past, like at my previous job, I used Intel's vtune, which is great, however it's commercial, and I don't have a license for private use, so I'm left wondering what's the standard (free is better) tool windows programmers commonly use?
Thanks in advance
You should give Xperf a try - it's a new system wide performance tool that can drill down to a particular application and what exactly it's doing inside itself as well as what's it's asking of the OS.
It's freely available on the Windows SDK for Windows Server 2008 and .NET Framework 3.5 ISO:
Install the SDK by downloading the ISO image, or using the Web based
installer.
Find the xperf MSI in the SDK's "bin" directory. It will be named
xperf_x86.msi, xperf_x64.msi, or
xperf_ia64.msi, depending on the
architecture for which you install the
SDK.
You can then install the xperf tools from the MSI directly, or copy
the xperf MSI file to another location
and install it from there. For
example, you could keep the MSI files
on a USB key.
Source: Pigs Can Fly blog on MSDN.com
Just verified that the xperf msi will not install except on windows Vista or Windows 2007.
-Adam
I got AMD Code Analyst. It's free, and you don't need an AMD CPU ;)
It's a little basic compared to something like Intel's VTune, but the price is right.
This link talks about Linux, but I use the same technique in MSVC and in C#.