index outside gl_SampleMask range, compiler need report error. (#3556)

This commit is contained in:
jimihem 2024-04-18 08:14:26 +08:00 committed by GitHub
parent 593dbafd0d
commit 68df223056
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 68 additions and 0 deletions

View file

@ -0,0 +1,55 @@
index_outside_sample_mask_range.frag
ERROR: 0:6: '[' : gl_SampleMask array index out of range '1'
ERROR: 1 compilation errors. No code generated.
Shader version: 320
ERROR: node is still EOpNull!
0:3 Function Definition: main( ( global void)
0:3 Function Parameters:
0:? Sequence
0:6 Sequence
0:6 move second child to first child ( temp highp int)
0:6 'invalidValue' ( temp highp int)
0:6 direct index ( temp highp int SampleMaskIn)
0:6 'gl_SampleMask' ( out unsized 2-element array of highp int SampleMaskIn)
0:6 Constant:
0:6 1 (const int)
0:7 move second child to first child ( temp mediump 4-component vector of float)
0:7 'fs_color' (layout( location=0) out mediump 4-component vector of float)
0:7 Constant:
0:7 1.000000
0:7 0.000000
0:7 0.000000
0:7 1.000000
0:? Linker Objects
0:? 'fs_color' (layout( location=0) out mediump 4-component vector of float)
0:? 'gl_SampleMask' ( out unsized 2-element array of highp int SampleMaskIn)
Linked fragment stage:
Shader version: 320
ERROR: node is still EOpNull!
0:3 Function Definition: main( ( global void)
0:3 Function Parameters:
0:? Sequence
0:6 Sequence
0:6 move second child to first child ( temp highp int)
0:6 'invalidValue' ( temp highp int)
0:6 direct index ( temp highp int SampleMaskIn)
0:6 'gl_SampleMask' ( out 2-element array of highp int SampleMaskIn)
0:6 Constant:
0:6 1 (const int)
0:7 move second child to first child ( temp mediump 4-component vector of float)
0:7 'fs_color' (layout( location=0) out mediump 4-component vector of float)
0:7 Constant:
0:7 1.000000
0:7 0.000000
0:7 0.000000
0:7 1.000000
0:? Linker Objects
0:? 'fs_color' (layout( location=0) out mediump 4-component vector of float)
0:? 'gl_SampleMask' ( out 2-element array of highp int SampleMaskIn)

View file

@ -0,0 +1,8 @@
#version 320 es
layout (location = 0) out mediump vec4 fs_color;
void main()
{
const highp int invalidIndex = (gl_MaxSamples + 31) / 32;
highp int invalidValue = gl_SampleMask[invalidIndex];
fs_color = vec4(1.0f, 0.0f, 0.0f, 1.0f);
}