DirectX Shader Compiler in the Windows SDK

The Windows SDK includes a number of files that can be used for development. There are three files included: dxc.exe. This is the command-line to run, which is the main scenario the Windows SDK addresses. dxcompiler.dll. This is the same dxcompiler.dll you know and love from the GitHub project. dxil.dll. This library only provides the…


GPUs in my task manager

Bryan Langley has posted about GPUs in the task manager. Definitely worth reading, as there are a number of reasonable but non-obvious decisions on how to best display aggregate data, and when shared resources are counted multiple times or not. Also having the driver version and DirectX version handily under the charts is very convenient,…


Fresh Bits – Windows 10 Creators Update and Creators Update SDK

Head over to the Building Apps blog and check out today’s updates: Windows 10 Creators Update is now available. You can wait for it to be offered as an update, or you can update now. Creators Update SDK is also available. In addition to all the highlights you’ll be reading about, the SDK will also…


Graphics Education

So, learning about graphics is a journey (a life journey, for some!). Books, papers, samples, games, demos, friends… Here’s a new resource you should probably subscribe to if you’re into that: the Microsoft DirectX12 Graphics Education channel in YouTube. Yes, it has stuff on DirectX12 specifically, but you’ll also find videos on porting from DirectX11…


Channel 9 – OpenGLES on Windows with ANGLE

Going Native has a new video about OpenGLES on Windows with ANGLE, specifically how to get going with OpenGLES for Windows Store apps. Get a bit of history as well as a walkthrough of what you get from NuGet packages and how to glue things together, all courtesy of Cooper. Enjoy!


Interrupting shader compilation

Unfortunately, there really isn’t a way to interrupt compilation once it has started. Why would you ever want to do that? Well, if you’re doing compilation (and you really should try to compile offline, although it’s impossible in some cases), the user may decide to switch to a different application while you’re busy. At that…


How to find your XAML Page object in the debugger

Taking a quick break from compiler performance to give a short debugging tip. If you’re debugging a managed application that is based on the typical frame navigation that the built-in templates and samples use and would like to find your the page that is currently being displayed, you can simply paste this into your Watch…


Performance for building OpenGL ES and ANGLE shaders

Today’s note is a simple reminder that if you’re using OpenGL ES and/or ANGLE, you’re not exempt from the performance concerns I’ve discussed before. Launching quickly is still important for user experience, and developers want to provide a good first impression! The classic OpenGL ES model is to compile the shaders from text. There is…


Compiling shaders vs creating shaders

Last time I talked about shader compilation at launch time, but I wasn’t being precise about shader compilation and shader creation. Shader compilation is the act of taking HLSL source code (i.e. text) and producing a bytecode representation. The main API to do this is D3DCompile. This bytecode can be used immediately or persisted to…


Performance of shader compilation at launch time

For the last few years, I’ve been working on the HLSL compiler. Now that Windows 10 is out the door, I finally have the opportunity to come back to blogging for a while, and hopefully help other developers build successful apps and games. My first topic is a simple reminder that when your app is…