I'm trying out bindless textures and I noticed what I think may be a driver bug, but I am not certain.
Basically, if my shader looks like this:
#version 440 core
#extension GL_ARB_bindless_texture : require
layout(location = 0) uniform sampler2D texture0;
I get an error saying that sampler handle updates are not allowed if the bindless_sampler qualifier is not set. Fair enough. Change the shader to this and all is well.
#version 440 core
#extension GL_ARB_bindless_texture : require
layout(location = 0, bindless_sampler) uniform sampler2D texture0;
However, if I do this:
#version 440 core
layout(location = 0) uniform sampler2D texture0;
Then I get no errors and everything works fine, despite the fact that I am still using a bindless handle. The GL code is:
GLuint64 texture_handle = glGetTextureHandleARB(texture);
glMakeTextureHandleResidentARB(texture_handle);
glProgramUniformHandleui64ARB(shader_program, 0, texture_handle);