From 3ee623043191d7c37adb769fcb180ef322991f3d Mon Sep 17 00:00:00 2001 From: Ingo Wald Date: Wed, 21 Oct 2020 09:51:03 -0600 Subject: [PATCH] fix for un-initialized compile options structs --- CMakeLists.txt | 2 +- README.md | 4 ++++ example02_pipelineAndRayGen/SampleRenderer.h | 6 +++--- example03_inGLFWindow/SampleRenderer.h | 6 +++--- example04_firstTriangleMesh/SampleRenderer.h | 6 +++--- example05_firstSBTData/SampleRenderer.h | 6 +++--- example06_multipleObjects/SampleRenderer.h | 6 +++--- example07_firstRealModel/SampleRenderer.h | 6 +++--- example08_addingTextures/SampleRenderer.h | 6 +++--- example09_shadowRays/SampleRenderer.h | 6 +++--- example10_softShadows/SampleRenderer.h | 6 +++--- example11_denoiseColorOnly/SampleRenderer.h | 6 +++--- example12_denoiseSeparateChannels/SampleRenderer.h | 6 +++--- 13 files changed, 38 insertions(+), 34 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5149d2b..c67a6b0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ if (POLICY CMP0048) cmake_policy(SET CMP0048 NEW) endif (POLICY CMP0048) -project(optix7course) +project(optix7course VERSION 1.0.1) cmake_minimum_required(VERSION 2.8) if (NOT WIN32) diff --git a/README.md b/README.md index f9b5120..d0cd72c 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ ## Latest Updates: +* 10/21/2020: Bugfix: all moduleCompileOptions and + pipelineCompileOptions are now properly zero-initialized by default. + Otherwise, variables not set in these struct might have invalid values. + * 8/3/2020: Updated to also compile on OptiX 7.1 * 1/3/2020: Several fixes and documentation adds to make project diff --git a/example02_pipelineAndRayGen/SampleRenderer.h b/example02_pipelineAndRayGen/SampleRenderer.h index 390c374..0f6f2ba 100644 --- a/example02_pipelineAndRayGen/SampleRenderer.h +++ b/example02_pipelineAndRayGen/SampleRenderer.h @@ -90,13 +90,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example03_inGLFWindow/SampleRenderer.h b/example03_inGLFWindow/SampleRenderer.h index 390c374..f4f5dc6 100644 --- a/example03_inGLFWindow/SampleRenderer.h +++ b/example03_inGLFWindow/SampleRenderer.h @@ -90,13 +90,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example04_firstTriangleMesh/SampleRenderer.h b/example04_firstTriangleMesh/SampleRenderer.h index 515ed7c..3cc9537 100644 --- a/example04_firstTriangleMesh/SampleRenderer.h +++ b/example04_firstTriangleMesh/SampleRenderer.h @@ -120,13 +120,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example05_firstSBTData/SampleRenderer.h b/example05_firstSBTData/SampleRenderer.h index f339bec..8ebd8cc 100644 --- a/example05_firstSBTData/SampleRenderer.h +++ b/example05_firstSBTData/SampleRenderer.h @@ -121,13 +121,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example06_multipleObjects/SampleRenderer.h b/example06_multipleObjects/SampleRenderer.h index 4e9fcf6..ecb2ad2 100644 --- a/example06_multipleObjects/SampleRenderer.h +++ b/example06_multipleObjects/SampleRenderer.h @@ -121,13 +121,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example07_firstRealModel/SampleRenderer.h b/example07_firstRealModel/SampleRenderer.h index eafc22e..8dde2d4 100644 --- a/example07_firstRealModel/SampleRenderer.h +++ b/example07_firstRealModel/SampleRenderer.h @@ -106,13 +106,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example08_addingTextures/SampleRenderer.h b/example08_addingTextures/SampleRenderer.h index 02f4823..8397ae4 100644 --- a/example08_addingTextures/SampleRenderer.h +++ b/example08_addingTextures/SampleRenderer.h @@ -108,13 +108,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example09_shadowRays/SampleRenderer.h b/example09_shadowRays/SampleRenderer.h index 02f4823..8397ae4 100644 --- a/example09_shadowRays/SampleRenderer.h +++ b/example09_shadowRays/SampleRenderer.h @@ -108,13 +108,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example10_softShadows/SampleRenderer.h b/example10_softShadows/SampleRenderer.h index c9a4aa0..e17befb 100644 --- a/example10_softShadows/SampleRenderer.h +++ b/example10_softShadows/SampleRenderer.h @@ -108,13 +108,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example11_denoiseColorOnly/SampleRenderer.h b/example11_denoiseColorOnly/SampleRenderer.h index ebdfcf0..bcba038 100644 --- a/example11_denoiseColorOnly/SampleRenderer.h +++ b/example11_denoiseColorOnly/SampleRenderer.h @@ -112,13 +112,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around diff --git a/example12_denoiseSeparateChannels/SampleRenderer.h b/example12_denoiseSeparateChannels/SampleRenderer.h index 3f4e812..26d0e6e 100644 --- a/example12_denoiseSeparateChannels/SampleRenderer.h +++ b/example12_denoiseSeparateChannels/SampleRenderer.h @@ -118,13 +118,13 @@ namespace osc { /*! @{ the pipeline we're building */ OptixPipeline pipeline; - OptixPipelineCompileOptions pipelineCompileOptions; - OptixPipelineLinkOptions pipelineLinkOptions; + OptixPipelineCompileOptions pipelineCompileOptions = {}; + OptixPipelineLinkOptions pipelineLinkOptions = {}; /*! @} */ /*! @{ the module that contains out device programs */ OptixModule module; - OptixModuleCompileOptions moduleCompileOptions; + OptixModuleCompileOptions moduleCompileOptions = {}; /* @} */ /*! vector of all our program(group)s, and the SBT built around