-
Notifications
You must be signed in to change notification settings - Fork 837
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
Make POOL_ALLOCATOR_NEW_DELETE optional #3123
Comments
I have proposed removing this macro in #3387 in an attempt to make the usage of the pool allocator more obvious in the code. |
This removes the ability for some classes to be implicitly allocated using the pool allocator. Now NewPoolObject should be used to explicitly allocate any object using the pool allocator. Some other things this change does: - Remove some of the NewPool* non-generic functions, replacing them with a single "make_unique" style function. - Existing pointers allocated with the standard allocator are replaced with smart pointers. Related to KhronosGroup#3123.
This removes the ability for some classes to be implicitly allocated using the pool allocator. Now NewPoolObject should be used to explicitly allocate any object using the pool allocator. Some other things this change does: - Remove some of the NewPool* non-generic functions, replacing them with a single "make_unique" style function. - Existing pointers allocated with the standard allocator are replaced with smart pointers. Related to KhronosGroup#3123.
This removes the ability for some classes to be implicitly allocated using the pool allocator. Now NewPoolObject should be used to explicitly allocate any object using the pool allocator. Some other things this change does: - Remove some of the NewPool* non-generic functions, replacing them with a single "make_unique" style function. - Existing pointers allocated with the standard allocator are replaced with smart pointers. Related to KhronosGroup#3123.
The thread pool allocator is used for allocation correctness because of the way the compiler works: while processing a compilation unit, a densely-interlinked object graph is allocated and used to keep track of variables, expressions, types, etc and then when compilation is done it's all deallocated with a single |
Without an easy way to disable this macro/these operators, it's very hard to provide a custom memory manager to glslang.
It would be nice if this could be disabled with a build switch.
The text was updated successfully, but these errors were encountered: