mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 22:05:44 +00:00
Bug 1236785 - return WebGLTexture cache value for GetTexParameter() call. r=mtseng
--HG-- extra : rebase_source : 6c5d6358f6f4ee0f3c5f4e09a2b17998657415e8
This commit is contained in:
parent
28b72fb07b
commit
184798636b
@ -803,22 +803,37 @@ WebGLTexture::GetTexParameter(TexTarget texTarget, GLenum pname)
|
||||
|
||||
switch (pname) {
|
||||
case LOCAL_GL_TEXTURE_MIN_FILTER:
|
||||
return JS::NumberValue(uint32_t(mMinFilter.get()));
|
||||
|
||||
case LOCAL_GL_TEXTURE_MAG_FILTER:
|
||||
return JS::NumberValue(uint32_t(mMagFilter.get()));
|
||||
|
||||
case LOCAL_GL_TEXTURE_WRAP_S:
|
||||
return JS::NumberValue(uint32_t(mWrapS.get()));
|
||||
|
||||
case LOCAL_GL_TEXTURE_WRAP_T:
|
||||
return JS::NumberValue(uint32_t(mWrapT.get()));
|
||||
|
||||
case LOCAL_GL_TEXTURE_BASE_LEVEL:
|
||||
case LOCAL_GL_TEXTURE_COMPARE_FUNC:
|
||||
return JS::NumberValue(mBaseMipmapLevel);
|
||||
|
||||
case LOCAL_GL_TEXTURE_COMPARE_MODE:
|
||||
case LOCAL_GL_TEXTURE_IMMUTABLE_LEVELS:
|
||||
return JS::NumberValue(uint32_t(mTexCompareMode));
|
||||
|
||||
case LOCAL_GL_TEXTURE_MAX_LEVEL:
|
||||
return JS::NumberValue(mMaxMipmapLevel);
|
||||
|
||||
case LOCAL_GL_TEXTURE_IMMUTABLE_FORMAT:
|
||||
return JS::BooleanValue(mImmutable);
|
||||
|
||||
case LOCAL_GL_TEXTURE_IMMUTABLE_LEVELS:
|
||||
return JS::NumberValue(uint32_t(mImmutableLevelCount));
|
||||
|
||||
case LOCAL_GL_TEXTURE_COMPARE_FUNC:
|
||||
case LOCAL_GL_TEXTURE_WRAP_R:
|
||||
mContext->gl->fGetTexParameteriv(texTarget.get(), pname, &i);
|
||||
return JS::NumberValue(uint32_t(i));
|
||||
|
||||
case LOCAL_GL_TEXTURE_IMMUTABLE_FORMAT:
|
||||
mContext->gl->fGetTexParameteriv(texTarget.get(), pname, &i);
|
||||
return JS::BooleanValue(bool(i));
|
||||
|
||||
case LOCAL_GL_TEXTURE_MAX_ANISOTROPY_EXT:
|
||||
case LOCAL_GL_TEXTURE_MAX_LOD:
|
||||
case LOCAL_GL_TEXTURE_MIN_LOD:
|
||||
@ -999,11 +1014,13 @@ WebGLTexture::TexParameter(TexTarget texTarget, GLenum pname, GLint* maybeIntPar
|
||||
case LOCAL_GL_TEXTURE_BASE_LEVEL:
|
||||
mBaseMipmapLevel = intParam;
|
||||
ClampLevelBaseAndMax();
|
||||
intParam = mBaseMipmapLevel;
|
||||
break;
|
||||
|
||||
case LOCAL_GL_TEXTURE_MAX_LEVEL:
|
||||
mMaxMipmapLevel = intParam;
|
||||
ClampLevelBaseAndMax();
|
||||
intParam = mMaxMipmapLevel;
|
||||
break;
|
||||
|
||||
case LOCAL_GL_TEXTURE_MIN_FILTER:
|
||||
|
@ -1229,6 +1229,7 @@ WebGLTexture::TexStorage(const char* funcName, TexTarget target, GLsizei levels,
|
||||
PopulateMipChain(0, levels-1);
|
||||
|
||||
mImmutable = true;
|
||||
mImmutableLevelCount = levels;
|
||||
}
|
||||
|
||||
////////////////////////////////////////
|
||||
|
Loading…
Reference in New Issue
Block a user