fixed coshader hash propagation bug, added unit test