OpenGL: Sampler2D bound, but empty

I'm trying to bind a texture to a uniform sampler2D in the fragment shader of my program, but when I read from the texture all I get is black. I've then used a graphical debugger called RenderDoc to examine the texture I upload and interestingly enough RenderDoc finds the texture, confirms that it is bound and that it contains what I expect it to contain.

Here is what I do, in the order I do it:

Creating the texture using glTexImage2D:

GLuint m_buffers[2];
glGenTextures(2, this->m_buffers);

glBindTexture(GL_TEXTURE_2D, this->_m_buffers[0]);
    0,                      //Mipmaps
    GL_RGBA,                //Internal format
    0,                      //Border
    GL_RGBA,                //Format read
    GL_UNSIGNED_BYTE,       //Type of values in read format
    NULL                    //source

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);       //When shrunk go blurry
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);       //When enlarged go blurry
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);    //Set wrapping to clamp to edge
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);    //Set wrapping to clamp to edge

Fixing a uniform in shader (uniform_name is "texture_computed0")

GLint uniLoc = glGetUniformLocation(this->m_program, uniform_name.c_str());
if(uniLoc == (GLint)-1) {
   //If it does not, write out an error
   std::cout << "ERROR::SHADER::" << uniform_name << "::UNIFORM_NOT_FOUND" << std::endl;

Binding the texture to texture unit 6 (COMPUTE_TEX)

Bind2DTextureTo(this->m_buffers[0], COMPUTE_TEX);

using this function

enum TextureEnums {
 POS_TEX,        //0
 NOR_TEX,        //1
 LGTPOS_TEX,     //3
 COMPUTE_TEX,    //6
 DEPTH_TEX,      //7

inline void Bind2DTextureTo(GLuint texture_id, TextureEnums target_unit) {
 glActiveTexture(GL_TEXTURE0 + target_unit);
 glBindTexture(GL_TEXTURE_2D, texture_id);

Then receiving it in the fragment shader like:

layout (binding=6) uniform sampler2D texture_computed0;

And finally trying to use it:

out_col = texture(texture_computed0, v_uvs);

Now out_col is a vec4 that is drawn onto the screen and trying to get colors from other textures works perfectly fine. I then went into RenderDoc which shows me that the texture texture_diffuse0 is bound to texture unit 6, it has the right proportions, has the format rgba8 as expected and if i open the bound texture in RenderDoc I can see the texture that I expect to see on the screen.

So I get a black screen but the debugging program tells me nothing is wrong. Has anyone seen something similar?