changed shader compilation to fail for warnings, not just empty string