X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fprogram_backend.cpp;h=398d35ce7a6c364aba56634cb7aa0be67ad174d6;hp=f90315c0dd3e5373a6b3cb363f079e981087564c;hb=cebf1330ef6773b7b4496dc279ec02a7ca4351bb;hpb=2a70fecfbbe8708be2bdaa75d222dd5a889a8ed3 diff --git a/source/backends/opengl/program_backend.cpp b/source/backends/opengl/program_backend.cpp index f90315c0..398d35ce 100644 --- a/source/backends/opengl/program_backend.cpp +++ b/source/backends/opengl/program_backend.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -81,6 +82,7 @@ unsigned OpenGLProgram::add_stage(Stage type) case VERTEX: { static Require _req(ARB_vertex_shader); gl_type = GL_VERTEX_SHADER; } break; case GEOMETRY: { static Require _req(ARB_geometry_shader4); gl_type = GL_GEOMETRY_SHADER; } break; case FRAGMENT: { static Require _req(ARB_fragment_shader); gl_type = GL_FRAGMENT_SHADER; } break; + case COMPUTE: { static Require _req(ARB_compute_shader); gl_type = GL_COMPUTE_SHADER; } break; default: throw invalid_argument("OpenGLProgram::add_stage"); } @@ -123,6 +125,7 @@ void OpenGLProgram::add_glsl_stages(const GlslModule &mod, const map(wg_size[0], wg_size[1], wg_size[2]); + } const map &block_bindings = compiler.get_uniform_block_bindings(); if(!block_bindings.empty()) @@ -222,6 +231,7 @@ void OpenGLProgram::add_spirv_stages(const SpirVModule &mod, const map