gl_engine: --compiler warning on emsdk.

warning: variable length arrays in C++ are a Clang extension [-Wvla-cxx-extension]
This commit is contained in:
Hermet Park 2025-05-08 15:05:13 +09:00
parent ec26784266
commit 457b019ab4
2 changed files with 14 additions and 10 deletions

View file

@ -98,16 +98,14 @@ void GlRenderer::initShaders()
{
mPrograms.reserve((int)RT_None);
#define COMMON_TOTAL_LENGTH strlen(STR_GRADIENT_FRAG_COMMON_VARIABLES) + \
strlen(STR_GRADIENT_FRAG_COMMON_FUNCTIONS)
#define LINEAR_TOTAL_LENGTH strlen(STR_LINEAR_GRADIENT_VARIABLES) + \
strlen(STR_LINEAR_GRADIENT_MAIN) + \
COMMON_TOTAL_LENGTH + 1
#define RADIAL_TOTAL_LENGTH strlen(STR_RADIAL_GRADIENT_VARIABLES) + \
strlen(STR_RADIAL_GRADIENT_MAIN) + \
COMMON_TOTAL_LENGTH + 1
#if 1 //for optimization
#define LINEAR_TOTAL_LENGTH 2770
#define RADIAL_TOTAL_LENGTH 5272
#else
#define COMMON_TOTAL_LENGTH strlen(STR_GRADIENT_FRAG_COMMON_VARIABLES) + strlen(STR_GRADIENT_FRAG_COMMON_FUNCTIONS) + 1
#define LINEAR_TOTAL_LENGTH strlen(STR_LINEAR_GRADIENT_VARIABLES) + strlen(STR_LINEAR_GRADIENT_MAIN) + COMMON_TOTAL_LENGTH
#define RADIAL_TOTAL_LENGTH strlen(STR_RADIAL_GRADIENT_VARIABLES) + strlen(STR_RADIAL_GRADIENT_MAIN) + COMMON_TOTAL_LENGTH
#endif
char linearGradientFragShader[LINEAR_TOTAL_LENGTH];
snprintf(linearGradientFragShader, LINEAR_TOTAL_LENGTH, "%s%s%s%s",

View file

@ -74,11 +74,13 @@ const char* GRADIENT_VERT_SHADER = TVG_COMPOSE_SHADER(
);
//See: GlRenderer::initShaders()
const char* STR_GRADIENT_FRAG_COMMON_VARIABLES = TVG_COMPOSE_SHADER(
const int MAX_STOP_COUNT = 16; \n
in vec2 vPos; \n
);
//See: GlRenderer::initShaders()
const char* STR_GRADIENT_FRAG_COMMON_FUNCTIONS = TVG_COMPOSE_SHADER(
float gradientStep(float edge0, float edge1, float x) \n
{ \n
@ -169,6 +171,7 @@ const char* STR_GRADIENT_FRAG_COMMON_FUNCTIONS = TVG_COMPOSE_SHADER(
} \n
);
//See: GlRenderer::initShaders()
const char* STR_LINEAR_GRADIENT_VARIABLES = TVG_COMPOSE_SHADER(
layout(std140) uniform GradientInfo { \n
vec4 nStops; \n
@ -179,6 +182,7 @@ const char* STR_LINEAR_GRADIENT_VARIABLES = TVG_COMPOSE_SHADER(
} uGradientInfo; \n
);
//See: GlRenderer::initShaders()
const char* STR_LINEAR_GRADIENT_MAIN = TVG_COMPOSE_SHADER(
out vec4 FragColor; \n
void main() \n
@ -194,6 +198,7 @@ const char* STR_LINEAR_GRADIENT_MAIN = TVG_COMPOSE_SHADER(
} \n
);
//See: GlRenderer::initShaders()
const char* STR_RADIAL_GRADIENT_VARIABLES = TVG_COMPOSE_SHADER(
layout(std140) uniform GradientInfo { \n
vec4 nStops; \n
@ -204,6 +209,7 @@ const char* STR_RADIAL_GRADIENT_VARIABLES = TVG_COMPOSE_SHADER(
} uGradientInfo ; \n
);
//See: GlRenderer::initShaders()
const char* STR_RADIAL_GRADIENT_MAIN = TVG_COMPOSE_SHADER(
out vec4 FragColor; \n
\n