Hash :
a336b90f
Author :
Date :
2017-08-02T16:05:21
ES31: Impl program pipeline object management entries for GL backend. The program pipeline object management entries are: GenProgramPipelines DeleteProgramPipelines BindProgramPipeline IsProgramPipeline BUG:angleproject:2123 Change-Id: I114d054b90caf2ee3f9befef7439552a1c309bc4 Reviewed-on: https://chromium-review.googlesource.com/629978 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
//
// Copyright 2017 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// ProgramPipelineGL.cpp: Implements the class methods for ProgramPipelineGL.
#include "libANGLE/renderer/gl/ProgramPipelineGL.h"
#include "common/debug.h"
#include "libANGLE/renderer/gl/FunctionsGL.h"
namespace rx
{
ProgramPipelineGL::ProgramPipelineGL(const gl::ProgramPipelineState &data,
const FunctionsGL *functions)
: ProgramPipelineImpl(data), mFunctions(functions), mProgramPipelineID(0)
{
ASSERT(mFunctions);
mFunctions->genProgramPipelines(1, &mProgramPipelineID);
}
ProgramPipelineGL::~ProgramPipelineGL()
{
if (mProgramPipelineID != 0)
{
mFunctions->deleteProgramPipelines(1, &mProgramPipelineID);
mProgramPipelineID = 0;
}
}
} // namespace rx