Commit Graph

1292 Commits

Author SHA1 Message Date
Robert Maynard
6a2a47d3e6 Remove order from new entries in MakeTestDataSet 2016-03-28 08:51:36 -04:00
Dave Pugmire
d7c295f46e added rectilinear to test. 2016-03-28 08:51:36 -04:00
Dave Pugmire
a8c7f92d58 Move mesa package to right place.
Also, add in code for rectlinear mesh.
2016-03-28 08:51:36 -04:00
Dave Pugmire
294b73e00e Make the rendering part of the build optional.
Add the mesa libs to the link line.
2016-03-28 08:51:36 -04:00
Dave Pugmire
719b715b59 Support for explicit cell sets. 2016-03-28 08:51:36 -04:00
Matt Larsen
9883773557 Corrected error in projection matrix that was causing mismatches with ray tracing image and depth buffers. 2016-03-28 08:51:36 -04:00
Dave Pugmire
f9c6f9cde7 cleanup of code. 2016-03-28 08:51:36 -04:00
mclarsen
693b98b92a Merging 2016-03-28 08:51:36 -04:00
mclarsen
39cffd7baa Triangulator fix 2016-03-28 08:51:36 -04:00
Dave Pugmire
aa90c06c09 Allow the renderSurface to get passed to the Plot::Render() 2016-03-28 08:51:36 -04:00
Dave Pugmire
b36091f7f4 Clean up the rendersurface code. 2016-03-28 08:51:35 -04:00
Dave Pugmire
f84401243a Initial checkin for rendering infrastructure.
This largely follows things from EAVL. This is going to change going forward.
Most of the stuff is inside Window.h right now for convenience.
2016-03-28 08:51:35 -04:00
mclarsen
03a95c44b1 adding rendering from other branch 2016-03-28 08:50:04 -04:00
Robert Maynard
643af0353f Simplify MarchingCubes implementation to reuse code where possible. 2016-03-24 09:09:08 -04:00
Robert Maynard
c12955b758 Merge topic 'less_aggressive_optimization_setting'
3eec5e86 ICC: disable vectorization as both ivdep and simd generate bad code.
f021e4a5 Make the default for vectorization be none.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !368
2016-03-23 16:57:51 -04:00
Jeremy Meredith
b53a466f48 Merge branch 'removeorder' into 'master'
removing all references to field order.

This removes all references to Field::order, since it is currently unused.  If we decide to re-add it, it will be done in a more flexible and robust way.

See merge request !380
2016-03-23 16:08:26 -04:00
Robert Maynard
3eec5e86df ICC: disable vectorization as both ivdep and simd generate bad code.
We are disabling the entire vectorization hints for ICC as it generates
both bad code, and dramatically decreases compile time.

The compiler does not check for aliasing or dependencies that might cause
incorrect results after vectorization, and it does not protect against illegal
memory references. #pragma ivdep overrides potential dependencies, but the
compiler still performs a dependency analysis, and will not vectorize if it
finds a proven dependency that would affect results. With #pragma simd, the
compiler does no such analysis, and tries to vectorize regardless.
2016-03-23 14:10:18 -04:00
Jeremy Meredith
ba8517eb67 removing all references to field order. 2016-03-23 10:38:14 -04:00
Kenneth Moreland
316ccc04a9 Remove the Extent class and related functions.
We have decided that we do not need the concept of an Extent in our data
model. Instead, we simply use dimensions, which can be represented in a
vtkm::Id3.
2016-03-22 15:41:42 -06:00
Robert Maynard
996dde8332 Don't try and hold rvalue's by const ref, it causes issues.
Previously we tried to capture rvalues by const ref, and would get
Undefined Behavior since the rvalue would go out of scope, and than
we would try to use it.
2016-03-22 12:27:45 -04:00
Robert Maynard
ca198abdac Merge topic 'update_nvidia_pthread_doc'
a4148d4e TestingWindow now explain why we need to call the pthread workaround method.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !374
2016-03-21 17:27:50 -04:00
Robert Maynard
a4148d4e6a TestingWindow now explain why we need to call the pthread workaround method. 2016-03-21 15:44:47 -04:00
Robert Maynard
cc48916432 Force GCC linker to see that we need pthread to work around nvidia driver bug.
Sometimes the compiler/linker notices that the workaround static function was
never reached and optimizes the function away. To workaround this issue we
explicitly call the function when ESC is pressed.
2016-03-21 10:26:07 -04:00
Robert Maynard
14e4be0d5e Merge topic 'vtkm_marching_cubes_filter_failure'
0a59a764 Correct issues with MarchingCubesFilter not merging points properly.
589da1f6 Simplify the General DeviceAdapter Unique method.
88f435d8 TriangulateTable warning fixes.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !370
2016-03-18 17:14:14 -04:00
Robert Maynard
a3521d62a0 Merge topic 'vtkm_filters_install_fix'
d2810519 Fix the installation of template source files.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !367
2016-03-18 16:48:40 -04:00
Robert Maynard
0a59a76479 Correct issues with MarchingCubesFilter not merging points properly. 2016-03-18 16:39:54 -04:00
Robert Maynard
589da1f66a Simplify the General DeviceAdapter Unique method. 2016-03-18 16:39:21 -04:00
Robert Maynard
88f435d8ec TriangulateTable warning fixes. 2016-03-18 14:01:07 -04:00
Chuck Atkins
570e41e809 Fix scope resolution for nvidia pthread workaround 2016-03-18 12:00:17 -04:00
Chuck Atkins
ab1ac55b29 Merge topic 'cleanup-gcc-warnings'
af7bba06 Refactor liner interpolation to use (1-w)*v0+w*v1
635f8c79 Add a CTestCustom file to to filter out warnings that cant be eliminated
f74c0d3c Remove type conversion related warnings for GCC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !351
2016-03-18 11:47:34 -04:00
Robert Maynard
81405ecf0e Merge topic 'correct_transfer_to_opengl_test'
df8c13ee Mark vtkm_force_linking_to_pthread_to_fix_nvidia_libgl_bug as static

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !369
2016-03-18 11:27:10 -04:00
Robert Maynard
df8c13eeda Mark vtkm_force_linking_to_pthread_to_fix_nvidia_libgl_bug as static 2016-03-18 11:25:59 -04:00
Chuck Atkins
af7bba062a Refactor liner interpolation to use (1-w)*v0+w*v1
Using v0+w*(v1-v0) can be numerically unstaqble due to floating point
arithmatic errors.  Additionaly, the newer form also resolves type
conversion warnings.
2016-03-18 10:54:56 -04:00
Robert Maynard
229a416b56 Merge topic 'correct_transfer_to_opengl_test'
c1c43d19 Force GCC linker to see that we need pthread to work around nvidia driver bug.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !365
2016-03-18 10:44:54 -04:00
Robert Maynard
c1c43d19d4 Force GCC linker to see that we need pthread to work around nvidia driver bug.
1. Some Linux distributions default linker implicitly enables the as-needed
linking flag. This means that your shared library or executable will only
link to libraries from which they use symbols. So if you explicitly link to
pthread but don't use any symbols you wont have a 'DT_NEEDED' entry for
pthread.

2. NVidia libGL (driver version 352 ) uses pthread but doesn't have
a DT_NEEDED entry for the library. When you run ldd or readelf on the library
you won't detect any reference to the pthread library. Aside this is odd
since the mesa version does explicitly link to pthread. But if you run the
following command:
       "strings  /usr/lib/nvidia-352/libGL.so.1 | grep pthread | less"
You will see the following:
{ pthread_create
  pthread_self
  pthread_equal
  pthread_key_crea
  ...
  libpthread.so.0
  libpthread.so
  pthread_create
}
This is very strong evidence that this library is using pthread.

3. So what does this all mean?
It means that on system that use the linking flag 'as-needed', are using
the nvidia driver, and don't use pthread will generate binaries that crash
on launch. The only way to work around this issue is to do either:
  A: Specify 'no-as-needed' to the linker potentially causing over-linking
     and a  slow down in link time
  B: Use a method from pthread, making the linker realize that pthread is
     needed.

 We went with method B.
2016-03-18 09:34:03 -04:00
T.J. Corona
d281051996 Fix the installation of template source files. 2016-03-18 06:24:43 -04:00
Kenneth Moreland
345c360be1 Merge topic 'consistent-io-interface'
f81e8c64 Fix example that was using the old interface to VTKDataSetWriter
6aaf85ba Fix compile error with ofstream.
e863ee99 Change interface of VTKDataSetWriter

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !364
2016-03-17 14:42:02 -04:00
Chuck Atkins
f74c0d3c88 Remove type conversion related warnings for GCC 2016-03-17 13:05:38 -04:00
Kenneth Moreland
6aaf85baa6 Fix compile error with ofstream.
Not all STD implementations allow constructing an ofstream with a filename
in a std::string. Get the c string instead.
2016-03-17 08:53:35 -06:00
Kenneth Moreland
e863ee991a Change interface of VTKDataSetWriter
Make it match VTKDataSetReader better. It's also a bit easier to use
because you just have to give it a filename rather than open your own file
stream.
2016-03-16 15:35:38 -06:00
Robert Maynard
3b06784146 Merge topic 'stop_icc_15_from_icing'
3f7d9429 Disable vectorization on debug Intel Compiler builds.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !363
2016-03-16 15:27:24 -04:00
Robert Maynard
7daa6668e8 Merge topic 'disable_vectorization_on_icc_14'
8818cfc6 Disable vectorization when building with ICC 14.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !362
2016-03-16 15:27:08 -04:00
Robert Maynard
57471721f7 Merge topic 'safer_vectorizations_for_serial_backend'
73b90a2e Don't provide vectorization hints for operations that can be done inplace.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !360
2016-03-16 15:27:02 -04:00
Robert Maynard
3f7d9429c3 Disable vectorization on debug Intel Compiler builds.
The intel compiler generates internal compiler errors when you use
pragma simd and haven't defined NDEBUG.
2016-03-16 15:15:05 -04:00
Robert Maynard
8114736510 fix a long long to int warning. 2016-03-16 13:27:32 -04:00
Robert Maynard
8818cfc600 Disable vectorization when building with ICC 14.0
We have found that ICC 14.0 produces bad simd code that causes
vtkm worklets to throw SIGBUS signals. This issue was resolved in
ICC 15.0
2016-03-16 13:27:04 -04:00
Robert Maynard
73b90a2e44 Don't provide vectorization hints for operations that can be done inplace.
Previously we hinted to the compiler that it should vectorized operations
where the input and output are the same array. This obviously caused problems,
and these hints had to be removed.

In the future we need to first check for aliased arrays, and go from there.
2016-03-16 08:29:00 -04:00
Robert Maynard
177b31f330 Merge topic 'properly_compute_scatter_array_lengths'
85084f2c ScatterIdentity::GetVisitArray parameters are now named properly
86ecad65 ScatterIdentity::GetOutputToInputMap parameters are now named properly
40896e2b Allocate the scatter arrays to be proper length.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kenneth Moreland <kmorel@sandia.gov>
Merge-request: !359
2016-03-15 16:59:52 -04:00
Robert Maynard
85084f2ca1 ScatterIdentity::GetVisitArray parameters are now named properly
Now it is clear you pass in the input range and you will get the output
range
2016-03-15 16:49:36 -04:00
Robert Maynard
86ecad659a ScatterIdentity::GetOutputToInputMap parameters are now named properly
Now it is clear you pass in the input range and you will get the output
range.
2016-03-15 16:20:37 -04:00