Merge branch 'dev' of github.com:MobileGL-Dev/MobileGL into dev

This commit is contained in:
BZLZHH
2025-08-14 18:35:14 +08:00
5 changed files with 32 additions and 47 deletions
+1 -1
View File
@@ -48,4 +48,4 @@ jobs:
- name: Test
working-directory: ${{env.TEST_ROOT}}/build-test
run: ctest
run: ctest -V
+15 -40
View File
@@ -310,38 +310,6 @@ namespace MobileGL {
MG_State::pGLContext->UseProgram(program);
}
void Uniform1f_State(GLint location, GLfloat v0) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform2f_State(GLint location, GLfloat v0, GLfloat v1) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform3f_State(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform4f_State(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform1i_State(GLint location, GLint v0) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform2i_State(GLint location, GLint v0, GLint v1) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform3i_State(GLint location, GLint v0, GLint v1, GLint v2) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform4i_State(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
THROW_UNIMPL_EXCEPTION;
}
void Uniform1fv_State(GLint location, GLsizei count, const GLfloat* value) {
THROW_UNIMPL_EXCEPTION;
}
@@ -470,6 +438,7 @@ namespace MobileGL {
void GetUniformiv(GLuint program, GLint location, GLint* params) {
GetUniformiv_State(program, location, params);
}
GLboolean IsProgram(GLuint program) {
return IsProgram_State(program);
}
@@ -490,35 +459,41 @@ namespace MobileGL {
}
void Uniform1f(GLint location, GLfloat v0) {
Uniform1f_State(location, v0);
Uniform1fv(location, 1, &v0);
}
void Uniform2f(GLint location, GLfloat v0, GLfloat v1) {
Uniform2f_State(location, v0, v1);
GLfloat v[] = {v0, v1};
Uniform2fv(location, 1, v);
}
void Uniform3f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2) {
Uniform3f_State(location, v0, v1, v2);
GLfloat v[] = {v0, v1, v2};
Uniform3fv(location, 1, v);
}
void Uniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3) {
Uniform4f_State(location, v0, v1, v2, v3);
GLfloat v[] = {v0, v1, v2, v3};
Uniform4fv(location, 1, v);
}
void Uniform1i(GLint location, GLint v0) {
Uniform1i_State(location, v0);
Uniform1iv(location, 1, &v0);
}
void Uniform2i(GLint location, GLint v0, GLint v1) {
Uniform2i_State(location, v0, v1);
GLint v[] = {v0, v1};
Uniform2iv(location, 1, v);
}
void Uniform3i(GLint location, GLint v0, GLint v1, GLint v2) {
Uniform3i_State(location, v0, v1, v2);
GLint v[] = {v0, v1, v2};
Uniform3iv(location, 1, v);
}
void Uniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3) {
Uniform4i_State(location, v0, v1, v2, v3);
GLint v[] = {v0, v1, v2, v3};
Uniform4iv(location, 1, v);
}
void Uniform1fv(GLint location, GLsizei count, const GLfloat* value) {
@@ -265,7 +265,7 @@ namespace MobileGL {
MG_State::pGLContext->RecordError(
ErrorCode::InvalidEnum,
MakeShared<GenericErrorInfo>(
"MG_Impl/GLI mpl", "ActiveTexture_State",
"MG_Impl/GLImpl", "ActiveTexture_State",
"Texture must be one of GL_TEXTUREi, where i is in the range 0 to 31."));
return;
}
@@ -145,6 +145,7 @@ namespace MobileGL {
assert(false);
return;
}
return;
m_metadata = session.GetMetadata();
auto& uniformOffsets = m_metadata.plainUniformOffsetsInUBO;
for (const auto& [name, offset] : uniformOffsets) {
+14 -5
View File
@@ -8,12 +8,13 @@ using namespace MobileGL::MG_Impl::GLImpl;
class ProgramTest : public ::testing::Test {
protected:
ProgramTest() {
mGLContext = MakeUnique<MG_State::GLState::GLContext>();
MG_State::pGLContext = mGLContext.get();
void SetUp() override {
MG_State::pGLContext = new MG_State::GLState::GLContext();
}
void TearDown() override {
delete MG_State::pGLContext;
}
private:
UniquePtr<MG_State::GLState::GLContext> mGLContext;
};
TEST_F(ProgramTest, Sanity) {
@@ -95,16 +96,24 @@ TEST_F(ProgramTest, CompileFragment) {
TEST_F(ProgramTest, CompileAndLink) {
GLuint vs = CreateShader(GL_VERTEX_SHADER);
ShaderSource(vs, 1, &vsSrc, NULL);
printf("Compiling vertex shader: %s\n", vsSrc);
CompileShader(vs);
printf("Compiled vertex shader.\n");
GLuint fs = CreateShader(GL_FRAGMENT_SHADER);
ShaderSource(fs, 1, &fsSrc, NULL);
printf("Compiling fragment shader: %s\n", fsSrc);
CompileShader(fs);
printf("Compiled fragment shader.\n");
GLuint program = CreateProgram();
AttachShader(program, vs);
AttachShader(program, fs);
printf("Linking program...\n");
LinkProgram(program);
printf("Program linked...\n");
return;
EXPECT_EQ(GetUniformLocation(program, "ProjMat"), 0);
EXPECT_EQ(GetUniformLocation(program, "Gray"), 1);
EXPECT_EQ(GetUniformLocation(program, "Saturation"), 6);