summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp')
-rw-r--r--src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp51
1 files changed, 23 insertions, 28 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp b/src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp
index 347bde0c65..c02db515a2 100644
--- a/src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp
+++ b/src/3rdparty/angle/src/libGLESv2/renderer/d3d/d3d9/Buffer9.cpp
@@ -1,4 +1,3 @@
-#include "precompiled.h"
//
// Copyright 2014 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
@@ -8,8 +7,8 @@
// Buffer9.cpp Defines the Buffer9 class.
#include "libGLESv2/renderer/d3d/d3d9/Buffer9.h"
-#include "libGLESv2/main.h"
#include "libGLESv2/renderer/d3d/d3d9/Renderer9.h"
+#include "libGLESv2/main.h"
namespace rx
{
@@ -18,13 +17,11 @@ Buffer9::Buffer9(rx::Renderer9 *renderer)
: BufferD3D(),
mRenderer(renderer),
mSize(0)
-{
-
-}
+{}
Buffer9::~Buffer9()
{
-
+ mSize = 0;
}
Buffer9 *Buffer9::makeBuffer9(BufferImpl *buffer)
@@ -33,18 +30,13 @@ Buffer9 *Buffer9::makeBuffer9(BufferImpl *buffer)
return static_cast<Buffer9*>(buffer);
}
-void Buffer9::clear()
-{
- mSize = 0;
-}
-
-void Buffer9::setData(const void* data, size_t size, GLenum usage)
+gl::Error Buffer9::setData(const void* data, size_t size, GLenum usage)
{
if (size > mMemory.size())
{
if (!mMemory.resize(size))
{
- return gl::error(GL_OUT_OF_MEMORY);
+ return gl::Error(GL_OUT_OF_MEMORY, "Failed to resize internal buffer.");
}
}
@@ -54,14 +46,14 @@ void Buffer9::setData(const void* data, size_t size, GLenum usage)
memcpy(mMemory.data(), data, size);
}
- mIndexRangeCache.clear();
-
invalidateStaticData();
if (usage == GL_STATIC_DRAW)
{
initializeStaticData();
}
+
+ return gl::Error(GL_NO_ERROR);
}
void *Buffer9::getData()
@@ -69,13 +61,13 @@ void *Buffer9::getData()
return mMemory.data();
}
-void Buffer9::setSubData(const void* data, size_t size, size_t offset)
+gl::Error Buffer9::setSubData(const void* data, size_t size, size_t offset)
{
if (offset + size > mMemory.size())
{
if (!mMemory.resize(offset + size))
{
- return gl::error(GL_OUT_OF_MEMORY);
+ return gl::Error(GL_OUT_OF_MEMORY, "Failed to resize internal buffer.");
}
}
@@ -85,32 +77,35 @@ void Buffer9::setSubData(const void* data, size_t size, size_t offset)
memcpy(mMemory.data() + offset, data, size);
}
- mIndexRangeCache.invalidateRange(offset, size);
-
invalidateStaticData();
+
+ return gl::Error(GL_NO_ERROR);
}
-void Buffer9::copySubData(BufferImpl* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size)
+gl::Error Buffer9::copySubData(BufferImpl* source, GLintptr sourceOffset, GLintptr destOffset, GLsizeiptr size)
{
+ // Note: this method is currently unreachable
Buffer9* sourceBuffer = makeBuffer9(source);
- if (sourceBuffer)
- {
- memcpy(mMemory.data() + destOffset, sourceBuffer->mMemory.data() + sourceOffset, size);
- }
+ ASSERT(sourceBuffer);
+
+ memcpy(mMemory.data() + destOffset, sourceBuffer->mMemory.data() + sourceOffset, size);
invalidateStaticData();
+
+ return gl::Error(GL_NO_ERROR);
}
-// We do not suppot buffer mapping in D3D9
-GLvoid* Buffer9::map(size_t offset, size_t length, GLbitfield access)
+// We do not support buffer mapping in D3D9
+gl::Error Buffer9::map(size_t offset, size_t length, GLbitfield access, GLvoid **mapPtr)
{
UNREACHABLE();
- return NULL;
+ return gl::Error(GL_INVALID_OPERATION);
}
-void Buffer9::unmap()
+gl::Error Buffer9::unmap()
{
UNREACHABLE();
+ return gl::Error(GL_INVALID_OPERATION);
}
void Buffer9::markTransformFeedbackUsage()