chromium/third_party/angle/src/libANGLE/renderer/gl/PLSProgramCache.cpp

//
// Copyright 2022 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.
//

// PLSProgramCache.cpp: Implements a cache of native programs used to render load/store operations
// for EXT_shader_pixel_local_storage.

#include "libANGLE/renderer/gl/PLSProgramCache.h"

#include "libANGLE/Caps.h"
#include "libANGLE/PixelLocalStorage.h"
#include "libANGLE/renderer/gl/FunctionsGL.h"

namespace rx
{
namespace
{
GLuint CreateVAO(const FunctionsGL *gl)
{}

bool IsShaderCompiled(const FunctionsGL *gl, GLuint shaderID)
{}

bool IsProgramLinked(const FunctionsGL *gl, GLuint programID)
{}

PLSFormatKey GetPLSFormatKey(GLenum internalformat)
{}

constexpr uint64_t BitRepeat(uint64_t bits, int interval)
{}

const char *GetPLSQualifier(PLSProgramType type)
{}

const char *GetFormatQualifier(PLSFormatKey formatKey)
{}

const char *GetFormatPrecision(PLSFormatKey formatKey)
{}

const char *GetFormatRawType(PLSFormatKey formatKey)
{}

const char *GetFormatPrefix(PLSFormatKey formatKey)
{}

const char *GetFormatSwizzle(PLSFormatKey formatKey)
{}

void ExpandPLSVar(std::ostringstream &out, int binding, PLSFormatKey formatKey)
{}
}  // namespace

PLSProgramCache::PLSProgramCache(const FunctionsGL *gl, const gl::Caps &nativeCaps)
    :{}

PLSProgramCache::~PLSProgramCache()
{}

void PLSProgramKeyBuilder::prependPlane(GLenum internalformat, bool preserved)
{}

PLSProgramKey PLSProgramKeyBuilder::finish(PLSProgramType type)
{}

PLSProgramType PLSProgramKey::type() const
{}

bool PLSProgramKey::areAnyPreserved() const
{}

PLSProgramKey::Iter::Iter(const PLSProgramKey &key)
    :{}

PLSFormatKey PLSProgramKey::Iter::formatKey() const
{}

bool PLSProgramKey::Iter::preserved() const
{}

bool PLSProgramKey::Iter::operator!=(const Iter &iter) const
{}

void PLSProgramKey::Iter::operator++()
{}

void PLSProgramKey::Iter::skipInactivePlanes()
{}

PLSProgram::PLSProgram(const FunctionsGL *gl, GLuint vertexShaderID, PLSProgramKey key)
    :{}

PLSProgram::~PLSProgram()
{}

void PLSProgram::setClearValues(const gl::PixelLocalStoragePlane planes[],
                                const GLenum loadops[]) const
{}

const PLSProgram *PLSProgramCache::getProgram(PLSProgramKey key)
{}
}  // namespace rx