summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp')
-rw-r--r--src/3rdparty/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp130
1 files changed, 0 insertions, 130 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp b/src/3rdparty/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
deleted file mode 100644
index d799e0b992..0000000000
--- a/src/3rdparty/angle/src/libANGLE/renderer/d3d/RenderbufferD3D.cpp
+++ /dev/null
@@ -1,130 +0,0 @@
-//
-// Copyright (c) 2014 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.
-//
-
-// RenderbufferD3d.cpp: Implements the RenderbufferD3D class, a specialization of RenderbufferImpl
-
-
-#include "libANGLE/renderer/d3d/RenderbufferD3D.h"
-
-#include "libANGLE/Image.h"
-#include "libANGLE/renderer/d3d/EGLImageD3D.h"
-#include "libANGLE/renderer/d3d/RendererD3D.h"
-#include "libANGLE/renderer/d3d/RenderTargetD3D.h"
-
-namespace rx
-{
-RenderbufferD3D::RenderbufferD3D(RendererD3D *renderer)
- : mRenderer(renderer), mRenderTarget(nullptr), mImage(nullptr)
-{
-}
-
-RenderbufferD3D::~RenderbufferD3D()
-{
- SafeDelete(mRenderTarget);
- mImage = nullptr;
-}
-
-gl::Error RenderbufferD3D::onDestroy(const gl::Context *context)
-{
- deleteRenderTarget(context);
- return gl::NoError();
-}
-
-gl::Error RenderbufferD3D::setStorage(const gl::Context *context,
- GLenum internalformat,
- size_t width,
- size_t height)
-{
- return setStorageMultisample(context, 0, internalformat, width, height);
-}
-
-gl::Error RenderbufferD3D::setStorageMultisample(const gl::Context *context,
- size_t samples,
- GLenum internalformat,
- size_t width,
- size_t height)
-{
- // If the renderbuffer parameters are queried, the calling function
- // will expect one of the valid renderbuffer formats for use in
- // glRenderbufferStorage, but we should create depth and stencil buffers
- // as DEPTH24_STENCIL8
- GLenum creationFormat = internalformat;
- if (internalformat == GL_DEPTH_COMPONENT16 || internalformat == GL_STENCIL_INDEX8)
- {
- creationFormat = GL_DEPTH24_STENCIL8_OES;
- }
-
- // ANGLE_framebuffer_multisample states GL_OUT_OF_MEMORY is generated on a failure to create
- // the specified storage.
- // Because ES 3.0 already knows the exact number of supported samples, it would already have been
- // validated and generated GL_INVALID_VALUE.
- const gl::TextureCaps &formatCaps = mRenderer->getNativeTextureCaps().get(creationFormat);
- if (samples > formatCaps.getMaxSamples())
- {
- return gl::OutOfMemory() << "Renderbuffer format does not support " << samples
- << " samples, " << formatCaps.getMaxSamples()
- << " is the maximum.";
- }
-
- RenderTargetD3D *newRT = nullptr;
- ANGLE_TRY(mRenderer->createRenderTarget(static_cast<int>(width), static_cast<int>(height),
- creationFormat, static_cast<GLsizei>(samples), &newRT));
-
- deleteRenderTarget(context);
- mImage = nullptr;
- mRenderTarget = newRT;
-
- return gl::NoError();
-}
-
-gl::Error RenderbufferD3D::setStorageEGLImageTarget(const gl::Context *context, egl::Image *image)
-{
- mImage = GetImplAs<EGLImageD3D>(image);
- deleteRenderTarget(context);
-
- return gl::NoError();
-}
-
-gl::Error RenderbufferD3D::getRenderTarget(const gl::Context *context,
- RenderTargetD3D **outRenderTarget)
-{
- if (mImage)
- {
- return mImage->getRenderTarget(context, outRenderTarget);
- }
- else
- {
- *outRenderTarget = mRenderTarget;
- return gl::NoError();
- }
-}
-
-gl::Error RenderbufferD3D::getAttachmentRenderTarget(const gl::Context *context,
- GLenum /*binding*/,
- const gl::ImageIndex & /*imageIndex*/,
- FramebufferAttachmentRenderTarget **rtOut)
-{
- return getRenderTarget(context, reinterpret_cast<RenderTargetD3D **>(rtOut));
-}
-
-void RenderbufferD3D::deleteRenderTarget(const gl::Context *context)
-{
- if (mRenderTarget)
- {
- mRenderTarget->signalDirty(context);
- SafeDelete(mRenderTarget);
- }
-}
-
-gl::Error RenderbufferD3D::initializeContents(const gl::Context *context,
- const gl::ImageIndex &imageIndex)
-{
- RenderTargetD3D *renderTarget = nullptr;
- ANGLE_TRY(getRenderTarget(context, &renderTarget));
- return mRenderer->initRenderTarget(renderTarget);
-}
-
-} // namespace rx