[core] move ProgramMap to within the gl::Program object

This commit is contained in:
Konstantin Käfer
2019-03-19 14:02:10 +01:00
parent 53ab65d811
commit 1e30fdac36
53 changed files with 822 additions and 330 deletions

View File

@@ -1,18 +1,37 @@
// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.
#include <mbgl/programs/raster_program.hpp>
#include <mbgl/programs/gl/preludes.hpp>
#include <mbgl/programs/gl/shader_source.hpp>
#include <mbgl/gl/program.hpp>
namespace mbgl {
namespace programs {
namespace gl {
template <typename>
struct ShaderSource;
template <>
struct ShaderSource<RasterProgram> {
static constexpr const char* name = "raster";
static constexpr const uint8_t hash[8] = { 0x40, 0x3d, 0x6c, 0xf4, 0xd0, 0x41, 0x51, 0x0e };
static constexpr const auto vertexOffset = 48592;
static constexpr const auto fragmentOffset = 48941;
};
constexpr const char* ShaderSource<RasterProgram>::name;
constexpr const uint8_t ShaderSource<RasterProgram>::hash[8];
} // namespace gl
} // namespace programs
namespace gfx {
template <>
std::unique_ptr<Program<RasterProgram>>
Context::createProgram<gl::Context>(const ProgramParameters& programParameters) {
return gl::Program<RasterProgram>::createProgram(
reinterpret_cast<gl::Context&>(*this), programParameters, "raster",
programs::gl::shaderSource() + 48592, programs::gl::shaderSource() + 48941);
return std::make_unique<gl::Program<RasterProgram>>(programParameters);
}
} // namespace gfx