Developing Games on Intel Graphics
If you are gaming on graphics integrated in your Intel Processor, this is the place for you! Find answers to your questions or post your issues with PC games
489 Discussions

SIMD32 shader inefficient

Bram_Stolk
Novice
1,377 Views

I have enabled verbose debug output from OpenGL.

 

When linking my GL shader on Alderlake GT1 (OS: Ubuntu) the driver complains with:

 

[API][Performance]{Notification}: SIMD32 shader inefficient

 

Note: the app works as intended, but I want to understand why my program is marked as inefficient?

 

Vertex Shader code:

#version 150
in mediump vec2 position;
out lowp vec4 clr;
uniform lowp vec4 colour;
uniform mediump float invaspect;
uniform mediump vec2 rotx;
uniform mediump vec2 roty;
uniform mediump vec2 translation;
void main()
{
 gl_Position.x = rotx.x * position.x + roty.x * position.y + translation.x;
 gl_Position.y = rotx.y * position.x + roty.y * position.y + translation.y;
 gl_Position.x *= invaspect;
 gl_Position.z = 1.0;
 gl_Position.w = 1.0;
 clr = colour;
}

Fragment Shader code:

#version 150
in  lowp vec4 clr;
out lowp vec4 fragColor;
void main()
{
    fragColor = clr;
}

More output:

WRN [Shader Compiler][Other]{Notification}: VS SIMD8 shader: 10 inst, 0 loops, 39 cycles, 0:0 spills:fills, 1 sends, scheduled with mode top-down, Promoted 0 constants, compacted 160 to 128 bytes.

WRN [API][Performance]{Notification}: SIMD32 shader inefficient

WRN [Shader Compiler][Other]{Notification}: FS SIMD8 shader: 5 inst, 0 loops, 20 cycles, 0:0 spills:fills, 1 sends, scheduled with mode top-down, Promoted 0 constants, compacted 80 to 48 bytes.

WRN [Shader Compiler][Other]{Notification}: FS SIMD16 shader: 5 inst, 0 loops, 28 cycles, 0:0 spills:fills, 1 sends, scheduled with mode top-down, Promoted 0 constants, compacted 80 to 48 bytes.

Loaded program Main as handle 9 in slot 2

0 Kudos
1 Reply
Bram_Stolk
Novice
1,348 Views

I managed to track this down to a heuristic for the Intel Broadwater fragment shader compiler.

I have a full write up.

Reply