AnsweredAssumed Answered

FE_INVALID after call to vkCreateInstance

Question asked by nythrix on Jul 23, 2017
Latest reply on Aug 16, 2017 by dwitczak

Hi,

 

After upgrading my radeon software from 16.10.1 to 17.7.1 (Crimson ReLive) I started detecting an FE_INVALID floating point exception in my application. This seems to be triggered by calling vkCreateInstance. I was also able to reproduce it by modifying the cube sample provided by the LunarG Vulkan API SDK in the following manner:

 

Add to top of cube.c:

#include <fenv.h>

#pragma STDC FENV_ACCESS_ON // MinGW-w64 only

 

Insert these lines around vkCreateInstance (somewhere around lines 2800 to 2820 ish):

feclearexcept(FE_ALL_EXCEPT);

// existing call to vkCreateInstance here

assert(!fetestexcept(FE_INVALID)); // <- assert triggered

 

 

The issue does no appear to be toolchain dependent as I am able to reproduce it via both Visual Studio 2015 and CodeBlocks+MinGW-w64. No other modifications were made to the system so this must be triggered (directly or indirectly) by the new drivers.

 

System: Intel i5-4590S 16GB, Radeon RX 480 8GB, Windows 10 (64bit), Radeon Software Version 17.7.1 (Crimson ReLive), LunarG Vulkan SDK 1.0.30.0.

 

Is it possible for someone from AMD to check this out?

 

Let me know If you need more info.

 

Thanks.

Outcomes