X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbackends%2Fopengl%2Fprogram_backend.cpp;h=398d35ce7a6c364aba56634cb7aa0be67ad174d6;hb=cebf1330ef6773b7b4496dc279ec02a7ca4351bb;hp=f90315c0dd3e5373a6b3cb363f079e981087564c;hpb=4e0a26d2c6b2c8034d0cf7611cbfda3ea3681d89;p=libs%2Fgl.git 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