Possible Driver Bug - Uniform Initialization Failure

  1. Operating system version.
    Windows 10 Home.

  2. Graphics hardware.
    GeForce GTX 1070

  3. Graphics driver version.
    GeForce Game Ready Driver 399.24 from September 10th, 2018

  4. Display Control Panel settings for screen resolution, monitor configs, and driver settings.

System name: DESKTOP-HP00OJ5

[Display]
Operating System: Windows 10 Home, 64-bit
DirectX version: 12.0
GPU processor: GeForce GTX 1070
Driver version: 399.24
Direct3D API version: 12
Direct3D feature level: 12_1
CUDA Cores: 2048
Core clock: 1442 MHz
Memory data rate: 8008 MHz
Memory interface: 256-bit
Memory bandwidth: 256.26 GB/s
Total available graphics memory: 14312 MB
Dedicated video memory: 8192 MB GDDR5
System video memory: 0 MB
Shared system memory: 6120 MB
Video BIOS version: 86.04.5B.00.55
IRQ: Not used
Bus: PCI Express x16 Gen3
Device Id: 10DE 1BE1 16601043
Part Number: 2914 0010

[Components]

nvui.dll 8.17.13.9924 NVIDIA User Experience Driver Component
nvxdplcy.dll 8.17.13.9924 NVIDIA User Experience Driver Component
nvxdbat.dll 8.17.13.9924 NVIDIA User Experience Driver Component
nvxdapix.dll 8.17.13.9924 NVIDIA User Experience Driver Component
NVCPL.DLL 8.17.13.9924 NVIDIA User Experience Driver Component
nvCplUIR.dll 8.1.940.0 NVIDIA Control Panel
nvCplUI.exe 8.1.940.0 NVIDIA Control Panel
nvWSSR.dll 24.21.13.9924 NVIDIA Workstation Server
nvWSS.dll 24.21.13.9924 NVIDIA Workstation Server
nvViTvSR.dll 24.21.13.9924 NVIDIA Video Server
nvViTvS.dll 24.21.13.9924 NVIDIA Video Server
NVSTVIEW.EXE 7.17.13.9924 NVIDIA 3D Vision Photo Viewer
NVSTTEST.EXE 7.17.13.9924 NVIDIA 3D Vision Test Application
NVSTRES.DLL 7.17.13.9924 NVIDIA 3D Vision Module
nvDispSR.dll 24.21.13.9924 NVIDIA Display Server
NVMCTRAY.DLL 24.21.13.9924 NVIDIA Media Center Library
nvDispS.dll 24.21.13.9924 NVIDIA Display Server
PhysX 09.17.0524 NVIDIA PhysX
NVCUDA.DLL 24.21.13.9924 NVIDIA CUDA 9.2.217 driver
nvGameSR.dll 24.21.13.9924 NVIDIA 3D Settings Server
nvGameS.dll 24.21.13.9924 NVIDIA 3D Settings Server

  1. Reproducer project.
    I’m working on an Win32 desktop application that uses OpenGL features for accelerated compute.

*** I can definitely make a download available, but I don’t have a simple executable that shows the problem. ***
*** You can find the problem using glsllangvalidator.exe ***

5.1. Source code in failing state highly appreciated. This is the code that fails:

#version 450

out vec4 fragColor;
uniform float s[2][2] = s[2][2]( float[2]( 0.2, 0.4 ), float[2]( 0.6, 0.8 ) );
// C-style initialization works just fine!
// uniform float s[2][2] = { { 0.2, 0.4 }, { 0.6, 0.8 } };

void main(void)
{
fragColor = vec4( s[0][0], s[0][1], s[1][0], s[1][1] ); // Only get black on screen.
// According to the GLSL language documentation, I think this should work.
// Equivalent results, rendering all fragments with darkish blue are:
// fragColor = vec4( 0.2, 0.4, 0.6, 0.8 );
}

5.3. This is the error I receive:

All on-screen fragments are black.

  1. Description of single steps to reproduce the problem.

    Compile and execute this shader on any geometry.

  2. Description of the expected result (screenshots if possible).

The shader renders all fragments as dark blue when compiled;