blob: 8d46e8d56e7ed48c5369f2600aaadc6c2015bb32 [file] [log] [blame]
//
// Copyright 2015 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// angle_unittests_utils.h:
// Helpers for mocking and unit testing.
#ifndef TESTS_ANGLE_UNITTESTS_UTILS_H_
#define TESTS_ANGLE_UNITTESTS_UTILS_H_
#include "libANGLE/renderer/ImplFactory.h"
namespace rx
{
// Useful when mocking a part of the ImplFactory class
class NullFactory : public ImplFactory
{
public:
NullFactory() {}
// Shader creation
CompilerImpl *createCompiler(const gl::Data &data) override { return nullptr; }
ShaderImpl *createShader(GLenum type) override { return nullptr; }
ProgramImpl *createProgram() override { return nullptr; }
// Framebuffer creation
FramebufferImpl *createDefaultFramebuffer(const gl::Framebuffer::Data &data) override { return nullptr; }
FramebufferImpl *createFramebuffer(const gl::Framebuffer::Data &data) override { return nullptr; }
// Texture creation
TextureImpl *createTexture(GLenum target) override { return nullptr; }
// Renderbuffer creation
RenderbufferImpl *createRenderbuffer() override { return nullptr; }
// Buffer creation
BufferImpl *createBuffer() override { return nullptr; }
// Vertex Array creation
VertexArrayImpl *createVertexArray(const gl::VertexArray::Data &data) override { return nullptr; }
// Query and Fence creation
QueryImpl *createQuery(GLenum type) override { return nullptr; }
FenceNVImpl *createFenceNV() override { return nullptr; }
FenceSyncImpl *createFenceSync() override { return nullptr; }
// Transform Feedback creation
TransformFeedbackImpl *createTransformFeedback() override { return nullptr; }
};
}
#endif // TESTS_ANGLE_UNITTESTS_UTILS_H_