Artifacts when gamma correcting

Doing post-process gamma correction is showing texture artifacts, here is a small example on a skybox:

The first image is gamma correcting on the skybox shader and seems correct, the lower is doing it in post-process and has terrible artifacts near the edges of the clouds, however both versions do it the same usual way:

Color.rgb = pow(Color.rgb, vec3(1.0/2.2));
Color.a = 1.0;


So that makes me believe there's something wrong with the way I'm creating and using frame buffers, here's sort of how I'm doing it:

// Generate FirstFBO, specify this as the color attachment
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, FramebufferSize.x, FramebufferSize.y, 0, GL_RGB, GL_UNSIGNED_BYTE, nullptr);

// ...

while (true) {
glBindFramebuffer(GL_FRAMEBUFFER, FirstFBO.ID);
DrawStuff();

glBindFramebuffer(GL_FRAMEBUFFER, 0);
glBindTexture(GL_TEXTURE_2D, FirstFBO.ColorTexture);
}


Short answer, set the precision of the image to a higher value.