Direct3D Overrider: A Simple Tool to Enhance Your Gaming Experience
second, direct3d 11 exposes some new features. the primary feature is the ability to pass on the memory allocator for the device context to a new application. instead of the regular memory allocator, direct3d 11 allows the use of any compatible memory allocator. the new allocator is a plug-in to the direct3d 11 api. as an example, if you have a memory allocator that has support for direct3d heap memory, you can create a device with that memory allocator and use the memory allocator to allocate memory for your application.
Download Direct3D Overrider
an additional change in the direct3d 11 api is the ability to create a shader from a binary resource. in direct3d 10, the d3d10createdevice function could only create a device with a shader on it. you needed to create a device and a shader at the same time. in direct3d 11, the shader is created by passing a binary resource to the d3d11createdevice function.
the direct3d 11 api also has a few other changes. first, the shader language d3d11_shader_language_hlsl has been dropped in favor of d3d11_shader_language_hlsl_double. shaders created with the new language will work in direct3d 10 and direct3d 11. the new language is backwards compatible with the previous hlsl language (d3d11_shader_language_hlsl). the new language has some benefits such as support for double precision floating point values, texture matrices, and texture image formats. the compiler can also optimize floating point values for your specific gpu. this new language is in alpha and not recommended for production.
direct3d 11 also adds directx shader compiler (dxsc) support. dxsc will be available in a future release of the direct3d 11 api. dxsc will provide a shader compiler that is optimized for the shader language and gpu. users will be able to use dxsc to write shaders and code in the new language. dxsc will provide a good balance between performance and the ability to write easily readable code.