Ralf's profileFun with GPUsBlogLists Tools Help

Blog


    December 14

    DirectX December SDK

    Two months are over and there is another DirectX SDK.

    The side contains the changes in an overview style but a comparison of the headers tells us more.

    Here we go:

    D3D9:

    The shader compiler gets a bunch of new flags:

    D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY
    D3DXSHADER_IEEE_STRICTNESS
    D3DXSHADER_USE_LEGACY_D3DX9_31_DLL

    D3DXSHADER_OPTIMIZATION_LEVEL0
    D3DXSHADER_OPTIMIZATION_LEVEL1
    D3DXSHADER_OPTIMIZATION_LEVEL2
    D3DXSHADER_OPTIMIZATION_LEVEL3

    The D3DXPARAMETER_TYPE enumeration has the new member D3DXPT_UNSUPPORTED.

    There are a number of new math functions:

    D3DXSHMultiply2
    D3DXSHMultiply3
    D3DXSHMultiply4
    D3DXSHMultiply5
    D3DXSHMultiply6

    The documentation contains the details.

    The sprite object got a new flag. D3DXSPRITE_DO_NOT_ADDREF_TEXTURE could improve the performance.

    D3D10:

    The device interface includes two new members SetTextFilterSize and GetTextFilterSize. The documentation doesn’t tell us what they do.

    There is a new flag for device creation. D3D10_CREATE_DEVICE_PREVENT_INTERNAL_THREADING_OPTIMIZATIONS.

    Three new message ids for the debug feature:

    D3D10_MESSAGE_ID_DEVICE_SETTEXTFILTERSIZE_INVALIDDIMENSIONS
    D3D10_MESSAGE_ID_DEVICE_DRAW_SAMPLER_MISMATCH
    D3D10_MESSAGE_ID_CREATEINPUTLAYOUT_TYPE_MISMATCH

     

    The Shaderdescription got 6 new members:

    GSOutputTopology
    GSMaxOutputVertexCount;
    MovInstructionCount;
    MovcInstructionCount;
    ConversionInstructionCount;
    BitwiseInstructionCount;

    D3D10GetShaderDebugInfo gives you a binary block with the debug info includes in a shader. There are a number of new structures for this. The documentation includes their names but not many details. The header contains some comments that could help.

    D3DX10 got the D3DXSHMultiplyX functions too.

    There are three filter flags remove from D3DX10:

    D3DX10_FILTER_SRGB_IN
    D3DX10_FILTER_SRGB_OUT
    D3DX10_FILTER_SRGB

    Three new functions for texture handling and their helper structure:

    D3DX10LoadTextureFromTexture, D3DX10FilterTexture and D3DX10SHProjectCubeMap.

     

    DXGI:

    We got a new flag for MakeWindowsAssocation. DXGI_MWA_NO_PRINT_SCREEN disable the print screen key.

    As we have three instead of two flags know the DXGI_MWA_VALID value is changed to 0x7

     

    In the case you are using XACT there are many changes too.

    December 10

    I am not dead

    It is nearly two months since my last post here. Shame over me but living between two jobs makes that thing called life not easier at all. Next month I will start working for a German game studio and as tomorrow is my last day in my old company I should have a little more time again.

    But there are still many things to do. First I have to finish my part of Wolfgang Engels new Direct3D 10 book. Second I will try to finish some of my various other Direct3D 10 projects. Hopefully the new DirectX SDK will show up in the next few days. I don’t expect any API changes but the old SDK doesn’t work with the RTM build of Vista. Hopefully we will see a D3D10 driver for nvidias first Direct3D 10 GPU at the same timeframe.

    Currently there is only a Windows XP driver. It already supports new OpenGL extensions for the new features and many of them are EXT. But there are still some new vendor specific extensions. Anyway it seems like the OpenGL guys have gotten a little head start when it comes to using real next generation hardware. Well there are rumors that some people outside nvidia already have drivers because they are working on the first wave on Direct3D 10 games or patches for already released games. I don’t now but I wouldn’t surprised that much.

    Enough for now and back to work.