Make GL version choosing platform specific

Use 4.3 for Windows, and 4.2 with extensions for Linux.

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-12-13 23:37:41 +01:00
parent 92d91b09ff
commit 02dc4b81df
4 changed files with 33 additions and 10 deletions

View File

@@ -85,6 +85,7 @@ import static net.runelite.client.plugins.gpu.GLUtil.inputStreamToString;
import net.runelite.client.plugins.gpu.config.AntiAliasingMode;
import net.runelite.client.plugins.gpu.template.Template;
import net.runelite.client.ui.DrawManager;
import net.runelite.client.util.OSType;
@PluginDescriptor(
name = "GPU",
@@ -438,7 +439,35 @@ public class GpuPlugin extends Plugin implements DrawCallbacks
glGeomShader = gl.glCreateShader(gl.GL_GEOMETRY_SHADER);
glFragmentShader = gl.glCreateShader(gl.GL_FRAGMENT_SHADER);
Function<String, String> resourceLoader = (s) -> inputStreamToString(getClass().getResourceAsStream(s));
final String glVersionHeader;
if (OSType.getOSType() == OSType.Linux)
{
glVersionHeader =
"#version 420\n" +
"#extension GL_ARB_compute_shader : require\n" +
"#extension GL_ARB_shader_storage_buffer_object : require\n";
}
else
{
glVersionHeader = "#version 430\n";
}
Function<String, String> resourceLoader = (s) ->
{
if (s.endsWith(".glsl"))
{
return inputStreamToString(getClass().getResourceAsStream(s));
}
if (s.equals("version_header"))
{
return glVersionHeader;
}
return "";
};
Template template = new Template(resourceLoader);
String source = template.process(resourceLoader.apply("geom.glsl"));

View File

@@ -23,9 +23,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#version 420
#extension GL_ARB_compute_shader : require
#extension GL_ARB_shader_storage_buffer_object : require
#include version_header
shared int totalNum[12]; // number of faces with a given priority
shared int totalDistance[12]; // sum of distances to faces of a given priority

View File

@@ -23,9 +23,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#version 420
#extension GL_ARB_compute_shader : require
#extension GL_ARB_shader_storage_buffer_object : require
#include version_header
shared int totalNum[12]; // number of faces with a given priority
shared int totalDistance[12]; // sum of distances to faces of a given priority

View File

@@ -23,9 +23,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#version 420
#extension GL_ARB_compute_shader : require
#extension GL_ARB_shader_storage_buffer_object : require
#include version_header
#include comp_common.glsl