Hash :
9d737966
Author :
Date :
2019-08-14T12:25:12
Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
"The ANGLE Project Authors"
These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.
BUG=angleproject:3811
Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@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
//
// Copyright 2002 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.
//
// Image9.h: Defines the rx::Image9 class, which acts as the interface to
// the actual underlying surfaces of a Texture.
#ifndef LIBANGLE_RENDERER_D3D_D3D9_IMAGE9_H_
#define LIBANGLE_RENDERER_D3D_D3D9_IMAGE9_H_
#include "common/debug.h"
#include "libANGLE/renderer/d3d/ImageD3D.h"
namespace gl
{
class Framebuffer;
}
namespace rx
{
class Context9;
class Renderer9;
class Image9 : public ImageD3D
{
public:
Image9(Renderer9 *renderer);
~Image9() override;
static angle::Result GenerateMipmap(Context9 *context9, Image9 *dest, Image9 *source);
static angle::Result GenerateMip(Context9 *context9,
IDirect3DSurface9 *destSurface,
IDirect3DSurface9 *sourceSurface);
static angle::Result CopyLockableSurfaces(Context9 *context9,
IDirect3DSurface9 *dest,
IDirect3DSurface9 *source);
static angle::Result CopyImage(const gl::Context *context,
Image9 *dest,
Image9 *source,
const gl::Rectangle &sourceRect,
const gl::Offset &destOffset,
bool unpackFlipY,
bool unpackPremultiplyAlpha,
bool unpackUnmultiplyAlpha);
bool redefine(gl::TextureType type,
GLenum internalformat,
const gl::Extents &size,
bool forceRelease) override;
D3DFORMAT getD3DFormat() const;
bool isDirty() const override;
angle::Result setManagedSurface2D(const gl::Context *context,
TextureStorage *storage,
int level) override;
angle::Result setManagedSurfaceCube(const gl::Context *context,
TextureStorage *storage,
int face,
int level) override;
angle::Result copyToStorage(const gl::Context *context,
TextureStorage *storage,
const gl::ImageIndex &index,
const gl::Box ®ion) override;
angle::Result loadData(const gl::Context *context,
const gl::Box &area,
const gl::PixelUnpackState &unpack,
GLenum type,
const void *input,
bool applySkipImages) override;
angle::Result loadCompressedData(const gl::Context *context,
const gl::Box &area,
const void *input) override;
angle::Result copyFromTexStorage(const gl::Context *context,
const gl::ImageIndex &imageIndex,
TextureStorage *source) override;
angle::Result copyFromFramebuffer(const gl::Context *context,
const gl::Offset &destOffset,
const gl::Rectangle &sourceArea,
const gl::Framebuffer *source) override;
private:
angle::Result getSurface(Context9 *context9, IDirect3DSurface9 **outSurface);
angle::Result createSurface(Context9 *context9);
angle::Result setManagedSurface(Context9 *context9, IDirect3DSurface9 *surface);
angle::Result copyToSurface(Context9 *context9, IDirect3DSurface9 *dest, const gl::Box &area);
angle::Result lock(Context9 *context9, D3DLOCKED_RECT *lockedRect, const RECT &rect);
void unlock();
angle::Result copyFromRTInternal(Context9 *context9,
const gl::Offset &destOffset,
const gl::Rectangle &sourceArea,
RenderTargetD3D *source);
Renderer9 *mRenderer;
D3DPOOL mD3DPool; // can only be D3DPOOL_SYSTEMMEM or D3DPOOL_MANAGED since it needs to be
// lockable.
D3DFORMAT mD3DFormat;
IDirect3DSurface9 *mSurface;
};
} // namespace rx
#endif // LIBANGLE_RENDERER_D3D_D3D9_IMAGE9_H_