diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/Sampler.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/Sampler.cpp | 73 |
1 files changed, 45 insertions, 28 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/Sampler.cpp b/src/3rdparty/angle/src/libANGLE/Sampler.cpp index d8d606a46f..0f05b697a2 100644 --- a/src/3rdparty/angle/src/libANGLE/Sampler.cpp +++ b/src/3rdparty/angle/src/libANGLE/Sampler.cpp @@ -9,14 +9,14 @@ #include "libANGLE/Sampler.h" #include "libANGLE/angletypes.h" -#include "libANGLE/renderer/ImplFactory.h" +#include "libANGLE/renderer/GLImplFactory.h" #include "libANGLE/renderer/SamplerImpl.h" namespace gl { -Sampler::Sampler(rx::ImplFactory *factory, GLuint id) - : RefCountObject(id), mImpl(factory->createSampler()), mLabel(), mSamplerState() +Sampler::Sampler(rx::GLImplFactory *factory, GLuint id) + : RefCountObject(id), mState(), mImpl(factory->createSampler(mState)), mLabel() { } @@ -25,6 +25,11 @@ Sampler::~Sampler() SafeDelete(mImpl); } +Error Sampler::onDestroy(const Context *context) +{ + return NoError(); +} + void Sampler::setLabel(const std::string &label) { mLabel = label; @@ -37,116 +42,128 @@ const std::string &Sampler::getLabel() const void Sampler::setMinFilter(GLenum minFilter) { - mSamplerState.minFilter = minFilter; + mState.minFilter = minFilter; } GLenum Sampler::getMinFilter() const { - return mSamplerState.minFilter; + return mState.minFilter; } void Sampler::setMagFilter(GLenum magFilter) { - mSamplerState.magFilter = magFilter; + mState.magFilter = magFilter; } GLenum Sampler::getMagFilter() const { - return mSamplerState.magFilter; + return mState.magFilter; } void Sampler::setWrapS(GLenum wrapS) { - mSamplerState.wrapS = wrapS; + mState.wrapS = wrapS; } GLenum Sampler::getWrapS() const { - return mSamplerState.wrapS; + return mState.wrapS; } void Sampler::setWrapT(GLenum wrapT) { - mSamplerState.wrapT = wrapT; + mState.wrapT = wrapT; } GLenum Sampler::getWrapT() const { - return mSamplerState.wrapT; + return mState.wrapT; } void Sampler::setWrapR(GLenum wrapR) { - mSamplerState.wrapR = wrapR; + mState.wrapR = wrapR; } GLenum Sampler::getWrapR() const { - return mSamplerState.wrapR; + return mState.wrapR; } void Sampler::setMaxAnisotropy(float maxAnisotropy) { - mSamplerState.maxAnisotropy = maxAnisotropy; + mState.maxAnisotropy = maxAnisotropy; } float Sampler::getMaxAnisotropy() const { - return mSamplerState.maxAnisotropy; + return mState.maxAnisotropy; } void Sampler::setMinLod(GLfloat minLod) { - mSamplerState.minLod = minLod; + mState.minLod = minLod; } GLfloat Sampler::getMinLod() const { - return mSamplerState.minLod; + return mState.minLod; } void Sampler::setMaxLod(GLfloat maxLod) { - mSamplerState.maxLod = maxLod; + mState.maxLod = maxLod; } GLfloat Sampler::getMaxLod() const { - return mSamplerState.maxLod; + return mState.maxLod; } void Sampler::setCompareMode(GLenum compareMode) { - mSamplerState.compareMode = compareMode; + mState.compareMode = compareMode; } GLenum Sampler::getCompareMode() const { - return mSamplerState.compareMode; + return mState.compareMode; } void Sampler::setCompareFunc(GLenum compareFunc) { - mSamplerState.compareFunc = compareFunc; + mState.compareFunc = compareFunc; } GLenum Sampler::getCompareFunc() const { - return mSamplerState.compareFunc; + return mState.compareFunc; } -const SamplerState &Sampler::getSamplerState() const +void Sampler::setSRGBDecode(GLenum sRGBDecode) { - return mSamplerState; + mState.sRGBDecode = sRGBDecode; } -const rx::SamplerImpl *Sampler::getImplementation() const +GLenum Sampler::getSRGBDecode() const { - return mImpl; + return mState.sRGBDecode; +} + +const SamplerState &Sampler::getSamplerState() const +{ + return mState; } -rx::SamplerImpl *Sampler::getImplementation() +rx::SamplerImpl *Sampler::getImplementation() const { return mImpl; } + +void Sampler::syncState(const Context *context) +{ + // TODO(jmadill): Use actual dirty bits for sampler. + mImpl->syncState(context); } + +} // namespace gl |