Bug 1760684 [wpt PR 33213] - Update wpt metadata, a=testonly
[gecko.git] / gfx / webrender_bindings / RenderTextureHost.cpp
blob79d33139dd41ce9acaeb698f566e9316cf29ff1e
1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "RenderTextureHost.h"
9 #include "GLContext.h"
10 #include "RenderThread.h"
12 namespace mozilla {
13 namespace wr {
15 void ActivateBindAndTexParameteri(gl::GLContext* aGL, GLenum aActiveTexture,
16 GLenum aBindTarget, GLuint aBindTexture,
17 wr::ImageRendering aRendering) {
18 aGL->fActiveTexture(aActiveTexture);
19 aGL->fBindTexture(aBindTarget, aBindTexture);
20 aGL->fTexParameteri(aBindTarget, LOCAL_GL_TEXTURE_MIN_FILTER,
21 aRendering == wr::ImageRendering::Pixelated
22 ? LOCAL_GL_NEAREST
23 : LOCAL_GL_LINEAR);
24 aGL->fTexParameteri(aBindTarget, LOCAL_GL_TEXTURE_MAG_FILTER,
25 aRendering == wr::ImageRendering::Pixelated
26 ? LOCAL_GL_NEAREST
27 : LOCAL_GL_LINEAR);
30 RenderTextureHost::RenderTextureHost()
31 : mCachedRendering(wr::ImageRendering::Auto) {
32 MOZ_COUNT_CTOR(RenderTextureHost);
35 RenderTextureHost::~RenderTextureHost() {
36 MOZ_ASSERT(RenderThread::IsInRenderThread());
37 MOZ_COUNT_DTOR(RenderTextureHost);
40 bool RenderTextureHost::IsFilterUpdateNecessary(wr::ImageRendering aRendering) {
41 return mCachedRendering != aRendering;
44 wr::WrExternalImage RenderTextureHost::Lock(uint8_t aChannelIndex,
45 gl::GLContext* aGL,
46 wr::ImageRendering aRendering) {
47 return InvalidToWrExternalImage();
50 wr::WrExternalImage RenderTextureHost::LockSWGL(uint8_t aChannelIndex,
51 void* aContext,
52 RenderCompositor* aCompositor,
53 wr::ImageRendering aRendering) {
54 return InvalidToWrExternalImage();
57 } // namespace wr
58 } // namespace mozilla