Umm... I don't know how to put it, but...
m_window = boost::make_shared<sf::RenderWindow>();
doesn't actually create the window.
See
here. If you want to create the window, either specify some parameters or explicitly call create on the object after default-constructing it.
This is something you might end up with when explicitly requesting a 2.0+ context:
m_window = boost::make_shared<sf::RenderWindow>();
m_window->create(sf::VideoMode(100, 100), "Title", sf::Style::Default, sf::ContextSettings(0, 0, 0, 2, 0));
Int32 maxTextureSize = sf::Texture::getMaximumSize();
LOG_INFO("Maximum Texture Size: " << maxTextureSize);
const sf::ContextSettings& s = m_window->getSettings();
LOG_INFO("Context Settings: version=" << s.majorVersion << "." << s.minorVersion << " anti=" << s.antialiasingLevel << " depth=" << s.depthBits << " stencil=" << s.stencilBits);
if (!sf::Shader::isAvailable()) {
LOG_INFO("Shaders are not supported on this system.");
}
This is all adequately described in the
documentation.