BrutPitt / glChAoS.P

3D GPUs Strange Attractors and Hypercomplex Fractals explorer - up to 256 Million particles in RealTime
https://michelemorrone.eu/glchaosp
BSD 2-Clause "Simplified" License
786 stars 61 forks source link

fatal error C9999: *** exception during compilation *** with latest NVIDIA drivers #3

Closed BrutPitt closed 4 years ago

BrutPitt commented 4 years ago

The problem appear ONLY in Windows with latest NVIDIA drivers 436.30 (GRD) and 431.86 (SD). Tested with RTX 2070 and GTX 1050TI in Windows 10 19H1 (1903) and RS3 (1709).

No problem with 431.70 (SD) or olden drivers, nor in Linux (with 430.40 and below), and nor with AMD and Intel drivers/cards. Being a drivers problem it influence all version of glChAoS.P, also the previous ones.

No problem, instead, with WebGL versions (wglChAoS.P).

I opened a "bug" on NVidia and await developments

Any report of malfunction is welcome

BrutPitt commented 4 years ago

The NVidia support team asked me for more details about problem, so I created the glChaos.Debug folder with the shaders that cause this error and some screen shots:

N.B. This two shaders files are packaged for the purpose, they don't exist as "single frag" and "single vert" file in the original source code, in the program I join them dynamically in base to OpenGL platform selected (4.5/4.1/GL_ES).

BrutPitt commented 4 years ago

This problem is a internal NVidia compiler/linker error and seems to be related to subroutine declaration: more specifically, it would seem to be the call of a subroutine from inside another subroutine (which belongs to another group).

Since NVidia has biblical times to answer ==> one mail in 15 days!! I bypass momentarily the issue with loss of performance.

I added glChAoSP_NVidiaWorkaround.zip Windows binaries, in the glChAoS.P Release Download: the package contains only two executable (32/64 bit), so you need to replace the original ones of glChAoSP.zip file, inside glChAoS.P directory strucure.

In this workaround I uses OpenGL 4.1, without Zero Drivers Overhead feature of OpenGL 4.5, without GLSL subroutines, with consequent slower performance. Alternatively, for full performance, need to install ver. 431.70 (SD) of NVidia drivers

BrutPitt commented 4 years ago

Seems that the use of DDU (Display Drivers Uninstaller) solves the problem (on both my machines). A clean driver installation (from NVidia installer) is not enough.