projects
/
platform
/
framework
/
web
/
crosswalk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git]
/
src
/
third_party
/
angle
/
src
/
libGLESv2
/
renderer
/
d3d
/
IndexBuffer.cpp
diff --git
a/src/third_party/angle/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
b/src/third_party/angle/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
index
13e35e0
..
1dce127
100644
(file)
--- a/
src/third_party/angle/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
+++ b/
src/third_party/angle/src/libGLESv2/renderer/d3d/IndexBuffer.cpp
@@
-1,4
+1,3
@@
-#include "precompiled.h"
//
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
//
// Copyright (c) 2002-2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
@@
-67,21
+66,22
@@
unsigned int IndexBufferInterface::getSerial() const
return mIndexBuffer->getSerial();
}
return mIndexBuffer->getSerial();
}
-
bool
IndexBufferInterface::mapBuffer(unsigned int size, void** outMappedMemory, unsigned int *streamOffset)
+
gl::Error
IndexBufferInterface::mapBuffer(unsigned int size, void** outMappedMemory, unsigned int *streamOffset)
{
// Protect against integer overflow
if (mWritePosition + size < mWritePosition)
{
{
// Protect against integer overflow
if (mWritePosition + size < mWritePosition)
{
- return
false
;
+ return
gl::Error(GL_OUT_OF_MEMORY, "Mapping of internal index buffer would cause an integer overflow.")
;
}
}
- if (!mIndexBuffer->mapBuffer(mWritePosition, size, outMappedMemory))
+ gl::Error error = mIndexBuffer->mapBuffer(mWritePosition, size, outMappedMemory);
+ if (error.isError())
{
if (outMappedMemory)
{
*outMappedMemory = NULL;
}
{
if (outMappedMemory)
{
*outMappedMemory = NULL;
}
- return
false
;
+ return
error
;
}
if (streamOffset)
}
if (streamOffset)
@@
-90,10
+90,10
@@
bool IndexBufferInterface::mapBuffer(unsigned int size, void** outMappedMemory,
}
mWritePosition += size;
}
mWritePosition += size;
- return
true
;
+ return
gl::Error(GL_NO_ERROR)
;
}
}
-
bool
IndexBufferInterface::unmapBuffer()
+
gl::Error
IndexBufferInterface::unmapBuffer()
{
return mIndexBuffer->unmapBuffer();
}
{
return mIndexBuffer->unmapBuffer();
}
@@
-113,12
+113,12
@@
void IndexBufferInterface::setWritePosition(unsigned int writePosition)
mWritePosition = writePosition;
}
mWritePosition = writePosition;
}
-
bool
IndexBufferInterface::discard()
+
gl::Error
IndexBufferInterface::discard()
{
return mIndexBuffer->discard();
}
{
return mIndexBuffer->discard();
}
-
bool
IndexBufferInterface::setBufferSize(unsigned int bufferSize, GLenum indexType)
+
gl::Error
IndexBufferInterface::setBufferSize(unsigned int bufferSize, GLenum indexType)
{
if (mIndexBuffer->getBufferSize() == 0)
{
{
if (mIndexBuffer->getBufferSize() == 0)
{
@@
-138,26
+138,30
@@
StreamingIndexBufferInterface::~StreamingIndexBufferInterface()
{
}
{
}
-
bool
StreamingIndexBufferInterface::reserveBufferSpace(unsigned int size, GLenum indexType)
+
gl::Error
StreamingIndexBufferInterface::reserveBufferSpace(unsigned int size, GLenum indexType)
{
{
- bool result = true;
unsigned int curBufferSize = getBufferSize();
unsigned int writePos = getWritePosition();
if (size > curBufferSize)
{
unsigned int curBufferSize = getBufferSize();
unsigned int writePos = getWritePosition();
if (size > curBufferSize)
{
- result = setBufferSize(std::max(size, 2 * curBufferSize), indexType);
+ gl::Error error = setBufferSize(std::max(size, 2 * curBufferSize), indexType);
+ if (error.isError())
+ {
+ return error;
+ }
setWritePosition(0);
}
else if (writePos + size > curBufferSize || writePos + size < writePos)
{
setWritePosition(0);
}
else if (writePos + size > curBufferSize || writePos + size < writePos)
{
- if (!discard())
+ gl::Error error = discard();
+ if (error.isError())
{
{
- return
false
;
+ return
error
;
}
setWritePosition(0);
}
}
setWritePosition(0);
}
- return
result
;
+ return
gl::Error(GL_NO_ERROR)
;
}
}
@@
-169,7
+173,7
@@
StaticIndexBufferInterface::~StaticIndexBufferInterface()
{
}
{
}
-
bool
StaticIndexBufferInterface::reserveBufferSpace(unsigned int size, GLenum indexType)
+
gl::Error
StaticIndexBufferInterface::reserveBufferSpace(unsigned int size, GLenum indexType)
{
unsigned int curSize = getBufferSize();
if (curSize == 0)
{
unsigned int curSize = getBufferSize();
if (curSize == 0)
@@
-178,13
+182,12
@@
bool StaticIndexBufferInterface::reserveBufferSpace(unsigned int size, GLenum in
}
else if (curSize >= size && indexType == getIndexType())
{
}
else if (curSize >= size && indexType == getIndexType())
{
- return
true
;
+ return
gl::Error(GL_NO_ERROR)
;
}
else
{
}
else
{
- ERR("Static index buffers can't be resized");
UNREACHABLE();
UNREACHABLE();
- return
false
;
+ return
gl::Error(GL_INVALID_OPERATION, "Internal static index buffers can't be resized")
;
}
}
}
}