Hash :
f4bf3811
Author :
Date :
2015-04-01T16:15:32
Use GetAs/GetImplAs whenever possible. This patch cleans up the rest of our custom casting helper functions. Change-Id: I41975c736765fca855c4498acca31116df3e8317 Reviewed-on: https://chromium-review.googlesource.com/263477 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@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
//
// Copyright (c) 2012 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.
//
// RenderTarget9.h: Defines a D3D9-specific wrapper for IDirect3DSurface9 pointers
// retained by Renderbuffers.
#ifndef LIBANGLE_RENDERER_D3D_D3D9_RENDERTARGET9_H_
#define LIBANGLE_RENDERER_D3D_D3D9_RENDERTARGET9_H_
#include "libANGLE/renderer/d3d/RenderTargetD3D.h"
namespace rx
{
class Renderer9;
class SwapChain9;
class RenderTarget9 : public RenderTargetD3D
{
public:
RenderTarget9() { }
virtual ~RenderTarget9() { }
virtual IDirect3DSurface9 *getSurface() = 0;
virtual D3DFORMAT getD3DFormat() const = 0;
};
class TextureRenderTarget9 : public RenderTarget9
{
public:
TextureRenderTarget9(IDirect3DSurface9 *surface, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth,
GLsizei samples);
virtual ~TextureRenderTarget9();
GLsizei getWidth() const override;
GLsizei getHeight() const override;
GLsizei getDepth() const override;
GLenum getInternalFormat() const override;
GLsizei getSamples() const override;
IDirect3DSurface9 *getSurface() override;
D3DFORMAT getD3DFormat() const override;
private:
GLsizei mWidth;
GLsizei mHeight;
GLsizei mDepth;
GLenum mInternalFormat;
D3DFORMAT mD3DFormat;
GLsizei mSamples;
IDirect3DSurface9 *mRenderTarget;
};
class SurfaceRenderTarget9 : public RenderTarget9
{
public:
SurfaceRenderTarget9(SwapChain9 *swapChain, bool depth);
virtual ~SurfaceRenderTarget9();
GLsizei getWidth() const override;
GLsizei getHeight() const override;
GLsizei getDepth() const override;
GLenum getInternalFormat() const override;
GLsizei getSamples() const override;
IDirect3DSurface9 *getSurface() override;
D3DFORMAT getD3DFormat() const override;
private:
SwapChain9 *mSwapChain;
bool mDepth;
};
}
#endif // LIBANGLE_RENDERER_D3D_D3D9_RENDERTARGET9_H_