Beispiel #1
0
void GSShaderOGL::SetupRessources()
{
	if (!GLLoader::found_GL_ARB_bindless_texture) return;

	if (GLState::dirty_ressources) {
		GLState::dirty_ressources = false;
		if (GLLoader::found_GL_ARB_separate_shader_objects) {
			gl_ProgramUniformHandleui64vARB(GLState::ps, 0, 1, &GLState::tex_handle[0]);
			if (GLState::tex_handle[1])
				gl_ProgramUniformHandleui64vARB(GLState::ps, 1, 1, &GLState::tex_handle[1]);
		} else {
			gl_UniformHandleui64vARB(0, 1, &GLState::tex_handle[0]);
			if (GLState::tex_handle[1])
				gl_UniformHandleui64vARB(1, 1, &GLState::tex_handle[1]);
		}
	}
}
Beispiel #2
0
void GSShaderOGL::SetupRessources()
{
#ifndef ENABLE_GLES
	if (!GLLoader::found_GL_ARB_bindless_texture) return;

	if (GLState::dirty_ressources) {
		GLState::dirty_ressources = false;
		// FIXME count !
		// FIXME location !
		GLuint count = (GLState::tex_handle[1]) ? 2 : 1;
		if (GLLoader::found_GL_ARB_separate_shader_objects) {
			gl_ProgramUniformHandleui64vARB(GLState::ps, 0, count, GLState::tex_handle);
		} else {
			gl_UniformHandleui64vARB(0, count, GLState::tex_handle);
		}
	}
#endif
}