Linux cleanup

This commit is contained in:
mfeemster 2014-10-15 08:19:59 -07:00
parent 9e94170a70
commit 156a7207ca
12 changed files with 347 additions and 32 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -120,6 +120,8 @@
<Unit filename="../../Source/Ember/Point.h" /> <Unit filename="../../Source/Ember/Point.h" />
<Unit filename="../../Source/Ember/Renderer.cpp" /> <Unit filename="../../Source/Ember/Renderer.cpp" />
<Unit filename="../../Source/Ember/Renderer.h" /> <Unit filename="../../Source/Ember/Renderer.h" />
<Unit filename="../../Source/Ember/RendererBase.cpp" />
<Unit filename="../../Source/Ember/RendererBase.h" />
<Unit filename="../../Source/Ember/SheepTools.h" /> <Unit filename="../../Source/Ember/SheepTools.h" />
<Unit filename="../../Source/Ember/SpatialFilter.h" /> <Unit filename="../../Source/Ember/SpatialFilter.h" />
<Unit filename="../../Source/Ember/TemporalFilter.h" /> <Unit filename="../../Source/Ember/TemporalFilter.h" />

314
Builds/CB/Ember.depend Normal file
View File

@ -0,0 +1,314 @@
# depslib dependency file v1.0
1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/Affine2D.cpp
"EmberPch.h"
"Affine2D.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/EmberPch.h
<SDKDDKVer.h>
<windows.h>
<libgen.h>
<unistd.h>
<algorithm>
<chrono>
<complex>
<cstdint>
<fstream>
<functional>
<inttypes.h>
<iostream>
<iomanip>
<limits>
<malloc.h>
<math.h>
<memory>
<numeric>
<ostream>
<sstream>
<sys/types.h>
<sys/stat.h>
<thread>
<time.h>
<vector>
"libxml/parser.h"
"libxml2/libxml/parser.h"
"tbb/task_group.h"
"tbb/parallel_for.h"
"tbb/task_scheduler_init.h"
"glm/glm.hpp"
"glm/gtc/matrix_transform.hpp"
"glm/gtc/type_ptr.hpp"
"glm/gtx/string_cast.hpp"
1402664682 /usr/include/libxml2/libxml/parser.h
<stdarg.h>
<libxml/xmlversion.h>
<libxml/tree.h>
<libxml/dict.h>
<libxml/hash.h>
<libxml/valid.h>
<libxml/entities.h>
<libxml/xmlerror.h>
<libxml/xmlstring.h>
<libxml/encoding.h>
<libxml/xmlIO.h>
<libxml/globals.h>
1402664682 /usr/include/libxml2/libxml/xmlversion.h
<libxml/xmlexports.h>
<ansidecl.h>
1402664682 /usr/include/libxml2/libxml/xmlexports.h
1402664682 /usr/include/libxml2/libxml/tree.h
<stdio.h>
<limits.h>
<libxml/xmlversion.h>
<libxml/xmlstring.h>
<libxml/xmlregexp.h>
<libxml/xmlmemory.h>
1402664682 /usr/include/libxml2/libxml/xmlstring.h
<stdarg.h>
<libxml/xmlversion.h>
1402664682 /usr/include/libxml2/libxml/xmlregexp.h
<libxml/xmlversion.h>
<libxml/tree.h>
<libxml/dict.h>
1402664682 /usr/include/libxml2/libxml/dict.h
<limits.h>
<libxml/xmlversion.h>
<libxml/tree.h>
1402664682 /usr/include/libxml2/libxml/xmlmemory.h
<stdio.h>
<libxml/xmlversion.h>
<libxml/threads.h>
<libxml/globals.h>
1402664682 /usr/include/libxml2/libxml/threads.h
<libxml/xmlversion.h>
<libxml/globals.h>
1402664682 /usr/include/libxml2/libxml/globals.h
<libxml/xmlversion.h>
<libxml/parser.h>
<libxml/xmlerror.h>
<libxml/SAX.h>
<libxml/SAX2.h>
<libxml/xmlmemory.h>
<libxml/threads.h>
1402664682 /usr/include/libxml2/libxml/xmlerror.h
<libxml/parser.h>
1402664682 /usr/include/libxml2/libxml/SAX.h
<stdio.h>
<stdlib.h>
<libxml/xmlversion.h>
<libxml/parser.h>
<libxml/xlink.h>
1402664682 /usr/include/libxml2/libxml/xlink.h
<libxml/xmlversion.h>
<libxml/tree.h>
1402664682 /usr/include/libxml2/libxml/SAX2.h
<stdio.h>
<stdlib.h>
<libxml/xmlversion.h>
<libxml/parser.h>
<libxml/xlink.h>
1402664682 /usr/include/libxml2/libxml/hash.h
<libxml/xmlversion.h>
<libxml/parser.h>
<libxml/dict.h>
1402664682 /usr/include/libxml2/libxml/valid.h
<libxml/xmlversion.h>
<libxml/xmlerror.h>
<libxml/tree.h>
<libxml/list.h>
<libxml/xmlautomata.h>
<libxml/xmlregexp.h>
1402664682 /usr/include/libxml2/libxml/list.h
<libxml/xmlversion.h>
1402664682 /usr/include/libxml2/libxml/xmlautomata.h
<libxml/xmlversion.h>
<libxml/tree.h>
<libxml/xmlregexp.h>
1402664682 /usr/include/libxml2/libxml/entities.h
<libxml/xmlversion.h>
<libxml/tree.h>
1402664682 /usr/include/libxml2/libxml/encoding.h
<libxml/xmlversion.h>
<iconv.h>
<unicode/ucnv.h>
<libxml/tree.h>
1402664682 /usr/include/libxml2/libxml/xmlIO.h
<stdio.h>
<libxml/xmlversion.h>
<libxml/globals.h>
<libxml/tree.h>
<libxml/parser.h>
<libxml/encoding.h>
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Affine2D.h
"Utils.h"
1413385950 /home/heretic/Dev/fractorium/Source/Ember/Utils.h
"Isaac.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Isaac.h
"EmberDefines.h"
1413385406 /home/heretic/Dev/fractorium/Source/Ember/EmberDefines.h
"EmberPch.h"
1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/DllMain.cpp
"EmberPch.h"
1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/Ember.cpp
"EmberPch.h"
"EmberDefines.h"
"Isaac.h"
"Ember.h"
"Utils.h"
"Iterator.h"
"Palette.h"
"PaletteList.h"
"Point.h"
"Variation.h"
"Variations01.h"
"Variations02.h"
"Variations03.h"
"Variations04.h"
"Variations05.h"
"VariationsDC.h"
"VariationList.h"
"Affine2D.h"
"Xform.h"
"EmberToXml.h"
"XmlToEmber.h"
"SpatialFilter.h"
"DensityFilter.h"
"TemporalFilter.h"
"Interpolate.h"
"Renderer.h"
"Timing.h"
"SheepTools.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Ember.h
"Xform.h"
"PaletteList.h"
"SpatialFilter.h"
"TemporalFilter.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/Xform.h
"VariationList.h"
"Interpolate.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/VariationList.h
"Variations01.h"
"Variations02.h"
"Variations03.h"
"Variations04.h"
"Variations05.h"
"VariationsDC.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations01.h
"Variation.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Variation.h
"Point.h"
"Isaac.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Point.h
"EmberDefines.h"
"Affine2D.h"
"Timing.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Timing.h
"EmberDefines.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations02.h
"Variation.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations03.h
"Variation.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations04.h
"Variation.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/Variations05.h
"Variation.h"
1413384023 /home/heretic/Dev/fractorium/Source/Ember/VariationsDC.h
"Variation.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Interpolate.h
"Ember.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/PaletteList.h
"Palette.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Palette.h
"Utils.h"
"Isaac.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/SpatialFilter.h
"EmberDefines.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/TemporalFilter.h
"EmberDefines.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Iterator.h
"Ember.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/EmberToXml.h
"Utils.h"
"PaletteList.h"
"VariationList.h"
"Ember.h"
1413385813 /home/heretic/Dev/fractorium/Source/Ember/XmlToEmber.h
"Utils.h"
"PaletteList.h"
"VariationList.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/DensityFilter.h
"SpatialFilter.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/Renderer.h
"RendererBase.h"
"Iterator.h"
"SpatialFilter.h"
"TemporalFilter.h"
"Interpolate.h"
"CarToRas.h"
"EmberToXml.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/RendererBase.h
"Utils.h"
"Ember.h"
"DensityFilter.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/CarToRas.h
"Point.h"
1413384022 /home/heretic/Dev/fractorium/Source/Ember/SheepTools.h
"EmberDefines.h"
"Isaac.h"
"VariationList.h"
"Renderer.h"
1413384022 source:/home/heretic/Dev/fractorium/Source/Ember/EmberPch.cpp
"EmberPch.h"

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_workspace_layout_file> <CodeBlocks_workspace_layout_file>
<ActiveProject path="Ember.cbp" /> <ActiveProject path="EmberCL.cbp" />
<PreferredTarget name="Debug x64" />
</CodeBlocks_workspace_layout_file> </CodeBlocks_workspace_layout_file>

BIN
Builds/CB/libEmber.so Executable file

Binary file not shown.

View File

@ -118,7 +118,7 @@ void Renderer<T, bucketT>::ComputeBounds()
{ {
size_t maxDEFilterWidth = 0; size_t maxDEFilterWidth = 0;
m_GutterWidth = ClampGte((m_SpatialFilter->FinalFilterWidth() - Supersample()) / 2, 0ULL); m_GutterWidth = ClampGte((m_SpatialFilter->FinalFilterWidth() - Supersample()) / 2, size_t(0));
//Check the size of the density estimation filter. //Check the size of the density estimation filter.
//If the radius of the density estimation filter is greater than the //If the radius of the density estimation filter is greater than the
@ -373,8 +373,8 @@ eRenderStatus Renderer<T, bucketT>::Run(vector<unsigned char>& finalImage, doubl
pass = (resume ? m_LastPass : 0); pass = (resume ? m_LastPass : 0);
//Make sure values are within valid range. //Make sure values are within valid range.
ClampGteRef(m_Ember.m_Passes, 1ULL); ClampGteRef(m_Ember.m_Passes, size_t(1));
ClampGteRef(m_Ember.m_Supersample, 1ULL); ClampGteRef(m_Ember.m_Supersample, size_t(1));
//Make sure to get most recent update since loop won't be entered to call Interp(). //Make sure to get most recent update since loop won't be entered to call Interp().
//Vib, gam and background are normally summed for each temporal sample. However if iteration is skipped, make sure to get the latest. //Vib, gam and background are normally summed for each temporal sample. However if iteration is skipped, make sure to get the latest.
@ -892,7 +892,7 @@ eRenderStatus Renderer<T, bucketT>::GaussianDensityFilter()
size_t chunkSize = (size_t)ceil(double(endRow - startRow) / double(threads)); size_t chunkSize = (size_t)ceil(double(endRow - startRow) / double(threads));
//parallel_for scales very well, dividing the work almost perfectly among all processors. //parallel_for scales very well, dividing the work almost perfectly among all processors.
parallel_for(0ULL, threads, [&] (size_t threadIndex) parallel_for(size_t(0), threads, [&] (size_t threadIndex)
{ {
size_t pixelNumber = 0; size_t pixelNumber = 0;
int localStartRow = (int)min(startRow + (threadIndex * chunkSize), endRow - 1); int localStartRow = (int)min(startRow + (threadIndex * chunkSize), endRow - 1);
@ -1078,7 +1078,7 @@ eRenderStatus Renderer<T, bucketT>::AccumulatorToFinalImage(unsigned char* pixel
//The original does it this way as well and it's roughly 11 times faster to do it this way than inline below with each pixel. //The original does it this way as well and it's roughly 11 times faster to do it this way than inline below with each pixel.
if (EarlyClip()) if (EarlyClip())
{ {
parallel_for(0ULL, m_SuperRasH, [&] (size_t j) parallel_for(size_t(0), m_SuperRasH, [&] (size_t j)
{ {
size_t rowStart = j * m_SuperRasW;//Pull out of inner loop for optimization. size_t rowStart = j * m_SuperRasW;//Pull out of inner loop for optimization.
@ -1099,7 +1099,7 @@ eRenderStatus Renderer<T, bucketT>::AccumulatorToFinalImage(unsigned char* pixel
//otherwise artifacts that resemble page tearing will occur in an interactive run. It's //otherwise artifacts that resemble page tearing will occur in an interactive run. It's
//critical to never exit this loop prematurely. //critical to never exit this loop prematurely.
//for (size_t j = 0; j < FinalRasH(); j++)//Keep around for debugging. //for (size_t j = 0; j < FinalRasH(); j++)//Keep around for debugging.
parallel_for(0ULL, FinalRasH(), [&](size_t j) parallel_for(size_t(0), FinalRasH(), [&](size_t j)
{ {
Color<bucketT> newBucket; Color<bucketT> newBucket;
size_t pixelsRowStart = (m_YAxisUp ? ((FinalRasH() - j) - 1) : j) * FinalRowSize();//Pull out of inner loop for optimization. size_t pixelsRowStart = (m_YAxisUp ? ((FinalRasH() - j) - 1) : j) * FinalRowSize();//Pull out of inner loop for optimization.
@ -1234,7 +1234,7 @@ EmberStats Renderer<T, bucketT>::Iterate(size_t iterCount, size_t pass, size_t t
threadIndex = i; threadIndex = i;
m_TaskGroup.run([&, threadIndex] () { m_TaskGroup.run([&, threadIndex] () {
#else #else
parallel_for(0ULL, m_ThreadsToUse, [&] (size_t threadIndex) parallel_for(size_t(0), m_ThreadsToUse, [&] (size_t threadIndex)
{ {
#endif #endif
Timing t; Timing t;

View File

@ -632,7 +632,7 @@ private:
} }
else if (!Compare(curAtt->name, "size")) else if (!Compare(curAtt->name, "size"))
{ {
if (sscanf_s(attStr, "%u %u", &currentEmber.m_FinalRasW, &currentEmber.m_FinalRasH) != 2) if (sscanf_s(attStr, "%lu %lu", &currentEmber.m_FinalRasW, &currentEmber.m_FinalRasH) != 2)
{ {
m_ErrorReport.push_back(string(loc) + " : Invalid size attribute " + string(attStr)); m_ErrorReport.push_back(string(loc) + " : Invalid size attribute " + string(attStr));
xmlFree(attStr); xmlFree(attStr);