#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)
{ … }
}
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)
{ … }
}