-
Notifications
You must be signed in to change notification settings - Fork 57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing releases and related #120
Comments
re 2: Yes; variables never explicitly created, they get created by their 'parent' object when you call owlXysVariableGet; that said, a more consistent naming wold probably be owlXyzVariableCreateReference, because its actually a reference to a variable, and it actually does get 'created'. In that case I'd argue that'd cause more confusion than what it's worth, though, since most users would always go through owlXyzSet<..>(...), anyway. Everything else: yes, fully agreed, should all be added for consistency. |
PS: just for completeness' sake: even objects that did not get properly released by the application code will get released/destroyed when the context itself gets destroyed, so the "memory leak" problm isn't just as big as the "can't even release them" may imply. |
I understand destroying the context releases them, however:
|
Here is a summary of all the types in OWL, and their create / release / destroy functions.
OWLContext
owlContextCreate
owlContextDestroy
OWLBuffer
owlDeviceBufferCreate
,owlHostPinnedBufferCreate
,owlManagedMemoryBufferCreate
,owlGraphicsBufferCreate
owlBufferRelease
owlBufferDestroy
OWLTexture
owlTexture2DCreate
owlTexture2DDestroy
OWLGeom
owlGeomCreate
owlGeomRelease
OWLGeomType
owlGeomTypeCreate
OWLVariable
owlVariableRelease
OWLModule
owlModuleCreate
owlModuleRelease
OWLGroup
owlUserGeomGroupCreate
,owlTrianglesGeomGroupCreate
,owlInstanceGroupCreate
owlGroupRelease
OWLRayGen
owlRayGenCreate
owlRayGenRelease
OWLMissProg
owlMissProgCreate
OWLParams
,OWLLaunchParams
,OWLGlobals
owlParamsCreate
owlGeomTypeRelease
,owlMissProgRelease
, andowlParamsRelease
are missing.*1:
OWLBuffer
has both a release and a destroy, butOWLTexture
which is conceptually similar only has a destroy. This seems inconsistent?*2: Probably created internally and returned through
owlGeomGetVariable
,owlRayGenGetVariable
,owlMissProgGetVariable
, andowlParamsGetVariable
.The text was updated successfully, but these errors were encountered: