@ -618,19 +618,6 @@ private:
break ;
}
}
if ( stage ! = ShaderType : : Vertex | | device . HasVertexViewportLayer ( ) ) {
if ( ir . UsesLayer ( ) ) {
code . AddLine ( " int gl_Layer; " ) ;
}
if ( ir . UsesViewportIndex ( ) ) {
code . AddLine ( " int gl_ViewportIndex; " ) ;
}
} else if ( ( ir . UsesLayer ( ) | | ir . UsesViewportIndex ( ) ) & & stage = = ShaderType : : Vertex & &
! device . HasVertexViewportLayer ( ) ) {
LOG_ERROR (
Render_OpenGL ,
" GL_ARB_shader_viewport_layer_array is not available and its required by a shader " ) ;
}
if ( ir . UsesPointSize ( ) ) {
code . AddLine ( " float gl_PointSize; " ) ;
@ -647,6 +634,21 @@ private:
- - code . scope ;
code . AddLine ( " }}; " ) ;
code . AddNewLine ( ) ;
if ( stage ! = ShaderType : : Vertex | | device . HasVertexViewportLayer ( ) ) {
if ( ir . UsesLayer ( ) ) {
code . AddLine ( " out int gl_Layer; " ) ;
}
if ( ir . UsesViewportIndex ( ) ) {
code . AddLine ( " out int gl_ViewportIndex; " ) ;
}
} else if ( ( ir . UsesLayer ( ) | | ir . UsesViewportIndex ( ) ) & & stage = = ShaderType : : Vertex & &
! device . HasVertexViewportLayer ( ) ) {
LOG_ERROR (
Render_OpenGL ,
" GL_ARB_shader_viewport_layer_array is not available and its required by a shader " ) ;
}
code . AddNewLine ( ) ;
}
void DeclareRegisters ( ) {