I'm going to amend this. I did some further poking around and found someone say this:
bq. In a modern core profile, there is no "fixed-function pipeline" (i.e. built-in shader generator). glEnable( GL_TEXTURE_2D) is a directive to the fixed-function pipeline's shader generator that you want to include code to support that texture unit.
bq. Delete it. You're writing the shader so you decide directly which texture units you're going to reference. Just glActiveTexture to activate the right texture unit, glBindTexture, then glUniform1i to set the texture unit index on the appropriate sampler uniform.
With that said, I still have GL errors down when I attempt to load the texture into the GPU on ios. This next piece of code is where I get the next error:
@ m_oglTexture = new QOpenGLTexture(QOpenGLTexture::Target2D);
ScopeGLCheck("GPUTextureOGL() allocate");
m_oglTexture->setData(_image->mirrored(), QOpenGLTexture::DontGenerateMipMaps); //(QOpenGLTexture::MipMapGeneration) !_generateMips);
ScopeGLCheck("GPUTextureOGL() setData"); // <-ERROR IS HERE
m_oglTexture->setMinificationFilter(QOpenGLTexture::LinearMipMapLinear);
m_oglTexture->setMagnificationFilter(QOpenGLTexture::Linear);
m_oglTexture->setWrapMode(QOpenGLTexture::DirectionS, QOpenGLTexture::Repeat);
m_oglTexture->setWrapMode(QOpenGLTexture::DirectionT, QOpenGLTexture::Repeat);
m_valid = true;@