Support compute shaders for OpenGLES 3.1 by injecting a proper version. (#3224)

This commit is contained in:
Dmitry Shevchik 2023-12-16 20:21:04 +03:00 committed by GitHub
parent 1c73c1a64a
commit a0057adaaa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 3 deletions

View File

@ -6835,9 +6835,22 @@ namespace bgfx { namespace gl
char* temp = (char*)alloca(tempLen);
bx::StaticMemoryBlockWriter writer(temp, tempLen);
int32_t verLen = 0;
if (s_renderGL->m_gles3)
{
const char* str = "#version 310 es\n";
verLen = bx::strLen(str);
bx::write(&writer, &err, str);
}
else
{
const char* str = "#version 430\n";
verLen = bx::strLen(str);
bx::write(&writer, &err, str);
}
bx::write(&writer
, "#version 430\n"
"#define texture2DLod textureLod\n"
, "#define texture2DLod textureLod\n"
"#define texture2DLodOffset textureLodOffset\n"
"#define texture2DArrayLod textureLod\n"
"#define texture2DArrayLodOffset textureLodOffset\n"
@ -6849,7 +6862,6 @@ namespace bgfx { namespace gl
, &err
);
int32_t verLen = bx::strLen("#version 430\n");
bx::write(&writer, code.getPtr()+verLen, codeLen-verLen, &err);
bx::write(&writer, '\0', &err);