Graphics
Intel® graphics drivers and software, compatibility, troubleshooting, performance and optimization
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
17551 Discussions

Crash parsing pragma

David_S_6
Beginner
122 Views

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
Reply