Things, like you describe (one pass), having vertices noise applied in the domain shader is what is working now !
The problem I was concerned (first post), was how to compute the normals with this method....
It's working to generate some noise points close to the base vertex, and compute the normal.. But it's a lot of GPU work... And not very well solution...
I wanted (at start) compute the normals with the geometry shader..
But unfortunatly, it is not possible in the same pass because of the output not compatible of the domain shader (cannot output triangle_adj).
My ideas was :
A- First pass for tessellation, Second pass (with TRIANGLE_ADJ) for noise in vertex shader and computing the normals in the geometry shader
B - Like A but using the compute shader for noise and normals after the tessellation (and a third pass for pixel shader)
I find not "clean" to have to compute more noise points juste to have one normal.. As if I render in multiple passes, the noise is computed only one time per vertex and I could use vertex adj to compute the normals..
I'm going crazy ;) Not so easy ;)
What you think about these normals problem ?