glPushAttrib / glPopAttrib управляло состоянием фиксированной функции, которое не было перенесено из более старых версий OpenGL. Программируемые шейдеры заменили все функции с фиксированными функциями в GLES и более новые версии OpenGL.
Состояние - это то, чем вы сами управляете с помощью входов в шейдерные программы.