mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-13 22:47:26 +01:00
internal/graphicsdriver/opengl/gl: bug fix: crash when log length is 0
This commit is contained in:
parent
dd63eef65e
commit
3547d999b1
@ -592,6 +592,9 @@ func (c *defaultContext) GetInteger(pname uint32) int {
|
|||||||
|
|
||||||
func (c *defaultContext) GetProgramInfoLog(program uint32) string {
|
func (c *defaultContext) GetProgramInfoLog(program uint32) string {
|
||||||
bufSize := c.GetProgrami(program, INFO_LOG_LENGTH)
|
bufSize := c.GetProgrami(program, INFO_LOG_LENGTH)
|
||||||
|
if bufSize == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
infoLog := make([]byte, bufSize)
|
infoLog := make([]byte, bufSize)
|
||||||
C.glowGetProgramInfoLog(c.gpGetProgramInfoLog, C.GLuint(program), C.GLsizei(bufSize), nil, (*C.GLchar)(unsafe.Pointer(&infoLog[0])))
|
C.glowGetProgramInfoLog(c.gpGetProgramInfoLog, C.GLuint(program), C.GLsizei(bufSize), nil, (*C.GLchar)(unsafe.Pointer(&infoLog[0])))
|
||||||
return string(infoLog)
|
return string(infoLog)
|
||||||
@ -605,6 +608,9 @@ func (c *defaultContext) GetProgrami(program uint32, pname uint32) int {
|
|||||||
|
|
||||||
func (c *defaultContext) GetShaderInfoLog(shader uint32) string {
|
func (c *defaultContext) GetShaderInfoLog(shader uint32) string {
|
||||||
bufSize := c.GetShaderi(shader, INFO_LOG_LENGTH)
|
bufSize := c.GetShaderi(shader, INFO_LOG_LENGTH)
|
||||||
|
if bufSize == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
infoLog := make([]byte, bufSize)
|
infoLog := make([]byte, bufSize)
|
||||||
C.glowGetShaderInfoLog(c.gpGetShaderInfoLog, C.GLuint(shader), C.GLsizei(bufSize), nil, (*C.GLchar)(unsafe.Pointer(&infoLog[0])))
|
C.glowGetShaderInfoLog(c.gpGetShaderInfoLog, C.GLuint(shader), C.GLsizei(bufSize), nil, (*C.GLchar)(unsafe.Pointer(&infoLog[0])))
|
||||||
return string(infoLog)
|
return string(infoLog)
|
||||||
|
@ -300,6 +300,9 @@ func (c *defaultContext) GetInteger(pname uint32) int {
|
|||||||
|
|
||||||
func (c *defaultContext) GetProgramInfoLog(program uint32) string {
|
func (c *defaultContext) GetProgramInfoLog(program uint32) string {
|
||||||
bufSize := c.GetProgrami(program, INFO_LOG_LENGTH)
|
bufSize := c.GetProgrami(program, INFO_LOG_LENGTH)
|
||||||
|
if bufSize == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
infoLog := make([]byte, bufSize)
|
infoLog := make([]byte, bufSize)
|
||||||
purego.SyscallN(c.gpGetProgramInfoLog, uintptr(program), uintptr(bufSize), 0, uintptr(unsafe.Pointer(&infoLog[0])))
|
purego.SyscallN(c.gpGetProgramInfoLog, uintptr(program), uintptr(bufSize), 0, uintptr(unsafe.Pointer(&infoLog[0])))
|
||||||
return string(infoLog)
|
return string(infoLog)
|
||||||
@ -313,6 +316,9 @@ func (c *defaultContext) GetProgrami(program uint32, pname uint32) int {
|
|||||||
|
|
||||||
func (c *defaultContext) GetShaderInfoLog(shader uint32) string {
|
func (c *defaultContext) GetShaderInfoLog(shader uint32) string {
|
||||||
bufSize := c.GetShaderi(shader, INFO_LOG_LENGTH)
|
bufSize := c.GetShaderi(shader, INFO_LOG_LENGTH)
|
||||||
|
if bufSize == 0 {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
infoLog := make([]byte, bufSize)
|
infoLog := make([]byte, bufSize)
|
||||||
purego.SyscallN(c.gpGetShaderInfoLog, uintptr(shader), uintptr(bufSize), 0, uintptr(unsafe.Pointer(&infoLog[0])))
|
purego.SyscallN(c.gpGetShaderInfoLog, uintptr(shader), uintptr(bufSize), 0, uintptr(unsafe.Pointer(&infoLog[0])))
|
||||||
return string(infoLog)
|
return string(infoLog)
|
||||||
|
Loading…
Reference in New Issue
Block a user