13 Replies Latest reply on May 9, 2017 5:11 PM by Intel Corporation

    Poor sincos precision on Intel HD 5000

    hgm4

      Hello. We've bumped into an issue with sincos on the Intel HD 5000/5600 platforms (using DX11). There are certain values that cause sincos to return completely bogus values which manifest as screwed up geometry. Given that these functions are periodic, the displayed artifacts are quite visible to the user. The same shader code running on an nVidia or AMD card (including older cards) works as expected.

       

      At the moment, we've resorted to using a hand-rolled implementation of sincos using a taylor series expansion. This is less than ideal for obvious reasons. Is this a known issue? Are there any workarounds?

       

      Thanks much.

        • 1. Re: Poor sincos precision on Intel HD 5000
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello hgm4,
           
          I understand you are trying to use Sincos application, but you are getting artifacts and screwed up geometry.
           
          Let me apologize for any inconvenience this issue may be causing to you.
           
          In order to help you better I would like to gather more information about the configuration you have in the computer.  Please reply to this email attaching the .xml file the Intel® System Support Utility will generate https://downloadcenter.intel.com/download/25293/Intel-System-Support-Utility
           
          If possible please attach a screenshot showing the issue you are having.
           
          Let me also know the version of the software you are currently using.
           
          Regards,
          Fred

          • 2. Re: Poor sincos precision on Intel HD 5000
            Intel Corporation
            This message was posted on behalf of Intel Corporation

            Hello hgm4,
             
            I was wondering if you still need assistance with the artifacts you are getting on the screen.  In case you still need assistance just let me know.
             
            Regards,
            Fred

            • 3. Re: Poor sincos precision on Intel HD 5000
              hgm4

              Yes sir, I do. We've duplicated the problem on the following chipsets: HD 530, HD 5000, as well as the HD 5600. We are compiler our vertex shader using HLSL shader 5.0 with and without IEEE strictness flag (/Gis). Following is more detailed information from the machine with the HD 5600:

               

                              Processor: Intel(R) Core(TM) i7-5700HQ CPU @ 2.70GHz (8 CPUs), ~2.7GHz

                        Card name: Intel(R) HD Graphics 5600

                     Manufacturer: Intel Corporation

                        Chip type: Intel(R) HD Graphics Family

                         DAC type: Internal

                      Device Type: Full Device

                       Device Key: Enum\PCI\VEN_8086&DEV_1612&SUBSYS_B5561458&REV_0A

                   Display Memory: 8275 MB

                 Dedicated Memory: 128 MB

                    Shared Memory: 8147 MB

                     Current Mode: 3840 x 2160 (32 bit) (59Hz)

                     Monitor Name: BenQ BL2700

                    Monitor Model: BenQ LCD

                       Monitor Id: BNQ8018

                      Native Mode: 3840 x 2160(p) (59.997Hz)

                      Output Type: Displayport External

                      Driver Name: igdumdim64.dll,igd10iumd64.dll,igd10iumd64.dll,igd12umd64.dll,igdumdim32,igd10iumd32,igd10iumd32,igd12umd32

              Driver File Version: 20.19.0015.4501 (English)

                   Driver Version: 20.19.15.4501

                      DDI Version: 12

                   Feature Levels: 11.1,11.0,10.1,10.0,9.3,9.2,9.1

                     Driver Model: WDDM 2.0

              Graphics Preemption: Triangle

              Compute Preemption: Thread group

                         Miracast: Supported

              Hybrid Graphics GPU: Integrated

                   Power P-states: Not Supported

                Driver Attributes: Final Retail

                 Driver Date/Size: 9/1/2016 17:00:26, 39863880 bytes

                      WHQL Logo'd: n/a

                  WHQL Date Stamp: n/a

                Device Identifier: {D7B78E66-5552-11CF-7D66-5995B6C2D935}

                        Vendor ID: 0x8086

                        Device ID: 0x1612

                        SubSys ID: 0xB5561458

                      Revision ID: 0x000A

              Driver Strong Name: oem0.inf:5f63e53472aaf42d:iBDWM_w10:20.19.15.4501:pci\ven_8086&dev_1612

                   Rank Of Driver: 00D12001

                      Video Accel: ModeMPEG2_A ModeMPEG2_C ModeWMV9_C ModeVC1_C

                      DXVA2 Modes: DXVA2_ModeMPEG2_VLD  DXVA2_ModeMPEG2_IDCT  DXVA2_ModeVC1_D2010  DXVA2_ModeWMV9_IDCT  DXVA2_ModeVC1_IDCT  DXVA2_ModeH264_VLD_NoFGT  DXVA2_ModeH264_VLD_Stereo_Progressive_NoFGT  DXVA2_ModeH264_VLD_Stereo_NoFGT  DXVA2_ModeH264_VLD_Multiview_NoFGT  DXVA2_ModeHEVC_VLD_Main  DXVA2_ModeHEVC_VLD_Main10 

                 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

               

              Attached is an image showing the results of using sincos intrinsic on the Intel 5600 vs. using our hand-rolled taylor series expansion. The code snippets in the screenshot are the only lines that changed between the two runs. You will notice a visible artifact in the terrain in the left image.

               

              Thanks.

               

              fail_sin_cos.jpg

              • 4. Re: Poor sincos precision on Intel HD 5000
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Hello hgm4,
                 
                Thanks for the information you sent to me.
                 
                I would like you to try installing latest graphics driver we have available on our website.  please download it from this link https://downloadmirror.intel.com/26682/eng/win64_154034.4624.zip
                 
                Please install the driver with the steps that are on this YouTube video https://www.youtube.com/watch?v=S1KzoQDjMMY
                 
                The content on the above site is not controlled by Intel. This information is offered for your convenience and should not be viewed as an endorsement by Intel for the merchants or services offered there.
                 
                Let me know if issue persists or not with the graphics driver I provided.
                 
                Regards,
                Fred

                • 5. Re: Poor sincos precision on Intel HD 5000
                  hgm4

                  Fred,

                   

                  We installed the latest drivers you provided to us. We re-ran the application and still see the issue with sincos in the vertex shader. Any other ideas?

                   

                  Thanks.

                  • 6. Re: Poor sincos precision on Intel HD 5000
                    Intel Corporation
                    This message was posted on behalf of Intel Corporation

                    Hello hgm4,
                     
                    I am sorry to hear issue persists even with latest graphics driver.
                     
                    I would like you to try older version of the graphics driver.  Please download this other driver version https://downloadmirror.intel.com/25948/eng/win64_154022.4424.zip
                     
                    As soon as the driver has been downloaded on the keyboard press WinLogo key + r, then type in devmgmt.msc, double click on Display Adapters>>Intel HD Graphics 5500>>Driver tab>>Uninstall>>Select the check box Delete the driver software for this device>>OK, restart the computer, and then reinstall the graphics driver with the steps that are on this YouTube video https://www.youtube.com/watch?v=S1KzoQDjMMY
                     
                    The content on the above site is not controlled by Intel. This information is offered for your convenience and should not be viewed as an endorsement by Intel for the merchants or services offered there.
                     
                    Let me know if issue persists or not.
                     
                    Regards,
                    Fred

                    • 7. Re: Poor sincos precision on Intel HD 5000
                      Intel Corporation
                      This message was posted on behalf of Intel Corporation

                      Hello hgm4,
                       
                      I was wondering if you were able to try the other driver version I provided.  In case you need further assistance just let me know.
                       
                      Regards,
                      Fred

                      • 8. Re: Poor sincos precision on Intel HD 5000
                        hgm4

                        Fred,

                         

                        We have not yet had a chance to try the older driver. We'll have some additional for you early next week. Thanks for all your help.

                        • 9. Re: Poor sincos precision on Intel HD 5000
                          Intel Corporation
                          This message was posted on behalf of Intel Corporation

                          Hello hgm4,
                           
                          Test the driver at your convenience, and let me know the outcome.
                           
                          Regards,
                          Fred

                          • 10. Re: Poor sincos precision on Intel HD 5000
                            Intel Corporation
                            This message was posted on behalf of Intel Corporation

                            Hello hgm4,
                             
                            Were you able to test the driver I provided?  In case you need further assistance just let me know.
                             
                            Regards,
                            Fred

                            • 11. Re: Poor sincos precision on Intel HD 5000
                              hgm4

                              Fred,

                               

                              Sorry for the delay. Just tested the older driver you provided. We are still seeing issues with sin/cos in the vertex shader (no change).

                              • 12. Re: Poor sincos precision on Intel HD 5000
                                Intel Corporation
                                This message was posted on behalf of Intel Corporation

                                Hello hgm4,
                                 
                                I would like to gather more information about the issue you are experiencing.  Please fill out the form that in the following link and post it on this thread https://communities.intel.com/thread/77761
                                 
                                Please provide detailed steps to reproduce the issue.
                                 
                                Let me also know if there is any trial/free version of the software we can use to reproduce the issue.
                                 
                                Regards,
                                Fred

                                • 13. Re: Poor sincos precision on Intel HD 5000
                                  Intel Corporation
                                  This message was posted on behalf of Intel Corporation

                                  Hello hgm4,
                                   
                                  I was wondering if you still need assistance with the artifacts you are getting on the screen.  In case you still need assistance just let me know.
                                   
                                  Regards,
                                  Fred