hi cippyboy,
i've checked your shader source,
there is no GLSL version declaration in Water.* shaders.
you used in / out variables in your shaders,
if you don't declare GLSL version, default version would be #version 110,
in / out variables are not supported by version 110, so there will be compiling errors.
i added
#version 440 compatibility
to first line of following shaders:
Water.vert
Water.frag
Water.tcs
Water.tes
then the cash can't be observed.
can you check again?
regards
davy