Skip to content

Commit 580f095

Browse files
authored
Merge pull request #72 from Over-Run/bugfix
2 parents 88fcefb + 229cbd0 commit 580f095

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

generators/opengl/src/main/kotlin/overrungl/opengl/OpenGLGenerator.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,13 +170,13 @@ fun featureCustomCode(number: String): String? {
170170
public int GetProgramiv(@CType("GLuint") int program, @CType("GLenum") int pname) { ${useStack("var p = __stack.ints(0); GetProgramiv(program, pname, p); return p.${GLDataType.INTEGER.segmentGet};")} }
171171
public String GetProgramInfoLog(@CType("GLuint") int program) { ${
172172
useStack(
173-
"int sz = GetProgramiv(program, GL_INFO_LOG_LENGTH); var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetProgramInfoLog(program, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalStringPointer(p);"
173+
"int sz = GetProgramiv(program, GL_INFO_LOG_LENGTH); if (sz == 0) return null; var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetProgramInfoLog(program, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalAsString(p);"
174174
)
175175
} }
176176
public int GetShaderiv(@CType("GLuint") int shader, @CType("GLenum") int pname) { ${useStack("var p = __stack.ints(0); GetShaderiv(shader, pname, p); return p.${GLDataType.INTEGER.segmentGet};")} }
177177
public String GetShaderInfoLog(@CType("GLuint") int shader) { ${
178178
useStack(
179-
"int sz = GetShaderiv(shader, GL_INFO_LOG_LENGTH); var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetShaderInfoLog(shader, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalStringPointer(p);"
179+
"int sz = GetShaderiv(shader, GL_INFO_LOG_LENGTH); if (sz == 0) return null; var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetShaderInfoLog(shader, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalAsString(p);"
180180
)
181181
} }
182182
public int GetUniformLocation(@CType("GLuint") int program, @CType("const GLchar *") String name) { ${

modules/overrungl.opengl/src/main/java/overrungl/opengl/GL20.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -950,9 +950,9 @@ public void VertexAttribPointer(@CType("GLuint") int index, @CType("GLint") int
950950
public void BindAttribLocation(@CType("GLuint") int program, @CType("GLuint") int index, @CType("const GLchar *") String name) { try (var __stack = MemoryStack.pushLocal()) { BindAttribLocation(program, index, Marshal.marshal(__stack, name)); } }
951951
public int GetAttribLocation(@CType("GLuint") int program, @CType("const GLchar *") String name) { try (var __stack = MemoryStack.pushLocal()) { return GetAttribLocation(program, Marshal.marshal(__stack, name)); } }
952952
public int GetProgramiv(@CType("GLuint") int program, @CType("GLenum") int pname) { try (var __stack = MemoryStack.pushLocal()) { var p = __stack.ints(0); GetProgramiv(program, pname, p); return p.get(ValueLayout.JAVA_INT, 0); } }
953-
public String GetProgramInfoLog(@CType("GLuint") int program) { try (var __stack = MemoryStack.pushLocal()) { int sz = GetProgramiv(program, GL_INFO_LOG_LENGTH); var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetProgramInfoLog(program, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalStringPointer(p); } }
953+
public String GetProgramInfoLog(@CType("GLuint") int program) { try (var __stack = MemoryStack.pushLocal()) { int sz = GetProgramiv(program, GL_INFO_LOG_LENGTH); if (sz == 0) return null; var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetProgramInfoLog(program, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalAsString(p); } }
954954
public int GetShaderiv(@CType("GLuint") int shader, @CType("GLenum") int pname) { try (var __stack = MemoryStack.pushLocal()) { var p = __stack.ints(0); GetShaderiv(shader, pname, p); return p.get(ValueLayout.JAVA_INT, 0); } }
955-
public String GetShaderInfoLog(@CType("GLuint") int shader) { try (var __stack = MemoryStack.pushLocal()) { int sz = GetShaderiv(shader, GL_INFO_LOG_LENGTH); var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetShaderInfoLog(shader, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalStringPointer(p); } }
955+
public String GetShaderInfoLog(@CType("GLuint") int shader) { try (var __stack = MemoryStack.pushLocal()) { int sz = GetShaderiv(shader, GL_INFO_LOG_LENGTH); if (sz == 0) return null; var p = __stack.allocate(ValueLayout.JAVA_BYTE, sz); GetShaderInfoLog(shader, sz, MemorySegment.NULL, p); return Unmarshal.unmarshalAsString(p); } }
956956
public int GetUniformLocation(@CType("GLuint") int program, @CType("const GLchar *") String name) { try (var __stack = MemoryStack.pushLocal()) { return GetUniformLocation(program, Marshal.marshal(__stack, name)); } }
957957
public void ShaderSource(@CType("GLuint") int shader, String string) { try (var __stack = MemoryStack.pushLocal()) { ShaderSource(shader, 1, __stack.addresses(Marshal.marshal(__stack, string)), MemorySegment.NULL); } }
958958
}

0 commit comments

Comments
 (0)