bool ValidateTexTarget(WebGLContext* webgl, GLenum rawTexTarget, const char* funcName, TexTarget* const out_texTarget, WebGLTexture** const out_tex) { if (webgl->IsContextLost()) return false; TexTarget texTarget; if (!IsValidTexTarget(webgl, rawTexTarget, &texTarget)) { webgl->ErrorInvalidEnum("%s: Invalid texTarget.", funcName); return false; } WebGLTexture* tex = webgl->ActiveBoundTextureForTarget(texTarget); if (!tex) { webgl->ErrorInvalidOperation("%s: No texture is bound to this target.", funcName); return false; } *out_texTarget = texTarget; *out_tex = tex; return true; }
bool ValidateTexTarget(WebGLContext* webgl, uint8_t funcDims, GLenum rawTexTarget, TexTarget* const out_texTarget, WebGLTexture** const out_tex) { if (webgl->IsContextLost()) return false; TexTarget texTarget; if (!IsValidTexTarget(webgl, funcDims, rawTexTarget, &texTarget)) { webgl->ErrorInvalidEnumInfo("texTarget", rawTexTarget); return false; } WebGLTexture* tex = webgl->ActiveBoundTextureForTarget(texTarget); if (!tex) { webgl->ErrorInvalidOperation("No texture is bound to this target."); return false; } *out_texTarget = texTarget; *out_tex = tex; return true; }