Full stack: properly implement GL_EXT_device_group and GL_EXT_multiview.
This commit is contained in:
parent
78cfba97e1
commit
c08fb8ab9c
@ -57,3 +57,23 @@ void foo()
|
|||||||
v += textureProjGradOffset(s2dr, tloc4, ivec2(0.0), ivec2(0.0), ivec2(1,2));
|
v += textureProjGradOffset(s2dr, tloc4, ivec2(0.0), ivec2(0.0), ivec2(1,2));
|
||||||
v += textureProjGradOffset(s2drs, tloc4, ivec2(0.0), ivec2(0.0), ivec2(1,2));
|
v += textureProjGradOffset(s2drs, tloc4, ivec2(0.0), ivec2(0.0), ivec2(1,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void devi()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex; // ERROR, no extension
|
||||||
|
gl_ViewIndex; // ERROR, no extension
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_device_group : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_multiview : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void devie()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex;
|
||||||
|
gl_ViewIndex;
|
||||||
|
}
|
||||||
|
@ -238,3 +238,19 @@ float t__; // ERROR, no __ until revision 310
|
|||||||
#define __D
|
#define __D
|
||||||
|
|
||||||
shared vec4 arr[2][3][4];
|
shared vec4 arr[2][3][4];
|
||||||
|
|
||||||
|
void devi()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex; // ERROR, no extension
|
||||||
|
gl_ViewIndex; // ERROR, never this stage
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_device_group : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void devie()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex;
|
||||||
|
gl_ViewIndex; // ERROR, never this stage
|
||||||
|
}
|
||||||
|
@ -429,3 +429,23 @@ void blendFoo(layout(blend_support_hsl_luminosity) vec3 v) { } // ERROR, only on
|
|||||||
layout(blend_support_flizbit) out; // ERROR, no flizbit
|
layout(blend_support_flizbit) out; // ERROR, no flizbit
|
||||||
|
|
||||||
out vec4 outAA[2][2]; // ERROR
|
out vec4 outAA[2][2]; // ERROR
|
||||||
|
|
||||||
|
void devi()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex; // ERROR, no extension
|
||||||
|
gl_ViewIndex; // ERROR, no extension
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_device_group : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_multiview : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void devie()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex;
|
||||||
|
gl_ViewIndex;
|
||||||
|
}
|
||||||
|
@ -103,3 +103,23 @@ patch out pinbn {
|
|||||||
|
|
||||||
invariant precise out vec4 badOrder[]; // ERROR, precise must appear first
|
invariant precise out vec4 badOrder[]; // ERROR, precise must appear first
|
||||||
void badp(out precise float f); // ERROR, precise must appear first
|
void badp(out precise float f); // ERROR, precise must appear first
|
||||||
|
|
||||||
|
void devi()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex; // ERROR, no extension
|
||||||
|
gl_ViewIndex; // ERROR, no extension
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_device_group : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_multiview : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void devie()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex;
|
||||||
|
gl_ViewIndex;
|
||||||
|
}
|
||||||
|
@ -103,3 +103,23 @@ in float gl_TessLevelOuter[4]; // ERROR, can't redeclare
|
|||||||
patch in pinbn {
|
patch in pinbn {
|
||||||
int a;
|
int a;
|
||||||
} pinbi;
|
} pinbi;
|
||||||
|
|
||||||
|
void devi()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex; // ERROR, no extension
|
||||||
|
gl_ViewIndex; // ERROR, no extension
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_device_group : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef GL_EXT_device_group
|
||||||
|
#extension GL_EXT_multiview : enable
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void devie()
|
||||||
|
{
|
||||||
|
gl_DeviceIndex;
|
||||||
|
gl_ViewIndex;
|
||||||
|
}
|
||||||
|
@ -9,12 +9,16 @@ ERROR: 0:38: 'gl_ClipVertex' : cannot redeclare after use
|
|||||||
ERROR: 0:39: 'gl_FogFragCoord' : cannot redeclare after use
|
ERROR: 0:39: 'gl_FogFragCoord' : cannot redeclare after use
|
||||||
ERROR: 0:51: 'texelFetch' : no matching overloaded function found
|
ERROR: 0:51: 'texelFetch' : no matching overloaded function found
|
||||||
ERROR: 0:53: 'texture' : no matching overloaded function found
|
ERROR: 0:53: 'texture' : no matching overloaded function found
|
||||||
ERROR: 10 compilation errors. No code generated.
|
ERROR: 0:63: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:64: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
|
||||||
|
ERROR: 12 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 140
|
Shader version: 140
|
||||||
Requested GL_ARB_explicit_attrib_location
|
Requested GL_ARB_explicit_attrib_location
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:9 Function Definition: main( (global void)
|
0:9 Function Definition: main( (global void)
|
||||||
0:9 Function Parameters:
|
0:9 Function Parameters:
|
||||||
@ -116,6 +120,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:58 Constant:
|
0:58 Constant:
|
||||||
0:58 1 (const int)
|
0:58 1 (const int)
|
||||||
0:58 2 (const int)
|
0:58 2 (const int)
|
||||||
|
0:61 Function Definition: devi( (global void)
|
||||||
|
0:61 Function Parameters:
|
||||||
|
0:63 Sequence
|
||||||
|
0:63 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:64 'gl_ViewIndex' (in int ViewIndex)
|
||||||
|
0:75 Function Definition: devie( (global void)
|
||||||
|
0:75 Function Parameters:
|
||||||
|
0:77 Sequence
|
||||||
|
0:77 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:78 'gl_ViewIndex' (in int ViewIndex)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'sbuf' (uniform isamplerBuffer)
|
0:? 'sbuf' (uniform isamplerBuffer)
|
||||||
0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
|
0:? 'anon@0' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform int anonMem})
|
||||||
@ -142,6 +156,8 @@ Linked vertex stage:
|
|||||||
Shader version: 140
|
Shader version: 140
|
||||||
Requested GL_ARB_explicit_attrib_location
|
Requested GL_ARB_explicit_attrib_location
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:9 Function Definition: main( (global void)
|
0:9 Function Definition: main( (global void)
|
||||||
0:9 Function Parameters:
|
0:9 Function Parameters:
|
||||||
|
@ -232,11 +232,15 @@ ERROR: 0:87: 'location' : overlapping use of location 4
|
|||||||
ERROR: 0:104: '' : precise qualifier must appear first
|
ERROR: 0:104: '' : precise qualifier must appear first
|
||||||
ERROR: 0:105: '' : precise qualifier must appear first
|
ERROR: 0:105: '' : precise qualifier must appear first
|
||||||
ERROR: 0:105: '' : precise qualifier must appear first
|
ERROR: 0:105: '' : precise qualifier must appear first
|
||||||
ERROR: 21 compilation errors. No code generated.
|
ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
|
||||||
|
ERROR: 23 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 400
|
Shader version: 400
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
vertices = 4
|
vertices = 4
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:13 Function Definition: main( (global void)
|
0:13 Function Definition: main( (global void)
|
||||||
@ -408,6 +412,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:97 'd' (noContraction temp double)
|
0:97 'd' (noContraction temp double)
|
||||||
0:97 'd' (noContraction temp double)
|
0:97 'd' (noContraction temp double)
|
||||||
0:97 'd' (noContraction temp double)
|
0:97 'd' (noContraction temp double)
|
||||||
|
0:107 Function Definition: devi( (global void)
|
||||||
|
0:107 Function Parameters:
|
||||||
|
0:109 Sequence
|
||||||
|
0:109 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:110 'gl_ViewIndex' (in int ViewIndex)
|
||||||
|
0:121 Function Definition: devie( (global void)
|
||||||
|
0:121 Function Parameters:
|
||||||
|
0:123 Sequence
|
||||||
|
0:123 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:124 'gl_ViewIndex' (in int ViewIndex)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||||
0:? 'outa' (global 4-element array of int)
|
0:? 'outa' (global 4-element array of int)
|
||||||
@ -459,11 +473,15 @@ ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or
|
|||||||
ERROR: 0:96: 'location' : overlapping use of location 24
|
ERROR: 0:96: 'location' : overlapping use of location 24
|
||||||
ERROR: 0:99: 'location' : overlapping use of location 24
|
ERROR: 0:99: 'location' : overlapping use of location 24
|
||||||
ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
|
ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
|
||||||
ERROR: 30 compilation errors. No code generated.
|
ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
|
||||||
|
ERROR: 32 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 400
|
Shader version: 400
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
input primitive = quads
|
input primitive = quads
|
||||||
vertex spacing = fractional_odd_spacing
|
vertex spacing = fractional_odd_spacing
|
||||||
triangle order = cw
|
triangle order = cw
|
||||||
@ -559,6 +577,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:44 Constant:
|
0:44 Constant:
|
||||||
0:44 2 (const int)
|
0:44 2 (const int)
|
||||||
0:44 'cd' (temp float)
|
0:44 'cd' (temp float)
|
||||||
|
0:107 Function Definition: devi( (global void)
|
||||||
|
0:107 Function Parameters:
|
||||||
|
0:109 Sequence
|
||||||
|
0:109 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:110 'gl_ViewIndex' (in int ViewIndex)
|
||||||
|
0:121 Function Definition: devie( (global void)
|
||||||
|
0:121 Function Parameters:
|
||||||
|
0:123 Sequence
|
||||||
|
0:123 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:124 'gl_ViewIndex' (in int ViewIndex)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'patchIn' (patch in 4-component vector of float)
|
0:? 'patchIn' (patch in 4-component vector of float)
|
||||||
0:? 'patchOut' (patch out 4-component vector of float)
|
0:? 'patchOut' (patch out 4-component vector of float)
|
||||||
@ -952,6 +980,8 @@ ERROR: Linking tessellation evaluation stage: Multiple function bodies in multip
|
|||||||
Shader version: 420
|
Shader version: 420
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
Requested GL_ARB_tessellation_shader
|
Requested GL_ARB_tessellation_shader
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
vertices = 4
|
vertices = 4
|
||||||
0:? Sequence
|
0:? Sequence
|
||||||
0:10 Function Definition: main( (global void)
|
0:10 Function Definition: main( (global void)
|
||||||
@ -1277,6 +1307,8 @@ vertices = 4
|
|||||||
Shader version: 420
|
Shader version: 420
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
Requested GL_ARB_tessellation_shader
|
Requested GL_ARB_tessellation_shader
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
input primitive = quads
|
input primitive = quads
|
||||||
vertex spacing = fractional_odd_spacing
|
vertex spacing = fractional_odd_spacing
|
||||||
triangle order = cw
|
triangle order = cw
|
||||||
|
@ -81,10 +81,14 @@ ERROR: 0:227: 'input block' : not supported in this stage: compute
|
|||||||
ERROR: 0:231: 'output block' : not supported in this stage: compute
|
ERROR: 0:231: 'output block' : not supported in this stage: compute
|
||||||
WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved
|
WARNING: 0:235: 't__' : identifiers containing consecutive underscores ("__") are reserved
|
||||||
WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
|
WARNING: 0:238: '#define' : names containing consecutive underscores are reserved: __D
|
||||||
ERROR: 79 compilation errors. No code generated.
|
ERROR: 0:244: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:245: 'gl_ViewIndex' : undeclared identifier
|
||||||
|
ERROR: 0:255: 'gl_ViewIndex' : undeclared identifier
|
||||||
|
ERROR: 82 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 310
|
Shader version: 310
|
||||||
|
Requested GL_EXT_device_group
|
||||||
local_size = (2, 1, 4096)
|
local_size = (2, 1, 4096)
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:27 Function Definition: main( (global void)
|
0:27 Function Definition: main( (global void)
|
||||||
@ -443,6 +447,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:224 0 (const int)
|
0:224 0 (const int)
|
||||||
0:224 Constant:
|
0:224 Constant:
|
||||||
0:224 2 (const int)
|
0:224 2 (const int)
|
||||||
|
0:242 Function Definition: devi( (global void)
|
||||||
|
0:242 Function Parameters:
|
||||||
|
0:244 Sequence
|
||||||
|
0:244 'gl_DeviceIndex' (in highp int DeviceIndex)
|
||||||
|
0:245 'gl_ViewIndex' (temp float)
|
||||||
|
0:252 Function Definition: devie( (global void)
|
||||||
|
0:252 Function Parameters:
|
||||||
|
0:254 Sequence
|
||||||
|
0:254 'gl_DeviceIndex' (in highp int DeviceIndex)
|
||||||
|
0:255 'gl_ViewIndex' (temp float)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
|
0:? 'gl_WorkGroupSize' (const highp 3-component vector of uint WorkGroupSize)
|
||||||
0:? 2 (const uint)
|
0:? 2 (const uint)
|
||||||
@ -512,6 +526,7 @@ Linked compute stage:
|
|||||||
|
|
||||||
|
|
||||||
Shader version: 310
|
Shader version: 310
|
||||||
|
Requested GL_EXT_device_group
|
||||||
local_size = (2, 1, 4096)
|
local_size = (2, 1, 4096)
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:27 Function Definition: main( (global void)
|
0:27 Function Definition: main( (global void)
|
||||||
|
@ -133,10 +133,14 @@ ERROR: 0:427: 'blend equation' : can only apply to a standalone qualifier
|
|||||||
ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
|
ERROR: 0:428: 'blend equation' : can only apply to a standalone qualifier
|
||||||
ERROR: 0:429: 'blend_support' : unknown blend equation
|
ERROR: 0:429: 'blend_support' : unknown blend equation
|
||||||
ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
|
ERROR: 0:431: 'fragment-shader array-of-array output' : not supported with this profile: es
|
||||||
ERROR: 125 compilation errors. No code generated.
|
ERROR: 0:435: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:436: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
|
||||||
|
ERROR: 127 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 310
|
Shader version: 310
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
Requested GL_EXT_shader_io_blocks
|
Requested GL_EXT_shader_io_blocks
|
||||||
Requested GL_EXT_texture_cube_map_array
|
Requested GL_EXT_texture_cube_map_array
|
||||||
Requested GL_KHR_blend_equation_advanced
|
Requested GL_KHR_blend_equation_advanced
|
||||||
@ -916,6 +920,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:428 Function Definition: blendFoo(vf3; (global void)
|
0:428 Function Definition: blendFoo(vf3; (global void)
|
||||||
0:428 Function Parameters:
|
0:428 Function Parameters:
|
||||||
0:428 'v' (in mediump 3-component vector of float)
|
0:428 'v' (in mediump 3-component vector of float)
|
||||||
|
0:433 Function Definition: devi( (global void)
|
||||||
|
0:433 Function Parameters:
|
||||||
|
0:435 Sequence
|
||||||
|
0:435 'gl_DeviceIndex' (flat in highp int DeviceIndex)
|
||||||
|
0:436 'gl_ViewIndex' (flat in highp int ViewIndex)
|
||||||
|
0:447 Function Definition: devie( (global void)
|
||||||
|
0:447 Function Parameters:
|
||||||
|
0:449 Sequence
|
||||||
|
0:449 'gl_DeviceIndex' (flat in highp int DeviceIndex)
|
||||||
|
0:450 'gl_ViewIndex' (flat in highp int ViewIndex)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
|
0:? 'gl_FragCoord' (smooth in mediump 4-component vector of float)
|
||||||
0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
|
0:? 'v3' (layout(location=2 ) smooth in mediump 3-component vector of float)
|
||||||
@ -1017,6 +1031,8 @@ Linked fragment stage:
|
|||||||
ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
|
ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers
|
||||||
|
|
||||||
Shader version: 310
|
Shader version: 310
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
Requested GL_EXT_shader_io_blocks
|
Requested GL_EXT_shader_io_blocks
|
||||||
Requested GL_EXT_texture_cube_map_array
|
Requested GL_EXT_texture_cube_map_array
|
||||||
Requested GL_KHR_blend_equation_advanced
|
Requested GL_KHR_blend_equation_advanced
|
||||||
|
@ -21,11 +21,15 @@ ERROR: 0:87: 'location' : overlapping use of location 4
|
|||||||
ERROR: 0:104: '' : precise qualifier must appear first
|
ERROR: 0:104: '' : precise qualifier must appear first
|
||||||
ERROR: 0:105: '' : precise qualifier must appear first
|
ERROR: 0:105: '' : precise qualifier must appear first
|
||||||
ERROR: 0:105: '' : precise qualifier must appear first
|
ERROR: 0:105: '' : precise qualifier must appear first
|
||||||
ERROR: 21 compilation errors. No code generated.
|
ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
|
||||||
|
ERROR: 23 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 400
|
Shader version: 400
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
vertices = 4
|
vertices = 4
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:13 Function Definition: main( (global void)
|
0:13 Function Definition: main( (global void)
|
||||||
@ -197,6 +201,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:97 'd' (noContraction temp double)
|
0:97 'd' (noContraction temp double)
|
||||||
0:97 'd' (noContraction temp double)
|
0:97 'd' (noContraction temp double)
|
||||||
0:97 'd' (noContraction temp double)
|
0:97 'd' (noContraction temp double)
|
||||||
|
0:107 Function Definition: devi( (global void)
|
||||||
|
0:107 Function Parameters:
|
||||||
|
0:109 Sequence
|
||||||
|
0:109 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:110 'gl_ViewIndex' (in int ViewIndex)
|
||||||
|
0:121 Function Definition: devie( (global void)
|
||||||
|
0:121 Function Parameters:
|
||||||
|
0:123 Sequence
|
||||||
|
0:123 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:124 'gl_ViewIndex' (in int ViewIndex)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||||
0:? 'outa' (global 4-element array of int)
|
0:? 'outa' (global 4-element array of int)
|
||||||
@ -222,6 +236,8 @@ Linked tessellation control stage:
|
|||||||
|
|
||||||
Shader version: 400
|
Shader version: 400
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
vertices = 4
|
vertices = 4
|
||||||
ERROR: node is still EOpNull!
|
ERROR: node is still EOpNull!
|
||||||
0:13 Function Definition: main( (global void)
|
0:13 Function Definition: main( (global void)
|
||||||
|
@ -30,11 +30,15 @@ ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or
|
|||||||
ERROR: 0:96: 'location' : overlapping use of location 24
|
ERROR: 0:96: 'location' : overlapping use of location 24
|
||||||
ERROR: 0:99: 'location' : overlapping use of location 24
|
ERROR: 0:99: 'location' : overlapping use of location 24
|
||||||
ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
|
ERROR: 0:101: 'gl_TessLevelOuter' : identifiers starting with "gl_" are reserved
|
||||||
ERROR: 30 compilation errors. No code generated.
|
ERROR: 0:109: 'gl_DeviceIndex' : required extension not requested: GL_EXT_device_group
|
||||||
|
ERROR: 0:110: 'gl_ViewIndex' : required extension not requested: GL_EXT_multiview
|
||||||
|
ERROR: 32 compilation errors. No code generated.
|
||||||
|
|
||||||
|
|
||||||
Shader version: 400
|
Shader version: 400
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
input primitive = quads
|
input primitive = quads
|
||||||
vertex spacing = fractional_odd_spacing
|
vertex spacing = fractional_odd_spacing
|
||||||
triangle order = cw
|
triangle order = cw
|
||||||
@ -130,6 +134,16 @@ ERROR: node is still EOpNull!
|
|||||||
0:44 Constant:
|
0:44 Constant:
|
||||||
0:44 2 (const int)
|
0:44 2 (const int)
|
||||||
0:44 'cd' (temp float)
|
0:44 'cd' (temp float)
|
||||||
|
0:107 Function Definition: devi( (global void)
|
||||||
|
0:107 Function Parameters:
|
||||||
|
0:109 Sequence
|
||||||
|
0:109 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:110 'gl_ViewIndex' (in int ViewIndex)
|
||||||
|
0:121 Function Definition: devie( (global void)
|
||||||
|
0:121 Function Parameters:
|
||||||
|
0:123 Sequence
|
||||||
|
0:123 'gl_DeviceIndex' (in int DeviceIndex)
|
||||||
|
0:124 'gl_ViewIndex' (in int ViewIndex)
|
||||||
0:? Linker Objects
|
0:? Linker Objects
|
||||||
0:? 'patchIn' (patch in 4-component vector of float)
|
0:? 'patchIn' (patch in 4-component vector of float)
|
||||||
0:? 'patchOut' (patch out 4-component vector of float)
|
0:? 'patchOut' (patch out 4-component vector of float)
|
||||||
@ -160,6 +174,8 @@ Linked tessellation evaluation stage:
|
|||||||
|
|
||||||
Shader version: 400
|
Shader version: 400
|
||||||
Requested GL_ARB_separate_shader_objects
|
Requested GL_ARB_separate_shader_objects
|
||||||
|
Requested GL_EXT_device_group
|
||||||
|
Requested GL_EXT_multiview
|
||||||
input primitive = quads
|
input primitive = quads
|
||||||
vertex spacing = fractional_odd_spacing
|
vertex spacing = fractional_odd_spacing
|
||||||
triangle order = cw
|
triangle order = cw
|
||||||
|
@ -3,14 +3,17 @@ Warning, version 310 is not yet complete; most version-specific features are pre
|
|||||||
|
|
||||||
// Module Version 10000
|
// Module Version 10000
|
||||||
// Generated by (magic number): 80001
|
// Generated by (magic number): 80001
|
||||||
// Id's are bound by 67
|
// Id's are bound by 69
|
||||||
|
|
||||||
Capability Shader
|
Capability Shader
|
||||||
|
Capability DeviceGroup
|
||||||
|
Extension "SPV_KHR_device_group"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint GLCompute 4 "main" 53
|
EntryPoint GLCompute 4 "main" 53 64
|
||||||
ExecutionMode 4 LocalSize 16 32 4
|
ExecutionMode 4 LocalSize 16 32 4
|
||||||
Source ESSL 310
|
Source ESSL 310
|
||||||
|
SourceExtension "GL_EXT_device_group"
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 13 "outb"
|
Name 13 "outb"
|
||||||
MemberName 13(outb) 0 "f"
|
MemberName 13(outb) 0 "f"
|
||||||
@ -29,6 +32,7 @@ Warning, version 310 is not yet complete; most version-specific features are pre
|
|||||||
MemberName 48(outs) 1 "va"
|
MemberName 48(outs) 1 "va"
|
||||||
Name 50 "outnames"
|
Name 50 "outnames"
|
||||||
Name 53 "gl_LocalInvocationID"
|
Name 53 "gl_LocalInvocationID"
|
||||||
|
Name 64 "gl_DeviceIndex"
|
||||||
Decorate 12 ArrayStride 16
|
Decorate 12 ArrayStride 16
|
||||||
MemberDecorate 13(outb) 0 Offset 0
|
MemberDecorate 13(outb) 0 Offset 0
|
||||||
MemberDecorate 13(outb) 1 Offset 4
|
MemberDecorate 13(outb) 1 Offset 4
|
||||||
@ -46,7 +50,8 @@ Warning, version 310 is not yet complete; most version-specific features are pre
|
|||||||
Decorate 48(outs) BufferBlock
|
Decorate 48(outs) BufferBlock
|
||||||
Decorate 50(outnames) DescriptorSet 0
|
Decorate 50(outnames) DescriptorSet 0
|
||||||
Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
Decorate 53(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
||||||
Decorate 66 BuiltIn WorkgroupSize
|
Decorate 64(gl_DeviceIndex) BuiltIn DeviceIndex
|
||||||
|
Decorate 68 BuiltIn WorkgroupSize
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
6: TypeInt 32 0
|
6: TypeInt 32 0
|
||||||
@ -87,10 +92,12 @@ Warning, version 310 is not yet complete; most version-specific features are pre
|
|||||||
53(gl_LocalInvocationID): 52(ptr) Variable Input
|
53(gl_LocalInvocationID): 52(ptr) Variable Input
|
||||||
54: TypePointer Input 6(int)
|
54: TypePointer Input 6(int)
|
||||||
61: TypePointer Uniform 16(int)
|
61: TypePointer Uniform 16(int)
|
||||||
63: 6(int) Constant 16
|
63: TypePointer Input 16(int)
|
||||||
64: 6(int) Constant 32
|
64(gl_DeviceIndex): 63(ptr) Variable Input
|
||||||
65: 6(int) Constant 4
|
65: 6(int) Constant 16
|
||||||
66: 51(ivec3) ConstantComposite 63 64 65
|
66: 6(int) Constant 32
|
||||||
|
67: 6(int) Constant 4
|
||||||
|
68: 51(ivec3) ConstantComposite 65 66 67
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
ControlBarrier 7 8 9
|
ControlBarrier 7 8 9
|
||||||
|
@ -10,13 +10,14 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
|||||||
Extension "SPV_KHR_device_group"
|
Extension "SPV_KHR_device_group"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "main" 9
|
EntryPoint Fragment 4 "main" 9 12
|
||||||
ExecutionMode 4 OriginUpperLeft
|
ExecutionMode 4 OriginUpperLeft
|
||||||
Source GLSL 450
|
Source GLSL 450
|
||||||
SourceExtension "GL_EXT_device_group"
|
SourceExtension "GL_EXT_device_group"
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "color"
|
Name 9 "color"
|
||||||
Name 12 "gl_DeviceIndex"
|
Name 12 "gl_DeviceIndex"
|
||||||
|
Decorate 12(gl_DeviceIndex) Flat
|
||||||
Decorate 12(gl_DeviceIndex) BuiltIn DeviceIndex
|
Decorate 12(gl_DeviceIndex) BuiltIn DeviceIndex
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
@ -25,8 +26,8 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
|||||||
8: TypePointer Output 7(fvec4)
|
8: TypePointer Output 7(fvec4)
|
||||||
9(color): 8(ptr) Variable Output
|
9(color): 8(ptr) Variable Output
|
||||||
10: TypeInt 32 1
|
10: TypeInt 32 1
|
||||||
11: TypePointer UniformConstant 10(int)
|
11: TypePointer Input 10(int)
|
||||||
12(gl_DeviceIndex): 11(ptr) Variable UniformConstant
|
12(gl_DeviceIndex): 11(ptr) Variable Input
|
||||||
15: 6(float) Constant 0
|
15: 6(float) Constant 0
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
|
@ -10,13 +10,14 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
|||||||
Extension "SPV_KHR_multiview"
|
Extension "SPV_KHR_multiview"
|
||||||
1: ExtInstImport "GLSL.std.450"
|
1: ExtInstImport "GLSL.std.450"
|
||||||
MemoryModel Logical GLSL450
|
MemoryModel Logical GLSL450
|
||||||
EntryPoint Fragment 4 "main" 9
|
EntryPoint Fragment 4 "main" 9 12
|
||||||
ExecutionMode 4 OriginUpperLeft
|
ExecutionMode 4 OriginUpperLeft
|
||||||
Source GLSL 450
|
Source GLSL 450
|
||||||
SourceExtension "GL_EXT_multiview"
|
SourceExtension "GL_EXT_multiview"
|
||||||
Name 4 "main"
|
Name 4 "main"
|
||||||
Name 9 "color"
|
Name 9 "color"
|
||||||
Name 12 "gl_ViewIndex"
|
Name 12 "gl_ViewIndex"
|
||||||
|
Decorate 12(gl_ViewIndex) Flat
|
||||||
Decorate 12(gl_ViewIndex) BuiltIn ViewIndex
|
Decorate 12(gl_ViewIndex) BuiltIn ViewIndex
|
||||||
2: TypeVoid
|
2: TypeVoid
|
||||||
3: TypeFunction 2
|
3: TypeFunction 2
|
||||||
@ -25,8 +26,8 @@ Warning, version 450 is not yet complete; most version-specific features are pre
|
|||||||
8: TypePointer Output 7(fvec4)
|
8: TypePointer Output 7(fvec4)
|
||||||
9(color): 8(ptr) Variable Output
|
9(color): 8(ptr) Variable Output
|
||||||
10: TypeInt 32 1
|
10: TypeInt 32 1
|
||||||
11: TypePointer UniformConstant 10(int)
|
11: TypePointer Input 10(int)
|
||||||
12(gl_ViewIndex): 11(ptr) Variable UniformConstant
|
12(gl_ViewIndex): 11(ptr) Variable Input
|
||||||
15: 6(float) Constant 0
|
15: 6(float) Constant 0
|
||||||
4(main): 2 Function None 3
|
4(main): 2 Function None 3
|
||||||
5: Label
|
5: Label
|
||||||
|
@ -24,6 +24,8 @@ buffer outs {
|
|||||||
vec4 va[];
|
vec4 va[];
|
||||||
} outnames;
|
} outnames;
|
||||||
|
|
||||||
|
#extension GL_EXT_device_group : enable
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
barrier();
|
barrier();
|
||||||
@ -34,4 +36,5 @@ void main()
|
|||||||
outbname.uns[i] = vec3(s);
|
outbname.uns[i] = vec3(s);
|
||||||
outnames.va[gl_LocalInvocationID.x] = vec4(s);
|
outnames.va[gl_LocalInvocationID.x] = vec4(s);
|
||||||
outnames.s = outbname.uns.length();
|
outnames.s = outbname.uns.length();
|
||||||
|
gl_DeviceIndex;
|
||||||
}
|
}
|
||||||
|
@ -328,6 +328,10 @@ __inline const char* GetBuiltInVariableString(TBuiltInVariable v)
|
|||||||
case EbvBaryCoordSmoothSample: return "BaryCoordSmoothSample";
|
case EbvBaryCoordSmoothSample: return "BaryCoordSmoothSample";
|
||||||
case EbvBaryCoordPullModel: return "BaryCoordPullModel";
|
case EbvBaryCoordPullModel: return "BaryCoordPullModel";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
case EbvViewIndex: return "ViewIndex";
|
||||||
|
case EbvDeviceIndex: return "DeviceIndex";
|
||||||
|
|
||||||
#ifdef NV_EXTENSIONS
|
#ifdef NV_EXTENSIONS
|
||||||
case EbvViewportMaskNV: return "ViewportMaskNV";
|
case EbvViewportMaskNV: return "ViewportMaskNV";
|
||||||
case EbvSecondaryPositionNV: return "SecondaryPositionNV";
|
case EbvSecondaryPositionNV: return "SecondaryPositionNV";
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
// For the version, it uses the latest git tag followed by the number of commits.
|
// For the version, it uses the latest git tag followed by the number of commits.
|
||||||
// For the date, it uses the current date (when then script is run).
|
// For the date, it uses the current date (when then script is run).
|
||||||
|
|
||||||
#define GLSLANG_REVISION "Overload400-PrecQual.1908"
|
#define GLSLANG_REVISION "Overload400-PrecQual.1909"
|
||||||
#define GLSLANG_DATE "14-Mar-2017"
|
#define GLSLANG_DATE "14-Mar-2017"
|
||||||
|
@ -3125,6 +3125,13 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||||||
"\n");
|
"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
stageBuiltins[EShLangCompute].append(
|
||||||
|
"in highp int gl_DeviceIndex;" // GL_EXT_device_group
|
||||||
|
"\n");
|
||||||
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// Define the interface to the vertex shader.
|
// Define the interface to the vertex shader.
|
||||||
@ -3290,6 +3297,15 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
stageBuiltins[EShLangVertex].append(
|
||||||
|
"in highp int gl_DeviceIndex;" // GL_EXT_device_group
|
||||||
|
"in highp int gl_ViewIndex;" // GL_EXT_multiview
|
||||||
|
"\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// Define the interface to the geometry shader.
|
// Define the interface to the geometry shader.
|
||||||
@ -3398,6 +3414,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
stageBuiltins[EShLangGeometry].append(
|
||||||
|
"in highp int gl_DeviceIndex;" // GL_EXT_device_group
|
||||||
|
"in highp int gl_ViewIndex;" // GL_EXT_multiview
|
||||||
|
"\n");
|
||||||
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// Define the interface to the tessellation control shader.
|
// Define the interface to the tessellation control shader.
|
||||||
@ -3469,6 +3493,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||||||
"\n");
|
"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
stageBuiltins[EShLangTessControl].append(
|
||||||
|
"in highp int gl_DeviceIndex;" // GL_EXT_device_group
|
||||||
|
"in highp int gl_ViewIndex;" // GL_EXT_multiview
|
||||||
|
"\n");
|
||||||
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// Define the interface to the tessellation evaluation shader.
|
// Define the interface to the tessellation evaluation shader.
|
||||||
@ -3544,6 +3576,14 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||||||
"\n");
|
"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
stageBuiltins[EShLangTessEvaluation].append(
|
||||||
|
"in highp int gl_DeviceIndex;" // GL_EXT_device_group
|
||||||
|
"in highp int gl_ViewIndex;" // GL_EXT_multiview
|
||||||
|
"\n");
|
||||||
|
}
|
||||||
|
|
||||||
//============================================================================
|
//============================================================================
|
||||||
//
|
//
|
||||||
// Define the interface to the fragment shader.
|
// Define the interface to the fragment shader.
|
||||||
@ -3701,9 +3741,12 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
|
|||||||
"\n");
|
"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile != EEsProfile) {
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
commonBuiltins.append("uniform int gl_ViewIndex;");
|
(profile == EEsProfile && version >= 310)) {
|
||||||
commonBuiltins.append("uniform int gl_DeviceIndex;"); // GL_EXT_device_group
|
stageBuiltins[EShLangFragment].append(
|
||||||
|
"flat in highp int gl_DeviceIndex;" // GL_EXT_device_group
|
||||||
|
"flat in highp int gl_ViewIndex;" // GL_EXT_multiview
|
||||||
|
"\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
// printf("%s\n", commonBuiltins.c_str());
|
// printf("%s\n", commonBuiltins.c_str());
|
||||||
@ -5120,6 +5163,14 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||||||
// symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size);
|
// symbolTable.setVariableExtensions("gl_PointSize", Num_AEP_tessellation_point_size, AEP_tessellation_point_size);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
|
||||||
|
BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
|
||||||
|
symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview);
|
||||||
|
BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EShLangFragment:
|
case EShLangFragment:
|
||||||
@ -5317,12 +5368,10 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||||||
symbolTable.setFunctionExtensions("imageAtomicCompSwap", 1, &E_GL_OES_shader_image_atomic);
|
symbolTable.setFunctionExtensions("imageAtomicCompSwap", 1, &E_GL_OES_shader_image_atomic);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile != EEsProfile) {
|
symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
|
||||||
symbolTable.setFunctionExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
|
BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
|
||||||
BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
|
symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview);
|
||||||
symbolTable.setFunctionExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview);
|
BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable);
|
||||||
BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable);
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EShLangCompute:
|
case EShLangCompute:
|
||||||
@ -5356,6 +5405,15 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, const SpvVersion
|
|||||||
symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_ARB_compute_shader);
|
symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_ARB_compute_shader);
|
||||||
symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_ARB_compute_shader);
|
symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_ARB_compute_shader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
symbolTable.setVariableExtensions("gl_DeviceIndex", 1, &E_GL_EXT_device_group);
|
||||||
|
BuiltInVariable("gl_DeviceIndex", EbvDeviceIndex, symbolTable);
|
||||||
|
symbolTable.setVariableExtensions("gl_ViewIndex", 1, &E_GL_EXT_multiview);
|
||||||
|
BuiltInVariable("gl_ViewIndex", EbvViewIndex, symbolTable);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -334,6 +334,14 @@ void TParseVersions::getPreamble(std::string& preamble)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((profile != EEsProfile && version >= 140) ||
|
||||||
|
(profile == EEsProfile && version >= 310)) {
|
||||||
|
preamble +=
|
||||||
|
"#define GL_EXT_device_group 1\n"
|
||||||
|
"#define GL_EXT_multiview 1\n"
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
// #line and #include
|
// #line and #include
|
||||||
preamble +=
|
preamble +=
|
||||||
"#define GL_GOOGLE_cpp_style_line_directive 1\n"
|
"#define GL_GOOGLE_cpp_style_line_directive 1\n"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user