Hash :
c4f27e4b
Author :
Date :
2018-03-31T14:19:18
Texture: Pass ImageIndex to relevant methods. The Vulkan back-end will be using this helper struct, so make it available everywhere. This cleans up a lot of the code for D3D. Potentially in the future we could generate these in the entry points if we supported packing multiple arguments into one. Also changes a few parameter types to GLint for compatibility. Also updates the Vulkan Texture implementation check the stored vk::Format on setImage changes. Bug: angleproject:2318 Change-Id: I57cea4a42483ab51859229517d783b58f206b8e7 Reviewed-on: https://chromium-review.googlesource.com/985203 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
//
// Copyright (c) 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.
//
// TextureImpl_mock.h: Defines a mock of the TextureImpl class.
#ifndef LIBANGLE_RENDERER_TEXTUREIMPLMOCK_H_
#define LIBANGLE_RENDERER_TEXTUREIMPLMOCK_H_
#include "gmock/gmock.h"
#include "libANGLE/renderer/TextureImpl.h"
namespace rx
{
class MockTextureImpl : public TextureImpl
{
public:
MockTextureImpl() : TextureImpl(mMockState), mMockState(gl::TextureType::_2D) {}
virtual ~MockTextureImpl() { destructor(); }
MOCK_METHOD8(setImage,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
GLenum,
const gl::Extents &,
GLenum,
GLenum,
const gl::PixelUnpackState &,
const uint8_t *));
MOCK_METHOD7(setSubImage,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
const gl::Box &,
GLenum,
GLenum,
const gl::PixelUnpackState &,
const uint8_t *));
MOCK_METHOD7(setCompressedImage,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
GLenum,
const gl::Extents &,
const gl::PixelUnpackState &,
size_t,
const uint8_t *));
MOCK_METHOD7(setCompressedSubImage,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
const gl::Box &,
GLenum,
const gl::PixelUnpackState &,
size_t,
const uint8_t *));
MOCK_METHOD5(copyImage,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
const gl::Rectangle &,
GLenum,
gl::Framebuffer *));
MOCK_METHOD5(copySubImage,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
const gl::Offset &,
const gl::Rectangle &,
gl::Framebuffer *));
MOCK_METHOD9(copyTexture,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
GLenum,
GLenum,
size_t,
bool,
bool,
bool,
const gl::Texture *));
MOCK_METHOD9(copySubTexture,
gl::Error(const gl::Context *,
const gl::ImageIndex &,
const gl::Offset &,
size_t,
const gl::Rectangle &,
bool,
bool,
bool,
const gl::Texture *));
MOCK_METHOD2(copyCompressedTexture, gl::Error(const gl::Context *, const gl::Texture *source));
MOCK_METHOD5(
setStorage,
gl::Error(const gl::Context *, gl::TextureType, size_t, GLenum, const gl::Extents &));
MOCK_METHOD4(setImageExternal,
gl::Error(const gl::Context *,
gl::TextureType,
egl::Stream *,
const egl::Stream::GLTextureDescription &));
MOCK_METHOD3(setEGLImageTarget, gl::Error(const gl::Context *, gl::TextureType, egl::Image *));
MOCK_METHOD1(generateMipmap, gl::Error(const gl::Context *));
MOCK_METHOD2(bindTexImage, gl::Error(const gl::Context *, egl::Surface *));
MOCK_METHOD1(releaseTexImage, gl::Error(const gl::Context *));
MOCK_METHOD4(getAttachmentRenderTarget,
gl::Error(const gl::Context *,
GLenum,
const gl::ImageIndex &,
FramebufferAttachmentRenderTarget **));
MOCK_METHOD6(
setStorageMultisample,
gl::Error(const gl::Context *, gl::TextureType, GLsizei, GLint, const gl::Extents &, bool));
MOCK_METHOD2(setBaseLevel, gl::Error(const gl::Context *, GLuint));
MOCK_METHOD1(syncState, void(const gl::Texture::DirtyBits &));
MOCK_METHOD0(destructor, void());
protected:
gl::TextureState mMockState;
};
}
#endif // LIBANGLE_RENDERER_TEXTUREIMPLMOCK_H_