no need pack attr for struct if pragma used
print build log when build has error
shader gets smart