none
Is SSE4 required for face tracking RRS feed

  • Question

  • Hi,

    all the face tracking examples are crashing for me as soon as face is detected - all the other samples (depth, color, sound, infra) work fine.

    I believe the reason to be lack of support for SSE4 on AMD Phenom II X4 905e, when attaching windbg to the process, I get

    ERROR_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.

    APP:  facebasics-d2d.exe
    STACK_COMMAND:  .cxr 0x0 ; kb
    FAILED_INSTRUCTION_ADDRESS:
    Kinect20_Face!DllMain+8aaf
    00007ffe`60a3f65f 660f382bca      packusdw xmm1,xmm2

    Full windbg output - http://pastebin.com/6k3xE1UG

    Since all the other Kinect 2 SDK functionality seems to work fine without SSE4, would it be possible to ship a version of Kinect20.Face.dll without SSE4 or use dynamic dispatch to detect SSE4 presence and use it only when available?

    Thanks

    Dan

    Saturday, August 30, 2014 10:28 AM

Answers

  • Do you have the full crash dump, not just the output. There are no symbols loaded so it would be difficult to know where this failed based on the data in the text.

    From our current investigation there is code that relies on SSE4. Do you have any issues with other parts of the SDK. Can you run the other samples without issues?


    Carmine Sirignano - MSFT



    Tuesday, September 2, 2014 7:44 PM

All replies

  • Do you have the full crash dump, not just the output. There are no symbols loaded so it would be difficult to know where this failed based on the data in the text.

    From our current investigation there is code that relies on SSE4. Do you have any issues with other parts of the SDK. Can you run the other samples without issues?


    Carmine Sirignano - MSFT



    Tuesday, September 2, 2014 7:44 PM
  • Hi,

    yes, I can run all the other samples without any issues. It's just the face detection samples that always crash as soon as face is detected.

    Full windbg output - http://1drv.ms/1w4LtSx

    Thanks for looking into it

    Dan

    Wednesday, September 3, 2014 4:53 AM
  • As Carmine says, 1408 public preview had this requirement in Face/HD Face. Thanks for reporting this.

    We plan to address. We want to run on machines that aren't SSE4.

    Thx, Rob


    Rob Relyea [MSFT] http://twitter.com/rrelyea

    Thursday, September 4, 2014 9:59 PM
  • Thanks a lot!
    Monday, September 8, 2014 7:11 PM
  • Have you see the same issues with the CoordinateBasics sample as well?

    Carmine Sirignano - MSFT

    Friday, September 12, 2014 10:13 PM
  • CoordinateBasics works without any issues. Maybe no SSE4 instructions are emitted by the compiler for this binary and it's dependency Kinect20.dll?

    Running the CPU info example from http://msdn.microsoft.com/en-us/library/hskdteyh%28v=vs.90%29.ASPX yields http://pastebin.com/8vxq7tcJ , so SSE, SSE2, SSE3 and SSE4A are present, but not SSE4.1, where the instruction packusdw is defined.

    Monday, September 15, 2014 12:19 PM
  • can you try some of the other functions from the coordinate mapper? Just try calling the api's and see if anything fails.

    Carmine Sirignano - MSFT

    Monday, September 15, 2014 9:08 PM
  • You are right, MapDepthFrameToCameraSpace crashes in similar manner, this time on pmovzxwd instruction ( http://msdn.microsoft.com/library/windows/apps/bb514100%28v=vs.90%29.aspx ).

    Wednesday, September 17, 2014 9:11 PM