So, some general advice is needed here.
I recently got a laptop that only supports glsl 1.3 and opengl 3.0 (it's a chromebook 14, with chromeOS erased and Ubuntu 14.10 installed over it).
I'm realizing that with my current project, I've written the shaders with 330 support. I'd like it to support glsl 1.3 as well. I think the only things in my shaders that aren't compatible are the "layout" portions of things (they're rather simple lighting shaders). I've made a build that adds glBindAttribLocation and glBindFragDataLocation on object creation, and changed the shaders to account for that. It runs, albeit rather jittery, though I haven't profiled it to find out why yet.
If I don't want to maintain two builds, what's the best way to handle this? My initial reaction is to have a low/high setting, and depending on which, on item creation have two separate rendering methods. However, I was curious how everyone else handled this. Is there any performance benefit to using the layout functions, or is this purely for convenience? If it's just convenience, I'm happy to simply use the deprecated functions and have it support lower end hardware.
Anyhow, I'm curious to know everyone else's approach to compatibility, as this is rather a new realm for me.
Cheers, and thanks!