Developing Games on Intel Graphics
Ask us questions and get answers, tips, tweaks & techniques from product and technology experts.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
462 Discussions

SIMD32 shader inefficient

Bram_Stolk
Novice
677 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
648 Views

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

I have a full write up.

Reply