Allow passing nil to LoadShader, issue #172

This commit is contained in:
Milan Nikolic 2022-03-23 14:03:16 +01:00
parent e4777d30ee
commit b144285481
No known key found for this signature in database
GPG key ID: 9229D0EAA3AA4E75

View file

@ -24,15 +24,17 @@ func LoadShader(vsFileName string, fsFileName string) Shader {
cfsFileName := C.CString(fsFileName) cfsFileName := C.CString(fsFileName)
defer C.free(unsafe.Pointer(cfsFileName)) defer C.free(unsafe.Pointer(cfsFileName))
var v Shader
if vsFileName == "" { if vsFileName == "" {
ret := C.LoadShader(nil, cfsFileName) cvsFileName = nil
v = newShaderFromPointer(unsafe.Pointer(&ret))
} else {
ret := C.LoadShader(cvsFileName, cfsFileName)
v = newShaderFromPointer(unsafe.Pointer(&ret))
} }
if fsFileName == "" {
cfsFileName = nil
}
ret := C.LoadShader(cvsFileName, cfsFileName)
v := newShaderFromPointer(unsafe.Pointer(&ret))
return v return v
} }
@ -44,6 +46,14 @@ func LoadShaderFromMemory(vsCode string, fsCode string) Shader {
cfsCode := C.CString(fsCode) cfsCode := C.CString(fsCode)
defer C.free(unsafe.Pointer(cfsCode)) defer C.free(unsafe.Pointer(cfsCode))
if vsCode == "" {
cvsCode = nil
}
if fsCode == "" {
cfsCode = nil
}
ret := C.LoadShaderFromMemory(cvsCode, cfsCode) ret := C.LoadShaderFromMemory(cvsCode, cfsCode)
v := newShaderFromPointer(unsafe.Pointer(&ret)) v := newShaderFromPointer(unsafe.Pointer(&ret))