]> git.tdb.fi Git - libs/gl.git/commitdiff
Require passing features to SL::Compiler constructor
authorMikko Rasa <tdb@tdb.fi>
Mon, 8 Nov 2021 19:50:00 +0000 (21:50 +0200)
committerMikko Rasa <tdb@tdb.fi>
Mon, 8 Nov 2021 20:05:38 +0000 (22:05 +0200)
Using the current context's features by default seems like it could lead
to some surprises down the road.

source/backends/opengl/program_backend.cpp
source/core/module.cpp
source/glsl/compiler.cpp
source/glsl/compiler.h

index 1fc8c4420556257c19a5611ce66b9d212b86da86..32c6d6e137c36e4789b47ccb2b381a7823396be2 100644 (file)
@@ -12,6 +12,7 @@
 #include <msp/gl/extensions/khr_debug.h>
 #include <msp/gl/extensions/nv_non_square_matrices.h>
 #include <msp/io/print.h>
+#include "deviceinfo.h"
 #include "error.h"
 #include "program.h"
 #include "program_backend.h"
@@ -89,7 +90,7 @@ unsigned OpenGLProgram::add_stage(Stage type)
 
 void OpenGLProgram::add_glsl_stages(const GlslModule &mod, const map<string, int> &spec_values, TransientData &transient)
 {
-       SL::Compiler compiler;
+       SL::Compiler compiler(DeviceInfo::get_global().glsl_features);
        compiler.set_source(mod.get_prepared_source(), "<module>");
        compiler.specialize(spec_values);
        compiler.compile(SL::Compiler::PROGRAM);
index 6d0122c055583d0bafa40f70d6bae08128322514..099e8b7fa988c427def61bddaf77ae08f5916978 100644 (file)
@@ -1,5 +1,6 @@
 #include <msp/core/algorithm.h>
 #include <msp/io/print.h>
+#include "deviceinfo.h"
 #include "module.h"
 #include "resources.h"
 
@@ -49,14 +50,14 @@ namespace GL {
 
 void Module::set_source(const string &src)
 {
-       SL::Compiler compiler;
+       SL::Compiler compiler(DeviceInfo::get_global().glsl_features);
        compiler.set_source(src);
        compile(compiler);
 }
 
 void Module::load_source(IO::Base &io, Resources *res, const string &name)
 {
-       SL::Compiler compiler;
+       SL::Compiler compiler(DeviceInfo::get_global().glsl_features);
        compiler.load_source(io, res, name);
        compile(compiler);
 }
index 9ddafcff403c9369b72a76828c366e59077ed3f8..3f25935064beafe5c0fbecd86bcf4dae40eaa16c 100644 (file)
@@ -4,7 +4,6 @@
 #include "builtin.h"
 #include "compiler.h"
 #include "debug.h"
-#include "deviceinfo.h"
 #include "error.h"
 #include "finalize.h"
 #include "generate.h"
@@ -24,10 +23,6 @@ namespace Msp {
 namespace GL {
 namespace SL {
 
-Compiler::Compiler():
-       features(DeviceInfo::get_global().glsl_features)
-{ }
-
 Compiler::Compiler(const Features &f):
        features(f)
 { }
index 9d839745aa752e365b81057a3f46b917c52c9401..52076e693f66c9f84a7282dca8b0c9fa91b559d4 100644 (file)
@@ -47,9 +47,6 @@ private:
        std::map<std::string, int> spec_values;
 
 public:
-       /** Creates a compiler using features from the current OpenGL context. */
-       Compiler();
-
        /** Creates a compiler targeting a specific set of features. */
        Compiler(const Features &);