Program: 468
Project: 468
Buggy source:
private void initRenderGraph(){
  RenderGraph renderGraph=new RenderGraph();
  FBOConfig shadowMapConfig=new FBOConfig(ShadowMapNode.SHADOW_MAP_FBO,FBO.Type.NO_COLOR).useDepthBuffer();
  BufferClearingNode shadowMapClearingNode=new BufferClearingNode(shadowMapConfig,shadowMapResolutionDependentFBOs,GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(shadowMapClearingNode,"String_Node_Str");
  shadowMapNode=new ShadowMapNode(context);
  renderGraph.addNode(shadowMapNode,"String_Node_Str");
  FBOConfig reflectedBufferConfig=new FBOConfig(BackdropReflectionNode.REFLECTED_FBO,HALF_SCALE,FBO.Type.DEFAULT).useDepthBuffer();
  BufferClearingNode reflectedBufferClearingNode=new BufferClearingNode(reflectedBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(reflectedBufferClearingNode,"String_Node_Str");
  Node reflectedBackdropNode=new BackdropReflectionNode(context);
  renderGraph.addNode(reflectedBackdropNode,"String_Node_Str");
  Node worldReflectionNode=new WorldReflectionNode(context);
  renderGraph.addNode(worldReflectionNode,"String_Node_Str");
  FBOConfig reflectedRefractedBufferConfig=new FBOConfig(RefractiveReflectiveBlocksNode.REFRACTIVE_REFLECTIVE_FBO,FULL_SCALE,FBO.Type.HDR).useNormalBuffer();
  BufferClearingNode reflectedRefractedClearingNode=new BufferClearingNode(reflectedRefractedBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(reflectedRefractedClearingNode,"String_Node_Str");
  FBOConfig readOnlyGBufferConfig=displayResolutionDependentFBOs.getFboConfig(READONLY_GBUFFER);
  FBOConfig writeOnlyGBufferConfig=displayResolutionDependentFBOs.getFboConfig(WRITEONLY_GBUFFER);
  BufferClearingNode readOnlyGBufferClearingNode=new BufferClearingNode(readOnlyGBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
  renderGraph.addNode(readOnlyGBufferClearingNode,"String_Node_Str");
  BufferClearingNode writeOnlyGBufferClearingNode=new BufferClearingNode(writeOnlyGBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(writeOnlyGBufferClearingNode,"String_Node_Str");
  Node backdropNode=new BackdropNode(context);
  renderGraph.addNode(backdropNode,"String_Node_Str");
  String aLabel="String_Node_Str";
  FBOConfig hazeIntermediateConfig=new FBOConfig(HazeNode.INTERMEDIATE_HAZE_FBO,ONE_16TH_SCALE,FBO.Type.DEFAULT);
  HazeNode hazeIntermediateNode=new HazeNode(context,readOnlyGBufferConfig,hazeIntermediateConfig,aLabel);
  renderGraph.addNode(hazeIntermediateNode,aLabel);
  aLabel="String_Node_Str";
  FBOConfig hazeFinalConfig=new FBOConfig(HazeNode.FINAL_HAZE_FBO,ONE_32TH_SCALE,FBO.Type.DEFAULT);
  HazeNode hazeFinalNode=new HazeNode(context,hazeIntermediateConfig,hazeFinalConfig,aLabel);
  renderGraph.addNode(hazeFinalNode,aLabel);
  Node opaqueObjectsNode=new OpaqueObjectsNode(context);
  renderGraph.addNode(opaqueObjectsNode,"String_Node_Str");
  Node opaqueBlocksNode=new OpaqueBlocksNode(context);
  renderGraph.addNode(opaqueBlocksNode,"String_Node_Str");
  Node alphaRejectBlocksNode=new AlphaRejectBlocksNode(context);
  renderGraph.addNode(alphaRejectBlocksNode,"String_Node_Str");
  Node overlaysNode=new OverlaysNode(context);
  renderGraph.addNode(overlaysNode,"String_Node_Str");
  Node firstPersonViewNode=new FirstPersonViewNode(context);
  renderGraph.addNode(firstPersonViewNode,"String_Node_Str");
  Node deferredPointLightsNode=new DeferredPointLightsNode(context);
  renderGraph.addNode(deferredPointLightsNode,"String_Node_Str");
  Node deferredMainLightNode=new DeferredMainLightNode(context);
  renderGraph.addNode(deferredMainLightNode,"String_Node_Str");
  Node applyDeferredLightingNode=new ApplyDeferredLightingNode(context);
  renderGraph.addNode(applyDeferredLightingNode,"String_Node_Str");
  Node chunksRefractiveReflectiveNode=new RefractiveReflectiveBlocksNode(context);
  renderGraph.addNode(chunksRefractiveReflectiveNode,"String_Node_Str");
  Node outlineNode=new OutlineNode(context);
  renderGraph.addNode(outlineNode,"String_Node_Str");
  Node ambientOcclusionNode=new AmbientOcclusionNode(context);
  renderGraph.addNode(ambientOcclusionNode,"String_Node_Str");
  Node blurredAmbientOcclusionNode=new BlurredAmbientOcclusionNode(context);
  renderGraph.addNode(blurredAmbientOcclusionNode,"String_Node_Str");
  Node prePostCompositeNode=new PrePostCompositeNode(context);
  renderGraph.addNode(prePostCompositeNode,"String_Node_Str");
  Node simpleBlendMaterialsNode=new SimpleBlendMaterialsNode(context);
  renderGraph.addNode(simpleBlendMaterialsNode,"String_Node_Str");
  Node lightShaftsNode=new LightShaftsNode(context);
  renderGraph.addNode(lightShaftsNode,"String_Node_Str");
  Node initialPostProcessingNode=new InitialPostProcessingNode(context);
  renderGraph.addNode(initialPostProcessingNode,"String_Node_Str");
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo16pixels=new DownSamplerForExposureNode(context,readOnlyGBufferConfig,displayResolutionDependentFBOs,FBO_16X16_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo16pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo8pixels=new DownSamplerForExposureNode(context,FBO_16X16_CONFIG,immutableFBOs,FBO_8X8_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo8pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo4pixels=new DownSamplerForExposureNode(context,FBO_8X8_CONFIG,immutableFBOs,FBO_4X4_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo4pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo2pixels=new DownSamplerForExposureNode(context,FBO_4X4_CONFIG,immutableFBOs,FBO_2X2_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo2pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo1pixel=new DownSamplerForExposureNode(context,FBO_2X2_CONFIG,immutableFBOs,FBO_1X1_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo1pixel,aLabel);
  Node updateExposureNode=new UpdateExposureNode(context);
  renderGraph.addNode(updateExposureNode,"String_Node_Str");
  Node toneMappingNode=new ToneMappingNode(context);
  renderGraph.addNode(toneMappingNode,"String_Node_Str");
  Node highPassNode=new HighPassNode(context);
  renderGraph.addNode(highPassNode,"String_Node_Str");
  FBOConfig halfScaleBloomConfig=new FBOConfig(BloomBlurNode.HALF_SCALE_FBO,HALF_SCALE,FBO.Type.DEFAULT);
  FBOConfig quarterScaleBloomConfig=new FBOConfig(BloomBlurNode.QUARTER_SCALE_FBO,QUARTER_SCALE,FBO.Type.DEFAULT);
  FBOConfig one8thScaleBloomConfig=new FBOConfig(BloomBlurNode.ONE_8TH_SCALE_FBO,ONE_8TH_SCALE,FBO.Type.DEFAULT);
  aLabel="String_Node_Str";
  BloomBlurNode halfScaleBlurredBloom=new BloomBlurNode(context,HighPassNode.HIGH_PASS_FBO_CONFIG,halfScaleBloomConfig,aLabel);
  renderGraph.addNode(halfScaleBlurredBloom,aLabel);
  aLabel="String_Node_Str";
  BloomBlurNode quarterScaleBlurredBloom=new BloomBlurNode(context,halfScaleBloomConfig,quarterScaleBloomConfig,aLabel);
  renderGraph.addNode(quarterScaleBlurredBloom,aLabel);
  aLabel="String_Node_Str";
  BloomBlurNode one8thScaleBlurredBloom=new BloomBlurNode(context,quarterScaleBloomConfig,one8thScaleBloomConfig,aLabel);
  renderGraph.addNode(one8thScaleBlurredBloom,aLabel);
  FBOConfig toneMappedConfig=new FBOConfig(TONE_MAPPING_FBO,FULL_SCALE,FBO.Type.HDR);
  FBOConfig firstLateBlurConfig=new FBOConfig(FIRST_LATE_BLUR_FBO,HALF_SCALE,FBO.Type.DEFAULT);
  FBOConfig secondLateBlurConfig=new FBOConfig(SECOND_LATE_BLUR_FBO,HALF_SCALE,FBO.Type.DEFAULT);
  aLabel="String_Node_Str";
  LateBlurNode firstLateBlurNode=new LateBlurNode(context,toneMappedConfig,firstLateBlurConfig,aLabel);
  renderGraph.addNode(firstLateBlurNode,aLabel);
  aLabel="String_Node_Str";
  LateBlurNode secondLateBlurNode=new LateBlurNode(context,firstLateBlurConfig,secondLateBlurConfig,aLabel);
  renderGraph.addNode(secondLateBlurNode,aLabel);
  Node finalPostProcessingNode=new FinalPostProcessingNode(context);
  renderGraph.addNode(finalPostProcessingNode,"String_Node_Str");
  Node copyToVRFrameBufferNode=new CopyImageToHMDNode(context);
  renderGraph.addNode(copyToVRFrameBufferNode,"String_Node_Str");
  Node copyImageToScreenNode=new CopyImageToScreenNode(context);
  renderGraph.addNode(copyImageToScreenNode,"String_Node_Str");
  renderTaskListGenerator=new RenderTaskListGenerator();
  List<Node> orderedNodes=renderGraph.getNodesInTopologicalOrder();
  renderPipelineTaskList=renderTaskListGenerator.generateFrom(orderedNodes);
}

Fixed version (ground truth):
private void initRenderGraph(){
  RenderGraph renderGraph=new RenderGraph();
  FBOConfig shadowMapConfig=new FBOConfig(ShadowMapNode.SHADOW_MAP_FBO,FBO.Type.NO_COLOR).useDepthBuffer();
  BufferClearingNode shadowMapClearingNode=new BufferClearingNode(shadowMapConfig,shadowMapResolutionDependentFBOs,GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(shadowMapClearingNode,"String_Node_Str");
  shadowMapNode=new ShadowMapNode(context);
  renderGraph.addNode(shadowMapNode,"String_Node_Str");
  FBOConfig reflectedBufferConfig=new FBOConfig(BackdropReflectionNode.REFLECTED_FBO,HALF_SCALE,FBO.Type.DEFAULT).useDepthBuffer();
  BufferClearingNode reflectedBufferClearingNode=new BufferClearingNode(reflectedBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(reflectedBufferClearingNode,"String_Node_Str");
  Node reflectedBackdropNode=new BackdropReflectionNode(context);
  renderGraph.addNode(reflectedBackdropNode,"String_Node_Str");
  Node worldReflectionNode=new WorldReflectionNode(context);
  renderGraph.addNode(worldReflectionNode,"String_Node_Str");
  FBOConfig reflectedRefractedBufferConfig=new FBOConfig(RefractiveReflectiveBlocksNode.REFRACTIVE_REFLECTIVE_FBO,FULL_SCALE,FBO.Type.HDR).useNormalBuffer();
  BufferClearingNode reflectedRefractedClearingNode=new BufferClearingNode(reflectedRefractedBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(reflectedRefractedClearingNode,"String_Node_Str");
  FBOConfig readOnlyGBufferConfig=displayResolutionDependentFBOs.getFboConfig(READONLY_GBUFFER);
  FBOConfig writeOnlyGBufferConfig=displayResolutionDependentFBOs.getFboConfig(WRITEONLY_GBUFFER);
  BufferClearingNode readOnlyGBufferClearingNode=new BufferClearingNode(readOnlyGBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
  renderGraph.addNode(readOnlyGBufferClearingNode,"String_Node_Str");
  BufferClearingNode writeOnlyGBufferClearingNode=new BufferClearingNode(writeOnlyGBufferConfig,displayResolutionDependentFBOs,GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  renderGraph.addNode(writeOnlyGBufferClearingNode,"String_Node_Str");
  Node backdropNode=new BackdropNode(context);
  renderGraph.addNode(backdropNode,"String_Node_Str");
  String aLabel="String_Node_Str";
  FBOConfig hazeIntermediateConfig=new FBOConfig(HazeNode.INTERMEDIATE_HAZE_FBO,ONE_16TH_SCALE,FBO.Type.DEFAULT);
  HazeNode hazeIntermediateNode=new HazeNode(context,writeOnlyGBufferConfig,hazeIntermediateConfig,aLabel);
  renderGraph.addNode(hazeIntermediateNode,aLabel);
  aLabel="String_Node_Str";
  FBOConfig hazeFinalConfig=new FBOConfig(HazeNode.FINAL_HAZE_FBO,ONE_32TH_SCALE,FBO.Type.DEFAULT);
  HazeNode hazeFinalNode=new HazeNode(context,hazeIntermediateConfig,hazeFinalConfig,aLabel);
  renderGraph.addNode(hazeFinalNode,aLabel);
  Node opaqueObjectsNode=new OpaqueObjectsNode(context);
  renderGraph.addNode(opaqueObjectsNode,"String_Node_Str");
  Node opaqueBlocksNode=new OpaqueBlocksNode(context);
  renderGraph.addNode(opaqueBlocksNode,"String_Node_Str");
  Node alphaRejectBlocksNode=new AlphaRejectBlocksNode(context);
  renderGraph.addNode(alphaRejectBlocksNode,"String_Node_Str");
  Node overlaysNode=new OverlaysNode(context);
  renderGraph.addNode(overlaysNode,"String_Node_Str");
  Node firstPersonViewNode=new FirstPersonViewNode(context);
  renderGraph.addNode(firstPersonViewNode,"String_Node_Str");
  Node deferredPointLightsNode=new DeferredPointLightsNode(context);
  renderGraph.addNode(deferredPointLightsNode,"String_Node_Str");
  Node deferredMainLightNode=new DeferredMainLightNode(context);
  renderGraph.addNode(deferredMainLightNode,"String_Node_Str");
  Node applyDeferredLightingNode=new ApplyDeferredLightingNode(context);
  renderGraph.addNode(applyDeferredLightingNode,"String_Node_Str");
  Node chunksRefractiveReflectiveNode=new RefractiveReflectiveBlocksNode(context);
  renderGraph.addNode(chunksRefractiveReflectiveNode,"String_Node_Str");
  Node outlineNode=new OutlineNode(context);
  renderGraph.addNode(outlineNode,"String_Node_Str");
  Node ambientOcclusionNode=new AmbientOcclusionNode(context);
  renderGraph.addNode(ambientOcclusionNode,"String_Node_Str");
  Node blurredAmbientOcclusionNode=new BlurredAmbientOcclusionNode(context);
  renderGraph.addNode(blurredAmbientOcclusionNode,"String_Node_Str");
  Node prePostCompositeNode=new PrePostCompositeNode(context);
  renderGraph.addNode(prePostCompositeNode,"String_Node_Str");
  Node simpleBlendMaterialsNode=new SimpleBlendMaterialsNode(context);
  renderGraph.addNode(simpleBlendMaterialsNode,"String_Node_Str");
  Node lightShaftsNode=new LightShaftsNode(context);
  renderGraph.addNode(lightShaftsNode,"String_Node_Str");
  Node initialPostProcessingNode=new InitialPostProcessingNode(context);
  renderGraph.addNode(initialPostProcessingNode,"String_Node_Str");
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo16pixels=new DownSamplerForExposureNode(context,writeOnlyGBufferConfig,displayResolutionDependentFBOs,FBO_16X16_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo16pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo8pixels=new DownSamplerForExposureNode(context,FBO_16X16_CONFIG,immutableFBOs,FBO_8X8_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo8pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo4pixels=new DownSamplerForExposureNode(context,FBO_8X8_CONFIG,immutableFBOs,FBO_4X4_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo4pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo2pixels=new DownSamplerForExposureNode(context,FBO_4X4_CONFIG,immutableFBOs,FBO_2X2_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo2pixels,aLabel);
  aLabel="String_Node_Str";
  DownSamplerForExposureNode exposureDownSamplerTo1pixel=new DownSamplerForExposureNode(context,FBO_2X2_CONFIG,immutableFBOs,FBO_1X1_CONFIG,immutableFBOs,aLabel);
  renderGraph.addNode(exposureDownSamplerTo1pixel,aLabel);
  Node updateExposureNode=new UpdateExposureNode(context);
  renderGraph.addNode(updateExposureNode,"String_Node_Str");
  Node toneMappingNode=new ToneMappingNode(context);
  renderGraph.addNode(toneMappingNode,"String_Node_Str");
  Node highPassNode=new HighPassNode(context);
  renderGraph.addNode(highPassNode,"String_Node_Str");
  FBOConfig halfScaleBloomConfig=new FBOConfig(BloomBlurNode.HALF_SCALE_FBO,HALF_SCALE,FBO.Type.DEFAULT);
  FBOConfig quarterScaleBloomConfig=new FBOConfig(BloomBlurNode.QUARTER_SCALE_FBO,QUARTER_SCALE,FBO.Type.DEFAULT);
  FBOConfig one8thScaleBloomConfig=new FBOConfig(BloomBlurNode.ONE_8TH_SCALE_FBO,ONE_8TH_SCALE,FBO.Type.DEFAULT);
  aLabel="String_Node_Str";
  BloomBlurNode halfScaleBlurredBloom=new BloomBlurNode(context,HighPassNode.HIGH_PASS_FBO_CONFIG,halfScaleBloomConfig,aLabel);
  renderGraph.addNode(halfScaleBlurredBloom,aLabel);
  aLabel="String_Node_Str";
  BloomBlurNode quarterScaleBlurredBloom=new BloomBlurNode(context,halfScaleBloomConfig,quarterScaleBloomConfig,aLabel);
  renderGraph.addNode(quarterScaleBlurredBloom,aLabel);
  aLabel="String_Node_Str";
  BloomBlurNode one8thScaleBlurredBloom=new BloomBlurNode(context,quarterScaleBloomConfig,one8thScaleBloomConfig,aLabel);
  renderGraph.addNode(one8thScaleBlurredBloom,aLabel);
  FBOConfig toneMappedConfig=new FBOConfig(TONE_MAPPING_FBO,FULL_SCALE,FBO.Type.HDR);
  FBOConfig firstLateBlurConfig=new FBOConfig(FIRST_LATE_BLUR_FBO,HALF_SCALE,FBO.Type.DEFAULT);
  FBOConfig secondLateBlurConfig=new FBOConfig(SECOND_LATE_BLUR_FBO,HALF_SCALE,FBO.Type.DEFAULT);
  aLabel="String_Node_Str";
  LateBlurNode firstLateBlurNode=new LateBlurNode(context,toneMappedConfig,firstLateBlurConfig,aLabel);
  renderGraph.addNode(firstLateBlurNode,aLabel);
  aLabel="String_Node_Str";
  LateBlurNode secondLateBlurNode=new LateBlurNode(context,firstLateBlurConfig,secondLateBlurConfig,aLabel);
  renderGraph.addNode(secondLateBlurNode,aLabel);
  Node finalPostProcessingNode=new FinalPostProcessingNode(context);
  renderGraph.addNode(finalPostProcessingNode,"String_Node_Str");
  Node copyToVRFrameBufferNode=new CopyImageToHMDNode(context);
  renderGraph.addNode(copyToVRFrameBufferNode,"String_Node_Str");
  Node copyImageToScreenNode=new CopyImageToScreenNode(context);
  renderGraph.addNode(copyImageToScreenNode,"String_Node_Str");
  renderTaskListGenerator=new RenderTaskListGenerator();
  List<Node> orderedNodes=renderGraph.getNodesInTopologicalOrder();
  renderPipelineTaskList=renderTaskListGenerator.generateFrom(orderedNodes);
}