Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
16 Views

Crash parsing pragma

System Setup Information:
-----------------------------------------

System Used: Lenovo ThinkPad T440p
CPU SKU: i7-4710MQ
GPU SKU: Intel® HD Graphics 4600
Graphics Driver Version: intel 20.19.15.4474 from 13/6/2016, Nvidia driver 387.92
Operating System: Windows 10 64bits
API: OpenGL 3.2 Core Profile
Occurs on non-Intel GPUs?: No

Steps to Reproduce:
-------------------------------
1. Disable the integrated graphics card (nvidia) from the Device Manager to force the application to use the intel card
2. Load an OpenGL application with OpenGL 3.2 Core context

3. Load a shader with:

#version 150
#pragma import_defines (A, B, C, D)

...

Expected Results:

A warning or a compilation error but not a crash.
-------------------------------

Actual Results:

The application crashes in the driver. ig75icd64.dll with a 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.
-------------------------------

Additional Information:

We are testing our shaders on the intel card on purpose, by disabling the nvidia card we try to emulate a system without the nvidia card.

The driver used is the latest available from Microsoft servers (device manager -> update driver says it is the latest version). Newer drivers provided by intel or lenovo in their websites fail to install with a message saying that the system is not compatible with the driver.

We use the OpenSceneGraph framework, which uses the #pragma import_defines() to change shader settings at run-time.

This shader crashes too:

#version 150
#pragma import_defines (A, B)
#pragma import_defines (C, D)

...

But this one does not:

#version 150
#pragma import_defines (A)
#pragma import_defines (B)
#pragma import_defines (C)
#pragma import_defines (D)

...

-------------------------------

 

An acceptable result would be to generate a warning or compilation error but not crash the application. Maybe the issue is already fixed in a newer version of the driver but in reality users cannot upgrade the driver because the installation fails saying that the system is not compatible.

For the moment we have applied the work-around splitting the lines but we would like to have a proper fix.

0 Kudos
0 Replies