Skip to content

Commit 02632fd

Browse files
Fixed few HLSL->GLSL conversion issues on MacOS
1 parent 2d24580 commit 02632fd

File tree

6 files changed

+133
-49
lines changed

6 files changed

+133
-49
lines changed

Graphics/GraphicsEngineOpenGL/src/GLContextMacOS.mm

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@
3030
#include "GLTypeConversions.h"
3131
#include "EngineGLAttribs.h"
3232

33+
static void glDrawArraysInstancedBaseInstance_stub(GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance)
34+
{
35+
LOG_ERROR_MESSAGE_ONCE("glDrawArraysInstancedBaseInstance is not supported on MacOS");
36+
}
37+
38+
static void glDrawElementsInstancedBaseInstance_stub(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance)
39+
{
40+
LOG_ERROR_MESSAGE_ONCE("glDrawElementsInstancedBaseInstance is not supported on MacOS");
41+
}
42+
43+
static void glDrawElementsInstancedBaseVertexBaseInstance_stub(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance)
44+
{
45+
LOG_ERROR_MESSAGE_ONCE("glDrawElementsInstancedBaseVertexBaseInstance is not supported on MacOS");
46+
}
47+
48+
3349
namespace Diligent
3450
{
3551
GLContext::GLContext( const EngineGLAttribs &InitAttribs, DeviceCaps &DeviceCaps )
@@ -44,7 +60,13 @@
4460
GLenum err = glewInit();
4561
if( GLEW_OK != err )
4662
LOG_ERROR_AND_THROW( "Failed to initialize GLEW" );
47-
63+
if(glDrawArraysInstancedBaseInstance == nullptr)
64+
glDrawArraysInstancedBaseInstance = glDrawArraysInstancedBaseInstance_stub;
65+
if(glDrawElementsInstancedBaseInstance == nullptr)
66+
glDrawElementsInstancedBaseInstance = glDrawElementsInstancedBaseInstance_stub;
67+
if(glDrawElementsInstancedBaseVertexBaseInstance == nullptr)
68+
glDrawElementsInstancedBaseVertexBaseInstance = glDrawElementsInstancedBaseVertexBaseInstance_stub;
69+
4870
//Checking GL version
4971
const GLubyte *GLVersionString = glGetString( GL_VERSION );
5072
const GLubyte *GLRenderer = glGetString(GL_RENDERER);

Graphics/HLSL2GLSLConverterLib/include/GLSLDefinitions.h

Lines changed: 47 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,8 @@ uvec4 f32tof16( vec4 f4 )
202202
}
203203
#endif
204204

205-
#ifndef GL_ES // double is not supported on GLES
206-
double asdouble(uint lowbits, uint highbits)
207-
{
208-
return packDouble2x32( uvec2( lowbits, highbits ) );
209-
}
210-
#endif
211-
205+
// Use #define as double is not supported on GLES
206+
#define asdouble(lowbits, highbits) packDouble2x32( uvec2( lowbits, highbits ) )
212207

213208
// Floating point functions
214209

@@ -532,15 +527,50 @@ void _TypeConvertStore( out int Dst, in int Src ){ Dst = int( Src ); }
532527
void _TypeConvertStore( out int Dst, in uint Src ){ Dst = int( Src ); }
533528
void _TypeConvertStore( out int Dst, in float Src ){ Dst = int( Src ); }
534529

535-
int _ToInt( int x ) { return int(x); }
536-
int _ToInt( uint x ) { return int(x); }
537-
int _ToInt( float x ){ return int(x); }
538-
int _ToInt( bool x ) { return x ? 1 : 0; }
530+
531+
int _ToInt( int x ) { return int(x); }
532+
int _ToInt( ivec2 v ) { return int(v.x); }
533+
int _ToInt( ivec3 v ) { return int(v.x); }
534+
int _ToInt( ivec4 v ) { return int(v.x); }
535+
536+
int _ToInt( uint x ) { return int(x); }
537+
int _ToInt( uvec2 v ) { return int(v.x); }
538+
int _ToInt( uvec3 v ) { return int(v.x); }
539+
int _ToInt( uvec4 v ) { return int(v.x); }
540+
541+
int _ToInt( float x ) { return int(x); }
542+
int _ToInt( vec2 v ) { return int(v.x); }
543+
int _ToInt( vec3 v ) { return int(v.x); }
544+
int _ToInt( vec4 v ) { return int(v.x); }
545+
546+
int _ToInt( bool x ) { return x ? 1 : 0;}
547+
int _ToInt( bvec2 v ) { return v.x ? 1 : 0;}
548+
int _ToInt( bvec3 v ) { return v.x ? 1 : 0;}
549+
int _ToInt( bvec4 v ) { return v.x ? 1 : 0;}
550+
551+
539552

540553
float _ToFloat( int x ) { return float(x); }
554+
float _ToFloat( ivec2 v ){ return float(v.x); }
555+
float _ToFloat( ivec3 v ){ return float(v.x); }
556+
float _ToFloat( ivec4 v ){ return float(v.x); }
557+
541558
float _ToFloat( uint x ) { return float(x); }
559+
float _ToFloat( uvec2 v ){ return float(v.x); }
560+
float _ToFloat( uvec3 v ){ return float(v.x); }
561+
float _ToFloat( uvec4 v ){ return float(v.x); }
562+
542563
float _ToFloat( float x ){ return float(x); }
543-
float _ToFloat( bool x ) { return x ? 1.0 : 0.0;}
564+
float _ToFloat( vec2 v ) { return float(v.x); }
565+
float _ToFloat( vec3 v ) { return float(v.x); }
566+
float _ToFloat( vec4 v ) { return float(v.x); }
567+
568+
float _ToFloat( bool x ) { return x ? 1.0 : 0.0;}
569+
float _ToFloat( bvec2 v ){ return v.x ? 1.0 : 0.0;}
570+
float _ToFloat( bvec3 v ){ return v.x ? 1.0 : 0.0;}
571+
float _ToFloat( bvec4 v ){ return v.x ? 1.0 : 0.0;}
572+
573+
544574

545575
uint _ToUint( int x ) { return uint(x); }
546576
uint _ToUint( uint x ) { return uint(x); }
@@ -796,15 +826,15 @@ uvec4 _ToUvec( vec4 f4 ){ return _ToUvec4( f4.x, f4.y, f4.z, f4.w ); }
796826
// in the second to last component of Coords. (The second component of Coords is unused for 1D shadow lookups.)
797827
// For cube array textures, Dsub is specified as a separate parameter
798828
// mip
799-
#define SampleCmpLevel0Tex1D_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3((Coords).x, 0.0, CompareValue), 0.0)
829+
#define SampleCmpLevel0Tex1D_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0)
800830
#define SampleCmpLevel0Tex1DArr_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)
801831
#define SampleCmpLevel0Tex2D_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)
802832
#define SampleCmpLevel0Tex2DArr_3(Tex, Sampler, Coords, CompareValue) 0.0 // No textureLod for sampler2DArrayShadow
803833
#define SampleCmpLevel0TexCube_3(Tex, Sampler, Coords, CompareValue) 0.0 // No textureLod for samplerCubeShadow
804834
#define SampleCmpLevel0TexCubeArr_3(Tex, Sampler, Coords, CompareValue) 0.0 // No textureLod for samplerCubeArrayShadow
805835

806836
// mip
807-
#define SampleCmpLevel0Tex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3((Coords).x, 0.0, CompareValue), 0.0, int(Offset))
837+
#define SampleCmpLevel0Tex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0, int(Offset))
808838
#define SampleCmpLevel0Tex1DArr_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, int(Offset))
809839
#define SampleCmpLevel0Tex2D_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, ivec2((Offset).xy))
810840
#define SampleCmpLevel0Tex2DArr_4(Tex, Sampler, Coords, CompareValue, Offset) 0.0 // No textureLodOffset for sampler2DArrayShadow
@@ -818,14 +848,14 @@ uvec4 _ToUvec( vec4 f4 ){ return _ToUvec4( f4.x, f4.y, f4.z, f4.w ); }
818848
# define SampleBias_3(Tex, Sampler, Coords, Bias) texture (Tex, _ToVec(Coords), _ToFloat(Bias))
819849
# define SampleBias_4(Tex, Sampler, Coords, Bias, Offset) textureOffset(Tex, _ToVec(Coords), Offset, _ToFloat(Bias))
820850

821-
# define SampleCmpTex1D_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3((Coords).x, 0.0, CompareValue))
851+
# define SampleCmpTex1D_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3( Coords, 0.0, CompareValue))
822852
# define SampleCmpTex1DArr_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue))
823853
# define SampleCmpTex2D_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue))
824854
# define SampleCmpTex2DArr_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, CompareValue))
825855
# define SampleCmpTexCube_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, CompareValue))
826856
# define SampleCmpTexCubeArr_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, (Coords).w), _ToFloat(CompareValue))
827857

828-
# define SampleCmpTex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3((Coords).x, 0.0, CompareValue), int(Offset))
858+
# define SampleCmpTex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3( Coords, 0.0, CompareValue), int(Offset))
829859
# define SampleCmpTex1DArr_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), int(Offset))
830860
# define SampleCmpTex2D_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), ivec2((Offset).xy))
831861
# define SampleCmpTex2DArr_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, CompareValue), ivec2((Offset).xy))
@@ -886,7 +916,7 @@ uvec4 _ToUvec( vec4 f4 ){ return _ToUvec4( f4.x, f4.y, f4.z, f4.w ); }
886916
#define LoadTex2DMSArr_3(Tex, Location, Sample, Offset)texelFetch(Tex, _ToIvec3( (Location).x + (Offset).x, (Location).y + (Offset).y, (Location).z), int(Sample)) // No texelFetchOffset for texture2DMSArray
887917

888918
//https://www.opengl.org/sdk/docs/man/html/imageLoad.xhtml
889-
#define LoadRWTex1D_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).x) )
919+
#define LoadRWTex1D_1(Tex, Location) imageLoad(Tex, _ToInt(Location) )
890920
#define LoadRWTex1DArr_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).xy) )
891921
#define LoadRWTex2D_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).xy) )
892922
#define LoadRWTex2DArr_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).xyz) )

Graphics/HLSL2GLSLConverterLib/include/GLSLDefinitions_inc.h

Lines changed: 47 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -202,13 +202,8 @@
202202
"}\n"
203203
"#endif\n"
204204
"\n"
205-
"#ifndef GL_ES // double is not supported on GLES\n"
206-
"double asdouble(uint lowbits, uint highbits)\n"
207-
"{\n"
208-
" return packDouble2x32( uvec2( lowbits, highbits ) );\n"
209-
"}\n"
210-
"#endif\n"
211-
"\n"
205+
"// Use #define as double is not supported on GLES\n"
206+
"#define asdouble(lowbits, highbits) packDouble2x32( uvec2( lowbits, highbits ) )\n"
212207
"\n"
213208
"// Floating point functions\n"
214209
"\n"
@@ -532,15 +527,50 @@
532527
"void _TypeConvertStore( out int Dst, in uint Src ){ Dst = int( Src ); }\n"
533528
"void _TypeConvertStore( out int Dst, in float Src ){ Dst = int( Src ); }\n"
534529
"\n"
535-
"int _ToInt( int x ) { return int(x); }\n"
536-
"int _ToInt( uint x ) { return int(x); }\n"
537-
"int _ToInt( float x ){ return int(x); }\n"
538-
"int _ToInt( bool x ) { return x ? 1 : 0; }\n"
530+
"\n"
531+
"int _ToInt( int x ) { return int(x); }\n"
532+
"int _ToInt( ivec2 v ) { return int(v.x); }\n"
533+
"int _ToInt( ivec3 v ) { return int(v.x); }\n"
534+
"int _ToInt( ivec4 v ) { return int(v.x); }\n"
535+
"\n"
536+
"int _ToInt( uint x ) { return int(x); }\n"
537+
"int _ToInt( uvec2 v ) { return int(v.x); }\n"
538+
"int _ToInt( uvec3 v ) { return int(v.x); }\n"
539+
"int _ToInt( uvec4 v ) { return int(v.x); }\n"
540+
"\n"
541+
"int _ToInt( float x ) { return int(x); }\n"
542+
"int _ToInt( vec2 v ) { return int(v.x); }\n"
543+
"int _ToInt( vec3 v ) { return int(v.x); }\n"
544+
"int _ToInt( vec4 v ) { return int(v.x); }\n"
545+
"\n"
546+
"int _ToInt( bool x ) { return x ? 1 : 0;}\n"
547+
"int _ToInt( bvec2 v ) { return v.x ? 1 : 0;}\n"
548+
"int _ToInt( bvec3 v ) { return v.x ? 1 : 0;}\n"
549+
"int _ToInt( bvec4 v ) { return v.x ? 1 : 0;}\n"
550+
"\n"
551+
"\n"
539552
"\n"
540553
"float _ToFloat( int x ) { return float(x); }\n"
554+
"float _ToFloat( ivec2 v ){ return float(v.x); }\n"
555+
"float _ToFloat( ivec3 v ){ return float(v.x); }\n"
556+
"float _ToFloat( ivec4 v ){ return float(v.x); }\n"
557+
"\n"
541558
"float _ToFloat( uint x ) { return float(x); }\n"
559+
"float _ToFloat( uvec2 v ){ return float(v.x); }\n"
560+
"float _ToFloat( uvec3 v ){ return float(v.x); }\n"
561+
"float _ToFloat( uvec4 v ){ return float(v.x); }\n"
562+
"\n"
542563
"float _ToFloat( float x ){ return float(x); }\n"
543-
"float _ToFloat( bool x ) { return x ? 1.0 : 0.0;}\n"
564+
"float _ToFloat( vec2 v ) { return float(v.x); }\n"
565+
"float _ToFloat( vec3 v ) { return float(v.x); }\n"
566+
"float _ToFloat( vec4 v ) { return float(v.x); }\n"
567+
"\n"
568+
"float _ToFloat( bool x ) { return x ? 1.0 : 0.0;}\n"
569+
"float _ToFloat( bvec2 v ){ return v.x ? 1.0 : 0.0;}\n"
570+
"float _ToFloat( bvec3 v ){ return v.x ? 1.0 : 0.0;}\n"
571+
"float _ToFloat( bvec4 v ){ return v.x ? 1.0 : 0.0;}\n"
572+
"\n"
573+
"\n"
544574
"\n"
545575
"uint _ToUint( int x ) { return uint(x); }\n"
546576
"uint _ToUint( uint x ) { return uint(x); }\n"
@@ -796,15 +826,15 @@
796826
"// in the second to last component of Coords. (The second component of Coords is unused for 1D shadow lookups.)\n"
797827
"// For cube array textures, Dsub is specified as a separate parameter\n"
798828
"// mip\n"
799-
"#define SampleCmpLevel0Tex1D_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3((Coords).x, 0.0, CompareValue), 0.0)\n"
829+
"#define SampleCmpLevel0Tex1D_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0)\n"
800830
"#define SampleCmpLevel0Tex1DArr_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)\n"
801831
"#define SampleCmpLevel0Tex2D_3(Tex, Sampler, Coords, CompareValue) textureLod(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0)\n"
802832
"#define SampleCmpLevel0Tex2DArr_3(Tex, Sampler, Coords, CompareValue) 0.0 // No textureLod for sampler2DArrayShadow\n"
803833
"#define SampleCmpLevel0TexCube_3(Tex, Sampler, Coords, CompareValue) 0.0 // No textureLod for samplerCubeShadow\n"
804834
"#define SampleCmpLevel0TexCubeArr_3(Tex, Sampler, Coords, CompareValue) 0.0 // No textureLod for samplerCubeArrayShadow\n"
805835
"\n"
806836
"// mip\n"
807-
"#define SampleCmpLevel0Tex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3((Coords).x, 0.0, CompareValue), 0.0, int(Offset))\n"
837+
"#define SampleCmpLevel0Tex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3( Coords, 0.0, CompareValue), 0.0, int(Offset))\n"
808838
"#define SampleCmpLevel0Tex1DArr_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, int(Offset))\n"
809839
"#define SampleCmpLevel0Tex2D_4(Tex, Sampler, Coords, CompareValue, Offset) textureLodOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), 0.0, ivec2((Offset).xy))\n"
810840
"#define SampleCmpLevel0Tex2DArr_4(Tex, Sampler, Coords, CompareValue, Offset) 0.0 // No textureLodOffset for sampler2DArrayShadow\n"
@@ -818,14 +848,14 @@
818848
"# define SampleBias_3(Tex, Sampler, Coords, Bias) texture (Tex, _ToVec(Coords), _ToFloat(Bias))\n"
819849
"# define SampleBias_4(Tex, Sampler, Coords, Bias, Offset) textureOffset(Tex, _ToVec(Coords), Offset, _ToFloat(Bias))\n"
820850
"\n"
821-
"# define SampleCmpTex1D_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3((Coords).x, 0.0, CompareValue))\n"
851+
"# define SampleCmpTex1D_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3( Coords, 0.0, CompareValue))\n"
822852
"# define SampleCmpTex1DArr_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue))\n"
823853
"# define SampleCmpTex2D_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue))\n"
824854
"# define SampleCmpTex2DArr_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, CompareValue))\n"
825855
"# define SampleCmpTexCube_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, CompareValue))\n"
826856
"# define SampleCmpTexCubeArr_3(Tex, Sampler, Coords, CompareValue) texture(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, (Coords).w), _ToFloat(CompareValue))\n"
827857
"\n"
828-
"# define SampleCmpTex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3((Coords).x, 0.0, CompareValue), int(Offset))\n"
858+
"# define SampleCmpTex1D_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3( Coords, 0.0, CompareValue), int(Offset))\n"
829859
"# define SampleCmpTex1DArr_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), int(Offset))\n"
830860
"# define SampleCmpTex2D_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec3((Coords).x, (Coords).y, CompareValue), ivec2((Offset).xy))\n"
831861
"# define SampleCmpTex2DArr_4(Tex, Sampler, Coords, CompareValue, Offset) textureOffset(Tex, _ToVec4((Coords).x, (Coords).y, (Coords).z, CompareValue), ivec2((Offset).xy))\n"
@@ -886,7 +916,7 @@
886916
"#define LoadTex2DMSArr_3(Tex, Location, Sample, Offset)texelFetch(Tex, _ToIvec3( (Location).x + (Offset).x, (Location).y + (Offset).y, (Location).z), int(Sample)) // No texelFetchOffset for texture2DMSArray\n"
887917
"\n"
888918
"//https://www.opengl.org/sdk/docs/man/html/imageLoad.xhtml\n"
889-
"#define LoadRWTex1D_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).x) )\n"
919+
"#define LoadRWTex1D_1(Tex, Location) imageLoad(Tex, _ToInt(Location) )\n"
890920
"#define LoadRWTex1DArr_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).xy) )\n"
891921
"#define LoadRWTex2D_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).xy) )\n"
892922
"#define LoadRWTex2DArr_1(Tex, Location) imageLoad(Tex, _ToIvec((Location).xyz) )\n"

Graphics/HLSL2GLSLConverterLib/include/HLSL2GLSLConverterImpl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ namespace Diligent
328328
};
329329
void ParseShaderParameter(TokenListType::iterator &Token, ShaderParameterInfo &ParamInfo);
330330
void ProcessFunctionParameters( TokenListType::iterator &Token, std::vector<ShaderParameterInfo>& Params, bool &bIsVoid );
331-
String AddFlatQualifier(const String& Type);
331+
bool RequiresFlatQualifier(const String& Type);
332332
void ProcessFragmentShaderArguments( std::vector<ShaderParameterInfo>& Params,
333333
String &GlobalVariables,
334334
std::stringstream &ReturnHandlerSS,
@@ -538,4 +538,4 @@ namespace Diligent
538538

539539

540540
// * Input variables to a shader stage must be listed in exact same order as outputs from
541-
// the previous stage. Function return value counts as the first output argument.
541+
// the previous stage. Function return value counts as the first output argument.

0 commit comments

Comments
 (0)