void cleanup() { sdkDeleteTimer(&timer); sdkDeleteTimer(&animationTimer); Volume_deinit(&volumeOriginal); Volume_deinit(&volumeFilter0); Volume_deinit(&volumeFilter1); VolumeRender_deinit(); if (pbo) { cudaGraphicsUnregisterResource(cuda_pbo_resource); glDeleteBuffersARB(1, &pbo); glDeleteTextures(1, &volumeTex); } }
void cleanup() { sdkDeleteTimer(&timer); sdkDeleteTimer(&animationTimer); Volume_deinit(&volumeOriginal); Volume_deinit(&volumeFilter0); Volume_deinit(&volumeFilter1); VolumeRender_deinit(); if (pbo) { cudaGraphicsUnregisterResource(cuda_pbo_resource); glDeleteBuffersARB(1, &pbo); glDeleteTextures(1, &volumeTex); } // cudaDeviceReset causes the driver to clean up all state. While // not mandatory in normal operation, it is good practice. It is also // needed to ensure correct operation when the application is being // profiled. Calling cudaDeviceReset causes all profile data to be // flushed before the application exits cudaDeviceReset(); }