| list(APPEND CPPFLAGS -include errno.h -include string.h -DHAS_ERRLIST -DUSE_STRERROR -DSPEC_STDCPP) |
| if(ARCH STREQUAL "PowerPC") |
| list(APPEND CPPFLAGS -DFMAX_IS_DOUBLE) |
| endif() |
| list(APPEND CXXFLAGS -fno-exceptions -Wno-deprecated -fpermissive) |
| list(APPEND LDFLAGS -lm) |
| |
| include_directories(${BENCHMARK_DIR}/src) |
| |
| # There's more sourcefiles in the directory than necessary so enumerate the ones |
| # we want. |
| set(SourceNames |
| ggCoverageSolidTexture.cc |
| ggPathDielectricMaterial.cc |
| ggBox2.cc |
| ggBox3.cc |
| ggRasterSurfaceTexture.cc |
| ggJitterSample1.cc |
| ggNRooksSample2.cc |
| ggJitterSample2.cc |
| ggRGBFPixel.cc |
| ggRotatingPinholeCamera.cc |
| ggRandomSample2.cc |
| ggRandomSample3.cc |
| ggSolidNoise2.cc |
| ggSolidNoise3.cc |
| ggSolidTexture.cc |
| ggOakSolidTexture.cc |
| ggSpecularMaterial.cc |
| ggNA.cc |
| ggMaterial.cc |
| ggDiffuseMaterial.cc |
| ggDielectricMaterial.cc |
| ggConductorMaterial.cc |
| ggEdgeDiscrepancy.cc |
| ggPolishedMaterial.cc |
| ggFrameInterpolation.cc |
| ggQuaternion.cc |
| ggSpline.cc |
| ggONB2.cc |
| ggONB3.cc |
| ggFrame2.cc |
| ggFrame3.cc |
| ggHMatrix3.cc |
| ggSphere.cc |
| ggRGBE.cc |
| ggGamma.cc |
| ggBRDF.cc |
| ggDiffuseBRDF.cc |
| ggPhongBRDF.cc |
| ggPolishedBRDF.cc |
| ggCamera.cc |
| ggPinholeCamera.cc |
| ggThinLensCamera.cc |
| ggErr.cc |
| ggPixelFilter.cc |
| ggTrianglePixelFilter.cc |
| ggBoxPixelFilter.cc |
| ggFormat.cc |
| ggGeometry.cc |
| ggHAffineMatrix3.cc |
| ggHShearMatrix3.cc |
| ggHBoxMatrix3.cc |
| ggHPerspectiveMatrix3.cc |
| ggHTranslationMatrix3.cc |
| ggHRigidBodyMatrix3.cc |
| ggHRotationMatrix3.cc |
| ggHScaleMatrix3.cc |
| ggHPoint3.cc |
| ggPoint2.cc |
| ggPoint3.cc |
| ggOptics.cc |
| ggPlane.cc |
| ggPolygon.cc |
| ggGrayPixel_x.cc |
| ggRGBPixel_x.cc |
| ggRay2.cc |
| ggRay3.cc |
| ggBoardFloorSolidTexture.cc |
| ggVector2.cc |
| ggVector3.cc |
| ggString.cc |
| ggFineSpectrum.cc |
| ggSpectrum.cc |
| eon.cc |
| eonImageCalculator.cc |
| mrObjectRecord.cc |
| mrCoarsePixelRenderer.cc |
| mrIndirectPixelRenderer.cc |
| mrRushmeierPixelRenderer.cc |
| mrBruteForcePixelRenderer.cc |
| mrKajiyaPixelRenderer.cc |
| mrCookPixelRenderer.cc |
| mrGrid.cc |
| mrScene.cc |
| mrCamera.cc |
| mrTriangle.cc |
| mrFastTriangle.cc |
| mrPolygon.cc |
| mrXYDisk.cc |
| mrXZDisk.cc |
| mrYZDisk.cc |
| mrPhongAreaXYRectangleLuminaire.cc |
| mrPhongAreaXZRectangleLuminaire.cc |
| mrPhongAreaYZRectangleLuminaire.cc |
| mrEmitter.cc |
| mrImposter.cc |
| mrLinkedObjects.cc |
| mrBox.cc |
| mrXCylinder.cc |
| mrYCylinder.cc |
| mrZCylinder.cc |
| mrDiffuseAreaZCylinderLuminaire.cc |
| mrDiffuseCosineZCylinderLuminaire.cc |
| mrDiffuseVisibleAreaZCylinderLuminaire.cc |
| mrXEllipticalCylinder.cc |
| mrYEllipticalCylinder.cc |
| mrZEllipticalCylinder.cc |
| mrSpotAreaXYDiskLuminaire.cc |
| mrDiffuseAreaXYRectangleLuminaire.cc |
| mrDiffuseAreaXZRectangleLuminaire.cc |
| mrDiffuseAreaYZRectangleLuminaire.cc |
| mrSurfaceList.cc |
| mrDiffuseAreaTriangleLuminaire.cc |
| mrDiffuseAreaSphereLuminaire.cc |
| mrDiffuseCosineSphereLuminaire.cc |
| mrDiffuseSolidAngleSphereLuminaire.cc |
| mrShellLuminaire.cc |
| mrInstance.cc |
| mrMaterial.cc |
| mrPhongAreaTriangleLuminaire.cc |
| mrSolidTexture.cc |
| mrSphere.cc |
| mrSurface.cc |
| mrSurfaceTexture.cc |
| mrXYRectangle.cc |
| mrXZRectangle.cc |
| mrYZRectangle.cc |
| myrand.cc |
| ) |
| set(Source "") |
| foreach(FILENAME ${SourceNames}) |
| list(APPEND Source ${BENCHMARK_DIR}/src/${FILENAME}) |
| endforeach() |
| |
| macro(test_input run_type) |
| set(INPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/data/${run_type}/input) |
| llvm_test_run(RUN_TYPE ${run_type} WORKDIR ${INPUT_DIR} |
| chair.control.cook chair.camera chair.surfaces |
| ${CMAKE_CURRENT_BINARY_DIR}/chair.cook.ppm |
| ppm |
| ${CMAKE_CURRENT_BINARY_DIR}/pixels_out.cook |
| ) |
| llvm_test_run(RUN_TYPE ${run_type} WORKDIR ${INPUT_DIR} |
| chair.control.rushmeier chair.camera chair.surfaces |
| ${CMAKE_CURRENT_BINARY_DIR}/chair.rushmeier.ppm |
| ppm |
| ${CMAKE_CURRENT_BINARY_DIR}/pixels_out.rushmeier |
| ) |
| llvm_test_run(RUN_TYPE ${run_type} WORKDIR ${INPUT_DIR} |
| chair.control.kajiya chair.camera chair.surfaces |
| ${CMAKE_CURRENT_BINARY_DIR}/chair.kajiya.ppm |
| ppm |
| ${CMAKE_CURRENT_BINARY_DIR}/pixels_out.kajiya |
| ) |
| |
| llvm_test_verify(RUN_TYPE ${run_type} WORKDIR ${CMAKE_CURRENT_BINARY_DIR} |
| ${FPCMP} -a 0.005 |
| data/${run_type}/output/pixels_out.cook |
| pixels_out.cook |
| ) |
| llvm_test_verify(RUN_TYPE ${run_type} WORKDIR ${CMAKE_CURRENT_BINARY_DIR} |
| ${FPCMP} -a 0.005 |
| data/${run_type}/output/pixels_out.rushmeier |
| pixels_out.rushmeier |
| ) |
| llvm_test_verify(RUN_TYPE ${run_type} WORKDIR ${CMAKE_CURRENT_BINARY_DIR} |
| ${FPCMP} -a 0.005 |
| data/${run_type}/output/pixels_out.kajiya |
| pixels_out.kajiya |
| ) |
| endmacro() |
| |
| test_input(ref) |
| test_input(train) |
| test_input(test) |
| |
| llvm_test_executable(252.eon ${Source}) |
| llvm_test_data_spec_default(252.eon) |