//
// 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.
//
// ProgramPipelineNULL.cpp:
//    Implements the class methods for ProgramPipeline11.
//

#include "libANGLE/renderer/d3d/d3d11/ProgramPipeline11.h"

namespace rx
{

ProgramPipeline11::ProgramPipeline11(const gl::ProgramPipelineState &state)
    : ProgramPipelineImpl(state)
{}

ProgramPipeline11::~ProgramPipeline11() {}

}  // namespace rx
