Hash :
831b1953
Author :
Date :
2015-05-05T11:02:27
Move the IndexRangeCache and Range types to the gl namespace. BUG=angleproject:881 Change-Id: Ib05149facee9fcc7714cb957ca8647b3498a36b6 Reviewed-on: https://chromium-review.googlesource.com/269254 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@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 83
//
// 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.
//
// RendererGL.h: Defines the class interface for RendererGL.
#ifndef LIBANGLE_RENDERER_GL_RENDERERGL_H_
#define LIBANGLE_RENDERER_GL_RENDERERGL_H_
#include "libANGLE/renderer/Renderer.h"
namespace rx
{
class FunctionsGL;
class StateManagerGL;
class RendererGL : public Renderer
{
public:
RendererGL(const FunctionsGL *functions);
~RendererGL() override;
gl::Error flush() override;
gl::Error finish() override;
gl::Error drawArrays(const gl::Data &data, GLenum mode,
GLint first, GLsizei count, GLsizei instances) override;
gl::Error drawElements(const gl::Data &data, GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLsizei instances,
const gl::RangeUI &indexRange) override;
// Shader creation
CompilerImpl *createCompiler(const gl::Data &data) override;
ShaderImpl *createShader(GLenum type) override;
ProgramImpl *createProgram() override;
// Framebuffer creation
FramebufferImpl *createDefaultFramebuffer(const gl::Framebuffer::Data &data) override;
FramebufferImpl *createFramebuffer(const gl::Framebuffer::Data &data) override;
// Texture creation
TextureImpl *createTexture(GLenum target) override;
// Renderbuffer creation
RenderbufferImpl *createRenderbuffer() override;
// Buffer creation
BufferImpl *createBuffer() override;
// Vertex Array creation
VertexArrayImpl *createVertexArray() override;
// Query and Fence creation
QueryImpl *createQuery(GLenum type) override;
FenceNVImpl *createFenceNV() override;
FenceSyncImpl *createFenceSync() override;
// Transform Feedback creation
TransformFeedbackImpl *createTransformFeedback() override;
// lost device
void notifyDeviceLost() override;
bool isDeviceLost() const override;
bool testDeviceLost() override;
bool testDeviceResettable() override;
VendorID getVendorId() const override;
std::string getVendorString() const override;
std::string getRendererDescription() const override;
private:
void generateCaps(gl::Caps *outCaps, gl::TextureCapsMap* outTextureCaps, gl::Extensions *outExtensions) const override;
Workarounds generateWorkarounds() const override;
const FunctionsGL *mFunctions;
StateManagerGL *mStateManager;
};
}
#endif // LIBANGLE_RENDERER_GL_RENDERERGL_H_