No text on certain machines

Apr 6, 2011 at 9:00 PM

First of all, thank you for the font wrapper, it is awesome!!!

My issue is that it works great on 2 of our laptops but not on the other two.  With the sample code provided, the font doesn't show up at all on one machine.  On the other machine the graphics card times out and fails.  Here is some output:

D3D11: Removing Device.

D3D11: ERROR: ID3D11Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_DEVICE_HUNG: The Device took an unreasonable amount of time to execute its commands, or the hardware crashed/hung. As a result, the TDR (Timeout Detection and Recovery) mechanism has been triggered. The current Device Context was executing commands when the hang

 

 

Any advice on how to dig into this issue would greatly be appreciated. 

It is interesting that on both machines that it fails on, it is the same Intel 4 Series chipset which has the most recent driver from the laptop manufacturer.

It looks like the graphics card only supports up to D3D 10.  I thought that might be the cause, but another computer we have with DDI 10 displays the fonts correctly.

Also, it looks like everything is created properly, but it fails in the call to Flush().

// Flush new glyphs

pGlyphAtlas->Flush(pImmediateContext);

 

 

------------------
System Information
------------------
Time of this report: 4/6/2011, 14:09:28
       Machine name: BUBLOR-PC
   Operating System: Windows 7 Home Premium 64-bit (6.1, Build 7600) (7600.win7_gdr.101026-1503)
           Language: English (Regional Setting: English)
System Manufacturer: Sony Corporation
       System Model: VGN-CS320J
               BIOS: Default System BIOS
          Processor: Intel(R) Core(TM)2 Duo CPU     T6500  @ 2.10GHz (2 CPUs), ~2.1GHz
             Memory: 4096MB RAM
Available OS Memory: 3962MB RAM
          Page File: 2643MB used, 5281MB available
        Windows Dir: C:\Windows
    DirectX Version: DirectX 11
DX Setup Parameters: Not found
   User DPI Setting: 120 DPI (125 percent)
 System DPI Setting: 96 DPI (100 percent)
    DWM DPI Scaling: Disabled
     DxDiag Version: 6.01.7600.16385 32bit Unicode

 

---------------
Display Devices
---------------
          Card name: Mobile Intel(R) 4 Series Express Chipset Family
       Manufacturer: Intel Corporation
          Chip type: Mobile Intel(R) 4 Series Express Chipset Family
           DAC type: Internal
         Device Key: Enum\PCI\VEN_8086&DEV_2A42&SUBSYS_903F104D&REV_07
     Display Memory: 1759 MB
   Dedicated Memory: 128 MB
      Shared Memory: 1631 MB
       Current Mode: 1680 x 1050 (32 bit) (59Hz)
       Monitor Name: Generic PnP Monitor
      Monitor Model: VX2235wm
         Monitor Id: VSC591E
        Native Mode: 1680 x 1050(p) (59.954Hz)
        Output Type: HD15
        Driver Name: igdumd64.dll,igd10umd64.dll,igdumdx32,igd10umd32
Driver File Version: 8.15.0010.2202 (English)
     Driver Version: 8.15.10.2202
        DDI Version: 10
       Driver Model: WDDM 1.1
  Driver Attributes: Final Retail
   Driver Date/Size: 8/25/2010 20:36:02, 6547968 bytes
        WHQL Logo'd: Yes
    WHQL Date Stamp:
  Device Identifier: {D7B78E66-6902-11CF-677B-35B0A7C2C535}
          Vendor ID: 0x8086
          Device ID: 0x2A42
          SubSys ID: 0x903F104D
        Revision ID: 0x0007
 Driver Strong Name: oem3.inf:Intel.Mfg.NTamd64:iCNT0:8.15.10.2202:pci\ven_8086&dev_2a42
     Rank Of Driver: 00E62001
        Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_B ModeWMV9_C ModeVC1_B ModeVC1_C
   Deinterlace Caps: {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
       D3D9 Overlay: Supported
            DXVA-HD: Supported
       DDraw Status: Enabled
         D3D Status: Enabled
         AGP Status: Enabled

          Card name: Mobile Intel(R) 4 Series Express Chipset Family
       Manufacturer: Intel Corporation
          Chip type: Mobile Intel(R) 4 Series Express Chipset Family
           DAC type: Internal
         Device Key: Enum\PCI\VEN_8086&DEV_2A42&SUBSYS_903F104D&REV_07
     Display Memory: 1759 MB
   Dedicated Memory: 128 MB
      Shared Memory: 1631 MB
       Current Mode: 1280 x 800 (32 bit) (60Hz)
       Monitor Name: Generic PnP Monitor
      Monitor Model: unknown
         Monitor Id: MS_0040
        Native Mode: 1280 x 800(p) (60.005Hz)
        Output Type: Internal
        Driver Name: igdumd64.dll,igd10umd64.dll,igdumdx32,igd10umd32
Driver File Version: 8.15.0010.2202 (English)
     Driver Version: 8.15.10.2202
        DDI Version: 10
       Driver Model: WDDM 1.1
  Driver Attributes: Final Retail
   Driver Date/Size: 8/25/2010 20:36:02, 6547968 bytes
        WHQL Logo'd: Yes
    WHQL Date Stamp:
  Device Identifier: {D7B78E66-6902-11CF-677B-35B0A7C2C535}
          Vendor ID: 0x8086
          Device ID: 0x2A42
          SubSys ID: 0x903F104D
        Revision ID: 0x0007
 Driver Strong Name: oem3.inf:Intel.Mfg.NTamd64:iCNT0:8.15.10.2202:pci\ven_8086&dev_2a42
     Rank Of Driver: 00E62001
        Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_B ModeWMV9_C ModeVC1_B ModeVC1_C
   Deinterlace Caps: {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YUY2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(UYVY,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(YV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(NV12,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC1,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC2,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC3,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
                     {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,1) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_EdgeFiltering
                     {335AA36E-7884-43A4-9C91-7F87FAF3E37E}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend DeinterlaceTech_BOBVerticalStretch
                     {5A54A0C9-C7EC-4BD9-8EDE-F3C75DC4393B}: Format(In/Out)=(IMC4,YUY2) Frames(Prev/Fwd/Back)=(0,0,0) Caps=VideoProcess_YUV2RGB VideoProcess_StretchX VideoProcess_StretchY VideoProcess_AlphaBlend
       D3D9 Overlay: Supported
            DXVA-HD: Supported
       DDraw Status: Enabled
         D3D Status: Enabled
         AGP Status: Enabled

 

 

Coordinator
Oct 20, 2011 at 9:21 PM
Edited Oct 20, 2011 at 9:24 PM

I realize it was 6 months since this post, and I apologize for never seeing it. I didn't have e-mail notifications turned on and unfortunately never checked the discussion page :(

 

I also noticed the same problem, on like 3 or 4 different driver versions for that chipset. I investigated it a bit and it is because of the geometry shader. If the exact same shader is compiled without optimization (D3DCOMPILE_SKIP_OPTIMIZATION), then the problem goes away. Also some modifications to the geometry shader got rid of the problem.. but unfortunately I didn't manage to find a working version with the same functionality..

The only direct difference I saw was that the optimized version used the 'ishl' instruction that the unoptimized version did not use, but I never investigated other shaders to see if that particular instruction was the problem or if it was something completely different..

I haven't tried the new drivers now 6 months later yet, so perhaps they fixed it.

In case anyone still has the same problem, it can be circumvented by using the FW1_NOGEOMETRYSHADER flag when drawing strings, or better in this case when the geometry shader is never to be used, set DisableGeometryShader = TRUE in the FW1_FONTWRAPPERCREATEPARAMS structure that can be used when creating a font-wrapper. There is rarely any significant performance difference in not using the geometry shader.

Still, it's not good to not be able to use the geometry shader.. so hopefully they have fixed it. I will test it when I get the time, and try to submit a bug report to Intel if it doesn't work. Then again I doubt the unoptimized version is much slower.. so another alternative is to disable optimizations.. (49 instructions compared to 36, and two texture fetches in either case).

Coordinator
Nov 19, 2011 at 10:30 PM
Edited Nov 19, 2011 at 10:32 PM

The problem persists in the currently latest driver. I have reported the problem to Intel, who seems to be investigating it: http://software.intel.com/en-us/forums/showthread.php?t=100203

Nov 21, 2011 at 11:48 PM

That sounds like a good work around Erik.  I just wanted to add our workaround was this:

in file CFW1GlyphRenderStates.cpp:  CFW1GlyphRenderStates::createQuadShaders()

 // Shader compile profile
 const char *vs_profile = "vs_4_0_level_9_1";
 if(m_featureLevel >= D3D_FEATURE_LEVEL_11_0)
  vs_profile = "vs_5_0";
 else if(m_featureLevel >= D3D_FEATURE_LEVEL_10_0)
  vs_profile = "vs_4_0_level_9_3";                                             // This line has been changed from "vs_4_0"

...

and also here in CFW1GlyphRenderStates::createGlyphShaders():   

// Shader compile profiles
 const char *vs_profile = "vs_4_0_level_9_3";                        // This line has been changed from "vs_4_0"

 

Dec 4, 2011 at 11:54 AM

I'm getting similar problems on my Nvidia GTX 570 after installing the latest beta Driver 290.36. No text is showing up. Neither in my applications, nor in the Samples.

Just wanted to point that out. Since it's a beta driver things could change in the real release. I'll see when I get to download it and tell you if things changed.

Coordinator
Dec 4, 2011 at 8:56 PM
Edited Dec 4, 2011 at 8:57 PM

I currently have an AMD card as my main graphics card, and only an older Geforce 220 to test with, and I don't get any issues with those drivers. Since I can't test it it's hard to say exactly what breaks. Does it give any debug output or something if you run with a debug device, or does everything seem to run correctly but no text appears?

Did you try it with different feature levels?

Try submitting the issue to NVidia if you have time: http://nvidia-submit.custhelp.com/app/answers/list

Jan 5, 2012 at 3:28 PM

Sorry for taking so long. I waited for the next drivers from Nvidia, but they only released another beta-driver, with the same issues.

But I found out more about the problem: In fact, the text IS drawn, but it is very tiny. I found out about it in your Multithreaded loading sample, where you can fly around with the camera.

I also tried to run my application with featurelevel 11_0, as I am developing under 10_0, but no changes. Disabling the GS didn't help either.

And I submitted the issue to Nvidia, as you suggested.

Coordinator
Jan 5, 2012 at 10:56 PM
Edited Jan 6, 2012 at 12:32 PM

I see... that sounds very strange. Are you using the 1.1 version?

Can't think of any changes that should matter though. If you can, try running PIX on a sample and see what it says about the vertices. It seems like an obvious driver problem though since it works on so many other different drivers.

Did NVidia respond, and if there's a thread can you post a link to it?

I got a message today from another user that had the same problem with the new drivers.

 

One thing I can think of that would cause that behavior both with and without the geometry shader is if the viewports are returned incorrectly, but in that case things should work fine in the Transforms sample that uses a different transform matrix.

Jan 6, 2012 at 7:50 PM

Here's the link: http://nvidia-submit.custhelp.com/app/account/questions/detail/i_id/394321

I don't know if you can view it, though, Nvidia did not respond yet.

I'm using version 1.0, but I tried 1.1 today and the issue was still there.

 

Here is a screenshot of PIX: http://www.abload.de/img/fw1_pix4zams.jpg

 

It also gave me this debug message:

"D3D11: ERROR: ID3D11DeviceContext::OMSetRenderTargets: The RenderTargetView at slot 0 is not compatable with the DepthStencilView. DepthStencilViews may only be used with RenderTargetViews if the effective dimensions of the Views are equal, as well as the Resource types, multisample count, and multisample quality. The RenderTargetView at slot 0 has (w:935,h:401,as:1), while the Resource is a Texture2D with (mc:1,mq:0). The DepthStencilView has (w:1240,h:703,as:1), while the Resource is a Texture2D with (mc:1,mq:0). D3D11_RESOURCE_MISC_TEXTURECUBE factors into the Resource type, unless GetFeatureLevel() returns D3D_FEATURE_LEVEL_10_1 or greater. [ STATE_SETTING ERROR #388: OMSETRENDERTARGETS_INVALIDVIEW ]"   
I don't know why I didn't notice this earlier...

Coordinator
Jan 7, 2012 at 2:52 PM
Edited Jan 7, 2012 at 2:55 PM

Are you sure you tried it without the geometry shader?

I got a GTX 550 Ti today and tested it, and I get the same problem as you, but it works correctly if I disable the geometry shader using the FW1_NOGEOMETRYSHADER flag, or create the font-wrapper with params and DisableGeometryShader = TRUE. Also feature level 9.1 - 9.3 works fine since they don't have a geometry shader.

 

I will do some more tests and see why it doesn't work with the geometry shader.

Coordinator
Jan 7, 2012 at 3:39 PM

Seems the texture-coordinates are output incorrectly from the geometry shader, far outside of the [0, 1] range, causing the color to almost always be (0,0,0,0). Sometimes part of the actual texture is included which explains why you saw some really small text in one of the samples.

 

I ran the same test with one AMD card and one NVidia card with the beta drivers, and analyzed with PIX. All buffers contain exactly the same data, and the shader ASM code as reported by PIX is exactly the same (obviously as it's an intermediate format from D3DCompiler as far as I know..). Also, all vertices and viewports are the same and the final vertices are the same, but only the texture-coordinates are output incorrectly. This is very strange as the texture-coordinates are read from the same buffer as the position-coordinates, and are output without transformation. I have no idea how the position coords can be correct but the texture-coords incorrect, but for some reason they are.

The buffer contains a multiple of 2 float4s where every other float4 is a texture-coord and every other float4 is a position-coord.

And it gets weirder.. if I compile the geometry shader without optimization (D3DCOMPILE_SKIP_OPTIMIZATION), the positions are incorrect instead, so glyphs are drawn as points with ~zero width and height, but the texture-coords are correct.

I assume there must be some problem with reading from the texture-buffer and perhaps the order of the reads is changed from optimization.

I will see if it's reproducible in a smaller app later this weekend hopefully, and submit a report to NVidia.

 

For now it should work if the geometry-shader is disabled. There shouldn't be any performance impact.

Perhaps I should remove the geometry shader entirely.. as it's the same thing that causes a crash on the Intel drivers... it's very rare that there's any real difference in performance.

Jan 7, 2012 at 5:37 PM

I think I messed up the setup with creation params somehow. I tried it with the FW1_NOGEOMETRYSHADER flag when drawing strings and it worked, indeed.

Unfortunately I haven't used the GS very much in the past, so I think I can't help much there. Of course I hope that Nvidia fixes that problem.

Coordinator
Jan 8, 2012 at 6:30 PM

I submitted the issue to NVidia.

I also wrote a small test-app that shows the error: http://www.rufelt.com/stuff/test_err.cpp

Coordinator
Jan 10, 2012 at 5:56 PM

It's quite interesting that the test-app has similar erroneous behavior on the Intel drivers that crash when running the font-wrapper. The same simple shader displaying a very similar bug on two different drivers on different hardware from different vendors seems like an unlikely occurrence... perhaps there's a common optimization technique or something that's easy to get wrong.. :)

Coordinator
Jan 31, 2012 at 11:40 AM

The issue appears to be fixed again in the new 295.51 beta drivers.