Yes you can render each triangle mesh also as subdivision surface. However, triangle meshes sometimes have large triangle fans that the Embree subdivision implementation can currently not handle. It will drop these fans during rendering.
What values did you set for the edge tessellation levels and did you specify a displacement function for the simple cube and sphere geometry?
Embree's interpolation tutorial uses also some simple triangle-based geometry, so you could double-check the tutorial code with your implementation.
If there are still artifacts visible could you post some example code so that we can quickly reproduce the issue?
Thanks a lot,
In line 65 of the displacement tutorial you can switch the cube to a triangle cube.
You are right that there are some cracks at the triangles, probably caused by wrong geometry normals. We will work on that.
Ok, your cube is rendered that way because you no not have shared vertices. If the vertices are not shared you still define a valid subdivision surface, however, each triangle will get subdivided separately of the other triangles, resulting in the subdivision you see. To properly render the cube you have to share all vertices.