]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/opengl/program_backend.cpp
Remove generic clipping state
[libs/gl.git] / source / backends / opengl / program_backend.cpp
index 3b1c4293326fd1edfe21e3aa7806e2dde4597df0..b902db5f6a99043df53af71632230ff9eed263e1 100644 (file)
@@ -38,13 +38,11 @@ void uniform_matrix_wrapper(unsigned index, unsigned count, const void *data)
 namespace Msp {
 namespace GL {
 
-OpenGLProgram::OpenGLProgram():
-       linked(false)
+OpenGLProgram::OpenGLProgram()
 {
        static Require _req(ARB_shader_objects);
 
        id = glCreateProgram();
-       fill(stage_ids, stage_ids+MAX_STAGES, 0);
 }
 
 OpenGLProgram::~OpenGLProgram()
@@ -138,6 +136,9 @@ void OpenGLProgram::add_glsl_stages(const GlslModule &mod, const map<string, int
 
        transient.textures = compiler.get_texture_bindings();
        transient.blocks = compiler.get_uniform_block_bindings();
+
+       ReflectData &rd = static_cast<Program *>(this)->reflect_data;
+       rd.n_clip_distances = compiler.get_n_clip_distances();
 }
 
 void OpenGLProgram::compile_glsl_stage(const GlslModule &mod, unsigned stage_id)
@@ -336,11 +337,6 @@ void OpenGLProgram::query_uniforms()
                }
 
        default_block.sort_uniforms();
-       if(!default_block.uniforms.empty())
-       {
-               const ReflectData::UniformInfo &uni = *default_block.uniforms.back();
-               default_block.data_size = uni.location*16+uni.array_size*get_type_size(uni.type);
-       }
        default_block.update_layout_hash();
        rd.update_layout_hash();
 }