Enclose error(GLint) and error(EGLint) into gl and egl namespaces.

This should generate a compile time error if we try to call the wrong function. TRAC #22411 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1856 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent eb049e2c
...@@ -436,7 +436,7 @@ void Display::notifyDeviceLost() ...@@ -436,7 +436,7 @@ void Display::notifyDeviceLost()
{ {
(*context)->markContextLost(); (*context)->markContextLost();
} }
error(EGL_CONTEXT_LOST); egl::error(EGL_CONTEXT_LOST);
} }
bool Display::isInitialized() const bool Display::isInitialized() const
......
...@@ -157,9 +157,10 @@ EGLSurface getCurrentReadSurface() ...@@ -157,9 +157,10 @@ EGLSurface getCurrentReadSurface()
return current->readSurface; return current->readSurface;
} }
}
void error(EGLint errorCode) void error(EGLint errorCode)
{ {
egl::setCurrentError(errorCode); egl::setCurrentError(errorCode);
} }
}
...@@ -38,7 +38,6 @@ EGLSurface getCurrentDrawSurface(); ...@@ -38,7 +38,6 @@ EGLSurface getCurrentDrawSurface();
void setCurrentReadSurface(EGLSurface surface); void setCurrentReadSurface(EGLSurface surface);
EGLSurface getCurrentReadSurface(); EGLSurface getCurrentReadSurface();
}
void error(EGLint errorCode); void error(EGLint errorCode);
...@@ -58,4 +57,6 @@ const T &success(const T &returnValue) ...@@ -58,4 +57,6 @@ const T &success(const T &returnValue)
return returnValue; return returnValue;
} }
}
#endif // LIBEGL_MAIN_H_ #endif // LIBEGL_MAIN_H_
...@@ -982,7 +982,7 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -982,7 +982,7 @@ void Context::beginQuery(GLenum target, GLuint query)
{ {
if (mState.activeQuery[i].get() != NULL) if (mState.activeQuery[i].get() != NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
} }
...@@ -1005,13 +1005,13 @@ void Context::beginQuery(GLenum target, GLuint query) ...@@ -1005,13 +1005,13 @@ void Context::beginQuery(GLenum target, GLuint query)
// check that name was obtained with glGenQueries // check that name was obtained with glGenQueries
if (!queryObject) if (!queryObject)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
// check for type mismatch // check for type mismatch
if (queryObject->getType() != target) if (queryObject->getType() != target)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
// set query as active for specified target // set query as active for specified target
...@@ -1042,7 +1042,7 @@ void Context::endQuery(GLenum target) ...@@ -1042,7 +1042,7 @@ void Context::endQuery(GLenum target)
if (queryObject == NULL) if (queryObject == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
queryObject->end(); queryObject->end();
...@@ -1471,7 +1471,7 @@ bool Context::getIntegerv(GLenum pname, GLint *params) ...@@ -1471,7 +1471,7 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
{ {
if (mState.activeSampler > mRenderer->getMaxCombinedTextureImageUnits() - 1) if (mState.activeSampler > mRenderer->getMaxCombinedTextureImageUnits() - 1)
{ {
error(GL_INVALID_OPERATION); gl::error(GL_INVALID_OPERATION);
return false; return false;
} }
...@@ -1482,7 +1482,7 @@ bool Context::getIntegerv(GLenum pname, GLint *params) ...@@ -1482,7 +1482,7 @@ bool Context::getIntegerv(GLenum pname, GLint *params)
{ {
if (mState.activeSampler > mRenderer->getMaxCombinedTextureImageUnits() - 1) if (mState.activeSampler > mRenderer->getMaxCombinedTextureImageUnits() - 1)
{ {
error(GL_INVALID_OPERATION); gl::error(GL_INVALID_OPERATION);
return false; return false;
} }
...@@ -1694,7 +1694,7 @@ bool Context::applyRenderTarget(GLenum drawMode, bool ignoreViewport) ...@@ -1694,7 +1694,7 @@ bool Context::applyRenderTarget(GLenum drawMode, bool ignoreViewport)
if (!framebufferObject || framebufferObject->completeness() != GL_FRAMEBUFFER_COMPLETE) if (!framebufferObject || framebufferObject->completeness() != GL_FRAMEBUFFER_COMPLETE)
{ {
return error(GL_INVALID_FRAMEBUFFER_OPERATION, false); return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION, false);
} }
mRenderer->applyRenderTarget(framebufferObject); mRenderer->applyRenderTarget(framebufferObject);
...@@ -1826,12 +1826,12 @@ void Context::readPixels(GLint x, GLint y, GLsizei width, GLsizei height, ...@@ -1826,12 +1826,12 @@ void Context::readPixels(GLint x, GLint y, GLsizei width, GLsizei height,
if (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE) if (framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
{ {
return error(GL_INVALID_FRAMEBUFFER_OPERATION); return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION);
} }
if (getReadFramebufferHandle() != 0 && framebuffer->getSamples() != 0) if (getReadFramebufferHandle() != 0 && framebuffer->getSamples() != 0)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
GLsizei outputPitch = ComputePitch(width, ConvertSizedInternalFormat(format, type), getPackAlignment()); GLsizei outputPitch = ComputePitch(width, ConvertSizedInternalFormat(format, type), getPackAlignment());
...@@ -1841,7 +1841,7 @@ void Context::readPixels(GLint x, GLint y, GLsizei width, GLsizei height, ...@@ -1841,7 +1841,7 @@ void Context::readPixels(GLint x, GLint y, GLsizei width, GLsizei height,
int requiredSize = outputPitch * height; int requiredSize = outputPitch * height;
if (requiredSize > *bufSize) if (requiredSize > *bufSize)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
} }
...@@ -1854,7 +1854,7 @@ void Context::clear(GLbitfield mask) ...@@ -1854,7 +1854,7 @@ void Context::clear(GLbitfield mask)
if (!framebufferObject || framebufferObject->completeness() != GL_FRAMEBUFFER_COMPLETE) if (!framebufferObject || framebufferObject->completeness() != GL_FRAMEBUFFER_COMPLETE)
{ {
return error(GL_INVALID_FRAMEBUFFER_OPERATION); return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION);
} }
DWORD flags = 0; DWORD flags = 0;
...@@ -1900,7 +1900,7 @@ void Context::clear(GLbitfield mask) ...@@ -1900,7 +1900,7 @@ void Context::clear(GLbitfield mask)
if (mask != 0) if (mask != 0)
{ {
return error(GL_INVALID_VALUE); return gl::error(GL_INVALID_VALUE);
} }
if (!applyRenderTarget(GL_TRIANGLES, true)) // Clips the clear to the scissor rectangle but not the viewport if (!applyRenderTarget(GL_TRIANGLES, true)) // Clips the clear to the scissor rectangle but not the viewport
...@@ -1926,7 +1926,7 @@ void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instan ...@@ -1926,7 +1926,7 @@ void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instan
{ {
if (!mState.currentProgram) if (!mState.currentProgram)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (!mRenderer->applyPrimitiveType(mode, count)) if (!mRenderer->applyPrimitiveType(mode, count))
...@@ -1946,7 +1946,7 @@ void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instan ...@@ -1946,7 +1946,7 @@ void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instan
GLenum err = mRenderer->applyVertexBuffer(programBinary, mState.vertexAttribute, first, count, instances); GLenum err = mRenderer->applyVertexBuffer(programBinary, mState.vertexAttribute, first, count, instances);
if (err != GL_NO_ERROR) if (err != GL_NO_ERROR)
{ {
return error(err); return gl::error(err);
} }
applyShaders(); applyShaders();
...@@ -1954,7 +1954,7 @@ void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instan ...@@ -1954,7 +1954,7 @@ void Context::drawArrays(GLenum mode, GLint first, GLsizei count, GLsizei instan
if (!programBinary->validateSamplers(NULL)) if (!programBinary->validateSamplers(NULL))
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (!skipDraw(mode)) if (!skipDraw(mode))
...@@ -1967,12 +1967,12 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid ...@@ -1967,12 +1967,12 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid
{ {
if (!mState.currentProgram) if (!mState.currentProgram)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (!indices && !mState.elementArrayBuffer) if (!indices && !mState.elementArrayBuffer)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (!mRenderer->applyPrimitiveType(mode, count)) if (!mRenderer->applyPrimitiveType(mode, count))
...@@ -1991,7 +1991,7 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid ...@@ -1991,7 +1991,7 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid
GLenum err = mRenderer->applyIndexBuffer(indices, mState.elementArrayBuffer.get(), count, mode, type, &indexInfo); GLenum err = mRenderer->applyIndexBuffer(indices, mState.elementArrayBuffer.get(), count, mode, type, &indexInfo);
if (err != GL_NO_ERROR) if (err != GL_NO_ERROR)
{ {
return error(err); return gl::error(err);
} }
ProgramBinary *programBinary = getCurrentProgramBinary(); ProgramBinary *programBinary = getCurrentProgramBinary();
...@@ -2000,7 +2000,7 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid ...@@ -2000,7 +2000,7 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid
err = mRenderer->applyVertexBuffer(programBinary, mState.vertexAttribute, indexInfo.minIndex, vertexCount, instances); err = mRenderer->applyVertexBuffer(programBinary, mState.vertexAttribute, indexInfo.minIndex, vertexCount, instances);
if (err != GL_NO_ERROR) if (err != GL_NO_ERROR)
{ {
return error(err); return gl::error(err);
} }
applyShaders(); applyShaders();
...@@ -2008,7 +2008,7 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid ...@@ -2008,7 +2008,7 @@ void Context::drawElements(GLenum mode, GLsizei count, GLenum type, const GLvoid
if (!programBinary->validateSamplers(NULL)) if (!programBinary->validateSamplers(NULL))
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (!skipDraw(mode)) if (!skipDraw(mode))
...@@ -2262,13 +2262,13 @@ bool Context::getCurrentReadFormatType(GLenum *format, GLenum *type) ...@@ -2262,13 +2262,13 @@ bool Context::getCurrentReadFormatType(GLenum *format, GLenum *type)
Framebuffer *framebuffer = getReadFramebuffer(); Framebuffer *framebuffer = getReadFramebuffer();
if (!framebuffer || framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE) if (!framebuffer || framebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
{ {
return error(GL_INVALID_OPERATION, false); return gl::error(GL_INVALID_OPERATION, false);
} }
Renderbuffer *renderbuffer = framebuffer->getColorbuffer(); Renderbuffer *renderbuffer = framebuffer->getColorbuffer();
if (!renderbuffer) if (!renderbuffer)
{ {
return error(GL_INVALID_OPERATION, false); return gl::error(GL_INVALID_OPERATION, false);
} }
*format = gl::ExtractFormat(renderbuffer->getActualFormat()); *format = gl::ExtractFormat(renderbuffer->getActualFormat());
...@@ -2619,12 +2619,12 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1 ...@@ -2619,12 +2619,12 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
if (!readFramebuffer || readFramebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE || if (!readFramebuffer || readFramebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE ||
!drawFramebuffer || drawFramebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE) !drawFramebuffer || drawFramebuffer->completeness() != GL_FRAMEBUFFER_COMPLETE)
{ {
return error(GL_INVALID_FRAMEBUFFER_OPERATION); return gl::error(GL_INVALID_FRAMEBUFFER_OPERATION);
} }
if (drawFramebuffer->getSamples() != 0) if (drawFramebuffer->getSamples() != 0)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
int readBufferWidth = readFramebuffer->getColorbuffer()->getWidth(); int readBufferWidth = readFramebuffer->getColorbuffer()->getWidth();
...@@ -2797,12 +2797,12 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1 ...@@ -2797,12 +2797,12 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
readFramebuffer->getColorbuffer()->getActualFormat() != drawFramebuffer->getColorbuffer()->getActualFormat()) readFramebuffer->getColorbuffer()->getActualFormat() != drawFramebuffer->getColorbuffer()->getActualFormat())
{ {
ERR("Color buffer format conversion in BlitFramebufferANGLE not supported by this implementation"); ERR("Color buffer format conversion in BlitFramebufferANGLE not supported by this implementation");
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (partialBufferCopy && readFramebuffer->getSamples() != 0) if (partialBufferCopy && readFramebuffer->getSamples() != 0)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
blitRenderTarget = true; blitRenderTarget = true;
...@@ -2824,7 +2824,7 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1 ...@@ -2824,7 +2824,7 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
if (readFramebuffer->getDepthbufferType() != drawFramebuffer->getDepthbufferType() || if (readFramebuffer->getDepthbufferType() != drawFramebuffer->getDepthbufferType() ||
readFramebuffer->getDepthbuffer()->getActualFormat() != drawFramebuffer->getDepthbuffer()->getActualFormat()) readFramebuffer->getDepthbuffer()->getActualFormat() != drawFramebuffer->getDepthbuffer()->getActualFormat())
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
blitDepthStencil = true; blitDepthStencil = true;
...@@ -2840,7 +2840,7 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1 ...@@ -2840,7 +2840,7 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
if (readFramebuffer->getStencilbufferType() != drawFramebuffer->getStencilbufferType() || if (readFramebuffer->getStencilbufferType() != drawFramebuffer->getStencilbufferType() ||
readFramebuffer->getStencilbuffer()->getActualFormat() != drawFramebuffer->getStencilbuffer()->getActualFormat()) readFramebuffer->getStencilbuffer()->getActualFormat() != drawFramebuffer->getStencilbuffer()->getActualFormat())
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
blitDepthStencil = true; blitDepthStencil = true;
...@@ -2852,13 +2852,13 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1 ...@@ -2852,13 +2852,13 @@ void Context::blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1
if (partialBufferCopy) if (partialBufferCopy)
{ {
ERR("Only whole-buffer depth and stencil blits are supported by this implementation."); ERR("Only whole-buffer depth and stencil blits are supported by this implementation.");
return error(GL_INVALID_OPERATION); // only whole-buffer copies are permitted return gl::error(GL_INVALID_OPERATION); // only whole-buffer copies are permitted
} }
if ((drawDSBuffer && drawDSBuffer->getSamples() != 0) || if ((drawDSBuffer && drawDSBuffer->getSamples() != 0) ||
(readDSBuffer && readDSBuffer->getSamples() != 0)) (readDSBuffer && readDSBuffer->getSamples() != 0))
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
} }
......
...@@ -513,7 +513,7 @@ void Texture2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yo ...@@ -513,7 +513,7 @@ void Texture2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yo
{ {
if (xoffset + width > mImageArray[level]->getWidth() || yoffset + height > mImageArray[level]->getHeight()) if (xoffset + width > mImageArray[level]->getWidth() || yoffset + height > mImageArray[level]->getHeight())
{ {
return error(GL_INVALID_VALUE); return gl::error(GL_INVALID_VALUE);
} }
if (!mImageArray[level]->isRenderableFormat() || (!mTexStorage && !isSamplerComplete())) if (!mImageArray[level]->isRenderableFormat() || (!mTexStorage && !isSamplerComplete()))
...@@ -740,7 +740,7 @@ void Texture2D::convertToRenderTarget() ...@@ -740,7 +740,7 @@ void Texture2D::convertToRenderTarget()
if (!mRenderer->copyToRenderTarget(newTexStorage, mTexStorage)) if (!mRenderer->copyToRenderTarget(newTexStorage, mTexStorage))
{ {
delete newTexStorage; delete newTexStorage;
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
} }
...@@ -757,7 +757,7 @@ void Texture2D::generateMipmaps() ...@@ -757,7 +757,7 @@ void Texture2D::generateMipmaps()
{ {
if (!isPow2(mImageArray[0]->getWidth()) || !isPow2(mImageArray[0]->getHeight())) if (!isPow2(mImageArray[0]->getWidth()) || !isPow2(mImageArray[0]->getHeight()))
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
} }
...@@ -792,7 +792,7 @@ Renderbuffer *Texture2D::getRenderbuffer(GLenum target) ...@@ -792,7 +792,7 @@ Renderbuffer *Texture2D::getRenderbuffer(GLenum target)
{ {
if (target != GL_TEXTURE_2D) if (target != GL_TEXTURE_2D)
{ {
return error(GL_INVALID_OPERATION, (Renderbuffer *)NULL); return gl::error(GL_INVALID_OPERATION, (Renderbuffer *)NULL);
} }
if (mColorbufferProxy == NULL) if (mColorbufferProxy == NULL)
...@@ -1199,7 +1199,7 @@ void TextureCubeMap::convertToRenderTarget() ...@@ -1199,7 +1199,7 @@ void TextureCubeMap::convertToRenderTarget()
if (!mRenderer->copyToRenderTarget(newTexStorage, mTexStorage)) if (!mRenderer->copyToRenderTarget(newTexStorage, mTexStorage))
{ {
delete newTexStorage; delete newTexStorage;
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
} }
...@@ -1291,7 +1291,7 @@ void TextureCubeMap::copySubImage(GLenum target, GLint level, GLint xoffset, GLi ...@@ -1291,7 +1291,7 @@ void TextureCubeMap::copySubImage(GLenum target, GLint level, GLint xoffset, GLi
if (xoffset + width > size || yoffset + height > size) if (xoffset + width > size || yoffset + height > size)
{ {
return error(GL_INVALID_VALUE); return gl::error(GL_INVALID_VALUE);
} }
unsigned int faceindex = faceIndex(target); unsigned int faceindex = faceIndex(target);
...@@ -1365,14 +1365,14 @@ void TextureCubeMap::generateMipmaps() ...@@ -1365,14 +1365,14 @@ void TextureCubeMap::generateMipmaps()
{ {
if (!isCubeComplete()) if (!isCubeComplete())
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
if (!mRenderer->getNonPower2TextureSupport()) if (!mRenderer->getNonPower2TextureSupport())
{ {
if (!isPow2(mImageArray[0][0]->getWidth())) if (!isPow2(mImageArray[0][0]->getWidth()))
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
} }
...@@ -1416,7 +1416,7 @@ Renderbuffer *TextureCubeMap::getRenderbuffer(GLenum target) ...@@ -1416,7 +1416,7 @@ Renderbuffer *TextureCubeMap::getRenderbuffer(GLenum target)
{ {
if (!IsCubemapTextureTarget(target)) if (!IsCubemapTextureTarget(target))
{ {
return error(GL_INVALID_OPERATION, (Renderbuffer *)NULL); return gl::error(GL_INVALID_OPERATION, (Renderbuffer *)NULL);
} }
unsigned int face = faceIndex(target); unsigned int face = faceIndex(target);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -101,7 +101,7 @@ Context *getNonLostContext() ...@@ -101,7 +101,7 @@ Context *getNonLostContext()
{ {
if (context->isContextLost()) if (context->isContextLost())
{ {
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return NULL; return NULL;
} }
else else
...@@ -119,8 +119,6 @@ egl::Display *getDisplay() ...@@ -119,8 +119,6 @@ egl::Display *getDisplay()
return current->display; return current->display;
} }
}
// Records an error code // Records an error code
void error(GLenum errorCode) void error(GLenum errorCode)
{ {
...@@ -154,3 +152,6 @@ void error(GLenum errorCode) ...@@ -154,3 +152,6 @@ void error(GLenum errorCode)
} }
} }
} }
}
...@@ -32,8 +32,6 @@ Context *getContext(); ...@@ -32,8 +32,6 @@ Context *getContext();
Context *getNonLostContext(); Context *getNonLostContext();
egl::Display *getDisplay(); egl::Display *getDisplay();
}
void error(GLenum errorCode); void error(GLenum errorCode);
template<class T> template<class T>
...@@ -44,6 +42,8 @@ const T &error(GLenum errorCode, const T &returnValue) ...@@ -44,6 +42,8 @@ const T &error(GLenum errorCode, const T &returnValue)
return returnValue; return returnValue;
} }
}
extern "C" extern "C"
{ {
// Exported functions for use by EGL // Exported functions for use by EGL
......
...@@ -85,7 +85,7 @@ void Blit::initGeometry() ...@@ -85,7 +85,7 @@ void Blit::initGeometry()
if (FAILED(result)) if (FAILED(result))
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
void *lockPtr = NULL; void *lockPtr = NULL;
...@@ -94,7 +94,7 @@ void Blit::initGeometry() ...@@ -94,7 +94,7 @@ void Blit::initGeometry()
if (FAILED(result) || lockPtr == NULL) if (FAILED(result) || lockPtr == NULL)
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
memcpy(lockPtr, quad, sizeof(quad)); memcpy(lockPtr, quad, sizeof(quad));
...@@ -111,7 +111,7 @@ void Blit::initGeometry() ...@@ -111,7 +111,7 @@ void Blit::initGeometry()
if (FAILED(result)) if (FAILED(result))
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -230,7 +230,7 @@ bool Blit::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum des ...@@ -230,7 +230,7 @@ bool Blit::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum des
if (!source) if (!source)
{ {
ERR("Failed to retrieve the render target."); ERR("Failed to retrieve the render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage->getStorageInstance()); TextureStorage9_2D *storage9 = TextureStorage9_2D::makeTextureStorage9_2D(storage->getStorageInstance());
...@@ -266,7 +266,7 @@ bool Blit::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum des ...@@ -266,7 +266,7 @@ bool Blit::copy(gl::Framebuffer *framebuffer, const RECT &sourceRect, GLenum des
if (!source) if (!source)
{ {
ERR("Failed to retrieve the render target."); ERR("Failed to retrieve the render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage->getStorageInstance()); TextureStorage9_Cube *storage9 = TextureStorage9_Cube::makeTextureStorage9_Cube(storage->getStorageInstance());
...@@ -306,7 +306,7 @@ bool Blit::copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFo ...@@ -306,7 +306,7 @@ bool Blit::copy(IDirect3DSurface9 *source, const RECT &sourceRect, GLenum destFo
if (FAILED(result)) if (FAILED(result))
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
} }
else else
...@@ -428,7 +428,7 @@ IDirect3DTexture9 *Blit::copySurfaceToTexture(IDirect3DSurface9 *surface, const ...@@ -428,7 +428,7 @@ IDirect3DTexture9 *Blit::copySurfaceToTexture(IDirect3DSurface9 *surface, const
if (FAILED(result)) if (FAILED(result))
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
return error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL); return gl::error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL);
} }
IDirect3DSurface9 *textureSurface; IDirect3DSurface9 *textureSurface;
...@@ -438,7 +438,7 @@ IDirect3DTexture9 *Blit::copySurfaceToTexture(IDirect3DSurface9 *surface, const ...@@ -438,7 +438,7 @@ IDirect3DTexture9 *Blit::copySurfaceToTexture(IDirect3DSurface9 *surface, const
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
texture->Release(); texture->Release();
return error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL); return gl::error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL);
} }
mRenderer->endScene(); mRenderer->endScene();
...@@ -450,7 +450,7 @@ IDirect3DTexture9 *Blit::copySurfaceToTexture(IDirect3DSurface9 *surface, const ...@@ -450,7 +450,7 @@ IDirect3DTexture9 *Blit::copySurfaceToTexture(IDirect3DSurface9 *surface, const
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
texture->Release(); texture->Release();
return error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL); return gl::error(GL_OUT_OF_MEMORY, (IDirect3DTexture9*)NULL);
} }
return texture; return texture;
......
...@@ -44,7 +44,7 @@ void Fence11::setFence(GLenum condition) ...@@ -44,7 +44,7 @@ void Fence11::setFence(GLenum condition)
if (FAILED(mRenderer->getDevice()->CreateQuery(&queryDesc, &mQuery))) if (FAILED(mRenderer->getDevice()->CreateQuery(&queryDesc, &mQuery)))
{ {
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -58,14 +58,14 @@ GLboolean Fence11::testFence() ...@@ -58,14 +58,14 @@ GLboolean Fence11::testFence()
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION, GL_TRUE); return gl::error(GL_INVALID_OPERATION, GL_TRUE);
} }
HRESULT result = mRenderer->getDeviceContext()->GetData(mQuery, NULL, 0, 0); HRESULT result = mRenderer->getDeviceContext()->GetData(mQuery, NULL, 0, 0);
if (mRenderer->isDeviceLost()) if (mRenderer->isDeviceLost())
{ {
return error(GL_OUT_OF_MEMORY, GL_TRUE); return gl::error(GL_OUT_OF_MEMORY, GL_TRUE);
} }
ASSERT(result == S_OK || result == S_FALSE); ASSERT(result == S_OK || result == S_FALSE);
...@@ -77,7 +77,7 @@ void Fence11::finishFence() ...@@ -77,7 +77,7 @@ void Fence11::finishFence()
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
while (!testFence()) while (!testFence())
...@@ -90,7 +90,7 @@ void Fence11::getFenceiv(GLenum pname, GLint *params) ...@@ -90,7 +90,7 @@ void Fence11::getFenceiv(GLenum pname, GLint *params)
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
switch (pname) switch (pname)
...@@ -111,7 +111,7 @@ void Fence11::getFenceiv(GLenum pname, GLint *params) ...@@ -111,7 +111,7 @@ void Fence11::getFenceiv(GLenum pname, GLint *params)
if (mRenderer->isDeviceLost()) if (mRenderer->isDeviceLost())
{ {
params[0] = GL_TRUE; params[0] = GL_TRUE;
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
ASSERT(result == S_OK || result == S_FALSE); ASSERT(result == S_OK || result == S_FALSE);
...@@ -124,7 +124,7 @@ void Fence11::getFenceiv(GLenum pname, GLint *params) ...@@ -124,7 +124,7 @@ void Fence11::getFenceiv(GLenum pname, GLint *params)
params[0] = getCondition(); params[0] = getCondition();
break; break;
default: default:
return error(GL_INVALID_ENUM); return gl::error(GL_INVALID_ENUM);
break; break;
} }
} }
......
...@@ -42,7 +42,7 @@ void Fence9::setFence(GLenum condition) ...@@ -42,7 +42,7 @@ void Fence9::setFence(GLenum condition)
mQuery = mRenderer->allocateEventQuery(); mQuery = mRenderer->allocateEventQuery();
if (!mQuery) if (!mQuery)
{ {
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -57,7 +57,7 @@ GLboolean Fence9::testFence() ...@@ -57,7 +57,7 @@ GLboolean Fence9::testFence()
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION, GL_TRUE); return gl::error(GL_INVALID_OPERATION, GL_TRUE);
} }
HRESULT result = mQuery->GetData(NULL, 0, D3DGETDATA_FLUSH); HRESULT result = mQuery->GetData(NULL, 0, D3DGETDATA_FLUSH);
...@@ -65,7 +65,7 @@ GLboolean Fence9::testFence() ...@@ -65,7 +65,7 @@ GLboolean Fence9::testFence()
if (d3d9::isDeviceLostError(result)) if (d3d9::isDeviceLostError(result))
{ {
mRenderer->notifyDeviceLost(); mRenderer->notifyDeviceLost();
return error(GL_OUT_OF_MEMORY, GL_TRUE); return gl::error(GL_OUT_OF_MEMORY, GL_TRUE);
} }
ASSERT(result == S_OK || result == S_FALSE); ASSERT(result == S_OK || result == S_FALSE);
...@@ -77,7 +77,7 @@ void Fence9::finishFence() ...@@ -77,7 +77,7 @@ void Fence9::finishFence()
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
while (!testFence()) while (!testFence())
...@@ -90,7 +90,7 @@ void Fence9::getFenceiv(GLenum pname, GLint *params) ...@@ -90,7 +90,7 @@ void Fence9::getFenceiv(GLenum pname, GLint *params)
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
switch (pname) switch (pname)
...@@ -112,7 +112,7 @@ void Fence9::getFenceiv(GLenum pname, GLint *params) ...@@ -112,7 +112,7 @@ void Fence9::getFenceiv(GLenum pname, GLint *params)
{ {
params[0] = GL_TRUE; params[0] = GL_TRUE;
mRenderer->notifyDeviceLost(); mRenderer->notifyDeviceLost();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
ASSERT(result == S_OK || result == S_FALSE); ASSERT(result == S_OK || result == S_FALSE);
...@@ -125,7 +125,7 @@ void Fence9::getFenceiv(GLenum pname, GLint *params) ...@@ -125,7 +125,7 @@ void Fence9::getFenceiv(GLenum pname, GLint *params)
params[0] = getCondition(); params[0] = getCondition();
break; break;
default: default:
return error(GL_INVALID_ENUM); return gl::error(GL_INVALID_ENUM);
break; break;
} }
} }
......
...@@ -389,7 +389,7 @@ void Image11::createStagingTexture() ...@@ -389,7 +389,7 @@ void Image11::createStagingTexture()
{ {
ASSERT(result == E_OUTOFMEMORY); ASSERT(result == E_OUTOFMEMORY);
ERR("Creating image failed."); ERR("Creating image failed.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
......
...@@ -106,7 +106,7 @@ void Image9::generateMipmap(Image9 *dest, Image9 *source) ...@@ -106,7 +106,7 @@ void Image9::generateMipmap(Image9 *dest, Image9 *source)
{ {
IDirect3DSurface9 *sourceSurface = source->getSurface(); IDirect3DSurface9 *sourceSurface = source->getSurface();
if (sourceSurface == NULL) if (sourceSurface == NULL)
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
IDirect3DSurface9 *destSurface = dest->getSurface(); IDirect3DSurface9 *destSurface = dest->getSurface();
generateMip(destSurface, sourceSurface); generateMip(destSurface, sourceSurface);
...@@ -199,7 +199,7 @@ void Image9::createSurface() ...@@ -199,7 +199,7 @@ void Image9::createSurface()
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
ERR("Creating image surface failed."); ERR("Creating image surface failed.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
newTexture->GetSurfaceLevel(levelToFetch, &newSurface); newTexture->GetSurfaceLevel(levelToFetch, &newSurface);
...@@ -500,7 +500,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ...@@ -500,7 +500,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width,
if (!surface) if (!surface)
{ {
ERR("Failed to retrieve the render target."); ERR("Failed to retrieve the render target.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
IDirect3DDevice9 *device = mRenderer->getDevice(); IDirect3DDevice9 *device = mRenderer->getDevice();
...@@ -515,7 +515,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ...@@ -515,7 +515,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width,
{ {
ERR("Could not create matching destination surface."); ERR("Could not create matching destination surface.");
surface->Release(); surface->Release();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
result = device->GetRenderTargetData(surface, renderTargetData); result = device->GetRenderTargetData(surface, renderTargetData);
...@@ -525,7 +525,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ...@@ -525,7 +525,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width,
ERR("GetRenderTargetData unexpectedly failed."); ERR("GetRenderTargetData unexpectedly failed.");
renderTargetData->Release(); renderTargetData->Release();
surface->Release(); surface->Release();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
RECT sourceRect = {x, y, x + width, y + height}; RECT sourceRect = {x, y, x + width, y + height};
...@@ -539,7 +539,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ...@@ -539,7 +539,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width,
ERR("Failed to lock the source surface (rectangle might be invalid)."); ERR("Failed to lock the source surface (rectangle might be invalid).");
renderTargetData->Release(); renderTargetData->Release();
surface->Release(); surface->Release();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
D3DLOCKED_RECT destLock = {0}; D3DLOCKED_RECT destLock = {0};
...@@ -551,7 +551,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, ...@@ -551,7 +551,7 @@ void Image9::copy(GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width,
renderTargetData->UnlockRect(); renderTargetData->UnlockRect();
renderTargetData->Release(); renderTargetData->Release();
surface->Release(); surface->Release();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
if (destLock.pBits && sourceLock.pBits) if (destLock.pBits && sourceLock.pBits)
......
...@@ -37,7 +37,7 @@ void Query11::begin() ...@@ -37,7 +37,7 @@ void Query11::begin()
if (FAILED(mRenderer->getDevice()->CreateQuery(&queryDesc, &mQuery))) if (FAILED(mRenderer->getDevice()->CreateQuery(&queryDesc, &mQuery)))
{ {
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -48,7 +48,7 @@ void Query11::end() ...@@ -48,7 +48,7 @@ void Query11::end()
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
mRenderer->getDeviceContext()->End(mQuery); mRenderer->getDeviceContext()->End(mQuery);
...@@ -68,7 +68,7 @@ GLuint Query11::getResult() ...@@ -68,7 +68,7 @@ GLuint Query11::getResult()
// if the device is lost // if the device is lost
if (mRenderer->testDeviceLost(true)) if (mRenderer->testDeviceLost(true))
{ {
return error(GL_OUT_OF_MEMORY, 0); return gl::error(GL_OUT_OF_MEMORY, 0);
} }
} }
} }
...@@ -108,7 +108,7 @@ GLboolean Query11::testQuery() ...@@ -108,7 +108,7 @@ GLboolean Query11::testQuery()
} }
else if (mRenderer->testDeviceLost(true)) else if (mRenderer->testDeviceLost(true))
{ {
return error(GL_OUT_OF_MEMORY, GL_TRUE); return gl::error(GL_OUT_OF_MEMORY, GL_TRUE);
} }
return getStatus(); return getStatus();
......
...@@ -35,7 +35,7 @@ void Query9::begin() ...@@ -35,7 +35,7 @@ void Query9::begin()
{ {
if (FAILED(mRenderer->getDevice()->CreateQuery(D3DQUERYTYPE_OCCLUSION, &mQuery))) if (FAILED(mRenderer->getDevice()->CreateQuery(D3DQUERYTYPE_OCCLUSION, &mQuery)))
{ {
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -47,7 +47,7 @@ void Query9::end() ...@@ -47,7 +47,7 @@ void Query9::end()
{ {
if (mQuery == NULL) if (mQuery == NULL)
{ {
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
HRESULT result = mQuery->Issue(D3DISSUE_END); HRESULT result = mQuery->Issue(D3DISSUE_END);
...@@ -69,7 +69,7 @@ GLuint Query9::getResult() ...@@ -69,7 +69,7 @@ GLuint Query9::getResult()
// instead of D3DERR_DEVICELOST like they should // instead of D3DERR_DEVICELOST like they should
if (mRenderer->testDeviceLost(true)) if (mRenderer->testDeviceLost(true))
{ {
return error(GL_OUT_OF_MEMORY, 0); return gl::error(GL_OUT_OF_MEMORY, 0);
} }
} }
} }
...@@ -111,7 +111,7 @@ GLboolean Query9::testQuery() ...@@ -111,7 +111,7 @@ GLboolean Query9::testQuery()
else if (d3d9::isDeviceLostError(hres)) else if (d3d9::isDeviceLostError(hres))
{ {
mRenderer->notifyDeviceLost(); mRenderer->notifyDeviceLost();
return error(GL_OUT_OF_MEMORY, GL_TRUE); return gl::error(GL_OUT_OF_MEMORY, GL_TRUE);
} }
return getStatus(); return getStatus();
......
...@@ -233,7 +233,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height ...@@ -233,7 +233,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height
if (supportedSamples == -1) if (supportedSamples == -1)
{ {
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
...@@ -262,7 +262,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height ...@@ -262,7 +262,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height
if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY) if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
{ {
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -279,7 +279,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height ...@@ -279,7 +279,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height
if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY) if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
{ {
rtTexture->Release(); rtTexture->Release();
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -295,7 +295,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height ...@@ -295,7 +295,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height
if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY) if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
{ {
rtTexture->Release(); rtTexture->Release();
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -311,7 +311,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height ...@@ -311,7 +311,7 @@ RenderTarget11::RenderTarget11(Renderer *renderer, GLsizei width, GLsizei height
{ {
rtTexture->Release(); rtTexture->Release();
mRenderTarget->Release(); mRenderTarget->Release();
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
......
...@@ -45,7 +45,7 @@ RenderTarget9::RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height, ...@@ -45,7 +45,7 @@ RenderTarget9::RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height,
if (supportedSamples == -1) if (supportedSamples == -1)
{ {
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
...@@ -69,7 +69,7 @@ RenderTarget9::RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height, ...@@ -69,7 +69,7 @@ RenderTarget9::RenderTarget9(Renderer *renderer, GLsizei width, GLsizei height,
if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY) if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
{ {
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
return; return;
} }
......
...@@ -143,7 +143,7 @@ ID3DBlob *Renderer::compileToBinary(gl::InfoLog &infoLog, const char *hlsl, cons ...@@ -143,7 +143,7 @@ ID3DBlob *Renderer::compileToBinary(gl::InfoLog &infoLog, const char *hlsl, cons
{ {
if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY) if (result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY)
{ {
return error(GL_OUT_OF_MEMORY, (ID3DBlob*) NULL); return gl::error(GL_OUT_OF_MEMORY, (ID3DBlob*) NULL);
} }
infoLog.append("Warning: D3D shader compilation failed with "); infoLog.append("Warning: D3D shader compilation failed with ");
......
...@@ -535,7 +535,7 @@ void Renderer11::setDepthStencilState(const gl::DepthStencilState &depthStencilS ...@@ -535,7 +535,7 @@ void Renderer11::setDepthStencilState(const gl::DepthStencilState &depthStencilS
{ {
ERR("Separate front/back stencil writemasks, reference values, or stencil mask values are " ERR("Separate front/back stencil writemasks, reference values, or stencil mask values are "
"invalid under WebGL."); "invalid under WebGL.");
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
ID3D11DepthStencilState *dxDepthStencilState = mStateCache.getDepthStencilState(depthStencilState); ID3D11DepthStencilState *dxDepthStencilState = mStateCache.getDepthStencilState(depthStencilState);
...@@ -663,7 +663,7 @@ bool Renderer11::applyPrimitiveType(GLenum mode, GLsizei count) ...@@ -663,7 +663,7 @@ bool Renderer11::applyPrimitiveType(GLenum mode, GLsizei count)
// emulate fans via rewriting index buffer // emulate fans via rewriting index buffer
case GL_TRIANGLE_FAN: primitiveTopology = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; break; case GL_TRIANGLE_FAN: primitiveTopology = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST; break;
default: default:
return error(GL_INVALID_ENUM, false); return gl::error(GL_INVALID_ENUM, false);
} }
mDeviceContext->IASetPrimitiveTopology(primitiveTopology); mDeviceContext->IASetPrimitiveTopology(primitiveTopology);
...@@ -914,7 +914,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -914,7 +914,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
mLineLoopIB = NULL; mLineLoopIB = NULL;
ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP."); ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -922,7 +922,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -922,7 +922,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (!mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT)) if (!mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT))
{ {
ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP."); ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
void* mappedMemory = NULL; void* mappedMemory = NULL;
...@@ -930,7 +930,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -930,7 +930,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (offset == -1 || mappedMemory == NULL) if (offset == -1 || mappedMemory == NULL)
{ {
ERR("Could not map index buffer for GL_LINE_LOOP."); ERR("Could not map index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory); unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory);
...@@ -972,7 +972,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -972,7 +972,7 @@ void Renderer11::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (!mLineLoopIB->unmapBuffer()) if (!mLineLoopIB->unmapBuffer())
{ {
ERR("Could not unmap index buffer for GL_LINE_LOOP."); ERR("Could not unmap index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
if (mAppliedIBSerial != mLineLoopIB->getSerial() || mAppliedIBOffset != indexBufferOffset) if (mAppliedIBSerial != mLineLoopIB->getSerial() || mAppliedIBOffset != indexBufferOffset)
...@@ -1006,7 +1006,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic ...@@ -1006,7 +1006,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic
mTriangleFanIB = NULL; mTriangleFanIB = NULL;
ERR("Could not create a scratch index buffer for GL_TRIANGLE_FAN."); ERR("Could not create a scratch index buffer for GL_TRIANGLE_FAN.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -1015,7 +1015,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic ...@@ -1015,7 +1015,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic
if (!mTriangleFanIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT)) if (!mTriangleFanIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT))
{ {
ERR("Could not reserve enough space in scratch index buffer for GL_TRIANGLE_FAN."); ERR("Could not reserve enough space in scratch index buffer for GL_TRIANGLE_FAN.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
void* mappedMemory = NULL; void* mappedMemory = NULL;
...@@ -1023,7 +1023,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic ...@@ -1023,7 +1023,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic
if (offset == -1 || mappedMemory == NULL) if (offset == -1 || mappedMemory == NULL)
{ {
ERR("Could not map scratch index buffer for GL_TRIANGLE_FAN."); ERR("Could not map scratch index buffer for GL_TRIANGLE_FAN.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory); unsigned int *data = reinterpret_cast<unsigned int*>(mappedMemory);
...@@ -1069,7 +1069,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic ...@@ -1069,7 +1069,7 @@ void Renderer11::drawTriangleFan(GLsizei count, GLenum type, const GLvoid *indic
if (!mTriangleFanIB->unmapBuffer()) if (!mTriangleFanIB->unmapBuffer())
{ {
ERR("Could not unmap scratch index buffer for GL_TRIANGLE_FAN."); ERR("Could not unmap scratch index buffer for GL_TRIANGLE_FAN.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
if (mAppliedIBSerial != mTriangleFanIB->getSerial() || mAppliedIBOffset != indexBufferOffset) if (mAppliedIBSerial != mTriangleFanIB->getSerial() || mAppliedIBOffset != indexBufferOffset)
...@@ -1781,6 +1781,8 @@ bool Renderer11::testDeviceLost(bool notify) ...@@ -1781,6 +1781,8 @@ bool Renderer11::testDeviceLost(bool notify)
if (isLost) if (isLost)
{ {
// ensure we note the device loss -- // ensure we note the device loss --
// we'll probably get this done again by notifyDeviceLost
// but best to remember it!
// Note that we don't want to clear the device loss status here // Note that we don't want to clear the device loss status here
// -- this needs to be done by resetDevice // -- this needs to be done by resetDevice
mDeviceLost = true; mDeviceLost = true;
...@@ -2160,21 +2162,21 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2160,21 +2162,21 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
if (!colorbuffer) if (!colorbuffer)
{ {
ERR("Failed to retrieve the color buffer from the frame buffer."); ERR("Failed to retrieve the color buffer from the frame buffer.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget());
if (!sourceRenderTarget) if (!sourceRenderTarget)
{ {
ERR("Failed to retrieve the render target from the frame buffer."); ERR("Failed to retrieve the render target from the frame buffer.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView(); ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView();
if (!source) if (!source)
{ {
ERR("Failed to retrieve the render target view from the render target."); ERR("Failed to retrieve the render target view from the render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
TextureStorage11_2D *storage11 = TextureStorage11_2D::makeTextureStorage11_2D(storage->getStorageInstance()); TextureStorage11_2D *storage11 = TextureStorage11_2D::makeTextureStorage11_2D(storage->getStorageInstance());
...@@ -2182,7 +2184,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2182,7 +2184,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the texture storage from the destination."); ERR("Failed to retrieve the texture storage from the destination.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(level)); RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(level));
...@@ -2190,7 +2192,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2190,7 +2192,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the render target from the destination storage."); ERR("Failed to retrieve the render target from the destination storage.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView(); ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView();
...@@ -2198,7 +2200,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2198,7 +2200,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the render target view from the destination render target."); ERR("Failed to retrieve the render target view from the destination render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
gl::Rectangle destRect; gl::Rectangle destRect;
...@@ -2223,21 +2225,21 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2223,21 +2225,21 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
if (!colorbuffer) if (!colorbuffer)
{ {
ERR("Failed to retrieve the color buffer from the frame buffer."); ERR("Failed to retrieve the color buffer from the frame buffer.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget()); RenderTarget11 *sourceRenderTarget = RenderTarget11::makeRenderTarget11(colorbuffer->getRenderTarget());
if (!sourceRenderTarget) if (!sourceRenderTarget)
{ {
ERR("Failed to retrieve the render target from the frame buffer."); ERR("Failed to retrieve the render target from the frame buffer.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView(); ID3D11ShaderResourceView *source = sourceRenderTarget->getShaderResourceView();
if (!source) if (!source)
{ {
ERR("Failed to retrieve the render target view from the render target."); ERR("Failed to retrieve the render target view from the render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
TextureStorage11_Cube *storage11 = TextureStorage11_Cube::makeTextureStorage11_Cube(storage->getStorageInstance()); TextureStorage11_Cube *storage11 = TextureStorage11_Cube::makeTextureStorage11_Cube(storage->getStorageInstance());
...@@ -2245,7 +2247,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2245,7 +2247,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the texture storage from the destination."); ERR("Failed to retrieve the texture storage from the destination.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(target, level)); RenderTarget11 *destRenderTarget = RenderTarget11::makeRenderTarget11(storage11->getRenderTarget(target, level));
...@@ -2253,7 +2255,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2253,7 +2255,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the render target from the destination storage."); ERR("Failed to retrieve the render target from the destination storage.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView(); ID3D11RenderTargetView *dest = destRenderTarget->getRenderTargetView();
...@@ -2261,7 +2263,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so ...@@ -2261,7 +2263,7 @@ bool Renderer11::copyImage(gl::Framebuffer *framebuffer, const gl::Rectangle &so
{ {
source->Release(); source->Release();
ERR("Failed to retrieve the render target view from the destination render target."); ERR("Failed to retrieve the render target view from the destination render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
gl::Rectangle destRect; gl::Rectangle destRect;
...@@ -2358,7 +2360,7 @@ bool Renderer11::copyTexture(ID3D11ShaderResourceView *source, const gl::Rectang ...@@ -2358,7 +2360,7 @@ bool Renderer11::copyTexture(ID3D11ShaderResourceView *source, const gl::Rectang
destArea.x < 0 || destArea.x + destArea.width > static_cast<int>(destWidth) || destArea.x < 0 || destArea.x + destArea.width > static_cast<int>(destWidth) ||
destArea.y < 0 || destArea.y + destArea.height > static_cast<int>(destHeight)) destArea.y < 0 || destArea.y + destArea.height > static_cast<int>(destHeight))
{ {
return error(GL_INVALID_VALUE, false); return gl::error(GL_INVALID_VALUE, false);
} }
// Set vertices // Set vertices
...@@ -2367,7 +2369,7 @@ bool Renderer11::copyTexture(ID3D11ShaderResourceView *source, const gl::Rectang ...@@ -2367,7 +2369,7 @@ bool Renderer11::copyTexture(ID3D11ShaderResourceView *source, const gl::Rectang
if (FAILED(result)) if (FAILED(result))
{ {
ERR("Failed to map vertex buffer for texture copy, HRESULT: 0x%X.", result); ERR("Failed to map vertex buffer for texture copy, HRESULT: 0x%X.", result);
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
d3d11::PositionTexCoordVertex *vertices = static_cast<d3d11::PositionTexCoordVertex*>(mappedResource.pData); d3d11::PositionTexCoordVertex *vertices = static_cast<d3d11::PositionTexCoordVertex*>(mappedResource.pData);
......
...@@ -955,7 +955,7 @@ void Renderer9::setDepthStencilState(const gl::DepthStencilState &depthStencilSt ...@@ -955,7 +955,7 @@ void Renderer9::setDepthStencilState(const gl::DepthStencilState &depthStencilSt
depthStencilState.stencilMask != depthStencilState.stencilBackMask) depthStencilState.stencilMask != depthStencilState.stencilBackMask)
{ {
ERR("Separate front/back stencil writemasks, reference values, or stencil mask values are invalid under WebGL."); ERR("Separate front/back stencil writemasks, reference values, or stencil mask values are invalid under WebGL.");
return error(GL_INVALID_OPERATION); return gl::error(GL_INVALID_OPERATION);
} }
// get the maximum size of the stencil ref // get the maximum size of the stencil ref
...@@ -1149,7 +1149,7 @@ bool Renderer9::applyPrimitiveType(GLenum mode, GLsizei count) ...@@ -1149,7 +1149,7 @@ bool Renderer9::applyPrimitiveType(GLenum mode, GLsizei count)
mPrimitiveCount = count - 2; mPrimitiveCount = count - 2;
break; break;
default: default:
return error(GL_INVALID_ENUM, false); return gl::error(GL_INVALID_ENUM, false);
} }
return mPrimitiveCount > 0; return mPrimitiveCount > 0;
...@@ -1397,7 +1397,7 @@ void Renderer9::drawArrays(GLenum mode, GLsizei count, GLsizei instances) ...@@ -1397,7 +1397,7 @@ void Renderer9::drawArrays(GLenum mode, GLsizei count, GLsizei instances)
else else
{ {
ERR("Could not create a counting index buffer for glDrawArraysInstanced."); ERR("Could not create a counting index buffer for glDrawArraysInstanced.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
else // Regular case else // Regular case
...@@ -1447,7 +1447,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1447,7 +1447,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
mLineLoopIB = NULL; mLineLoopIB = NULL;
ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP."); ERR("Could not create a 32-bit looping index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -1455,7 +1455,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1455,7 +1455,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (!mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT)) if (!mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_INT))
{ {
ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP."); ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
void* mappedMemory = NULL; void* mappedMemory = NULL;
...@@ -1463,7 +1463,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1463,7 +1463,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (offset == -1 || mappedMemory == NULL) if (offset == -1 || mappedMemory == NULL)
{ {
ERR("Could not map index buffer for GL_LINE_LOOP."); ERR("Could not map index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
startIndex = static_cast<UINT>(offset) / 4; startIndex = static_cast<UINT>(offset) / 4;
...@@ -1505,7 +1505,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1505,7 +1505,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (!mLineLoopIB->unmapBuffer()) if (!mLineLoopIB->unmapBuffer())
{ {
ERR("Could not unmap index buffer for GL_LINE_LOOP."); ERR("Could not unmap index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
else else
...@@ -1519,7 +1519,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1519,7 +1519,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
mLineLoopIB = NULL; mLineLoopIB = NULL;
ERR("Could not create a 16-bit looping index buffer for GL_LINE_LOOP."); ERR("Could not create a 16-bit looping index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -1527,7 +1527,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1527,7 +1527,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (!mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_SHORT)) if (!mLineLoopIB->reserveBufferSpace(spaceNeeded, GL_UNSIGNED_SHORT))
{ {
ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP."); ERR("Could not reserve enough space in looping index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
void* mappedMemory = NULL; void* mappedMemory = NULL;
...@@ -1535,7 +1535,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1535,7 +1535,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (offset == -1 || mappedMemory == NULL) if (offset == -1 || mappedMemory == NULL)
{ {
ERR("Could not map index buffer for GL_LINE_LOOP."); ERR("Could not map index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
startIndex = static_cast<UINT>(offset) / 2; startIndex = static_cast<UINT>(offset) / 2;
...@@ -1577,7 +1577,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices, ...@@ -1577,7 +1577,7 @@ void Renderer9::drawLineLoop(GLsizei count, GLenum type, const GLvoid *indices,
if (!mLineLoopIB->unmapBuffer()) if (!mLineLoopIB->unmapBuffer())
{ {
ERR("Could not unmap index buffer for GL_LINE_LOOP."); ERR("Could not unmap index buffer for GL_LINE_LOOP.");
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -2048,6 +2048,8 @@ bool Renderer9::testDeviceLost(bool notify) ...@@ -2048,6 +2048,8 @@ bool Renderer9::testDeviceLost(bool notify)
if (isLost) if (isLost)
{ {
// ensure we note the device loss -- // ensure we note the device loss --
// we'll probably get this done again by notifyDeviceLost
// but best to remember it!
// Note that we don't want to clear the device loss status here // Note that we don't want to clear the device loss status here
// -- this needs to be done by resetDevice // -- this needs to be done by resetDevice
mDeviceLost = true; mDeviceLost = true;
...@@ -2547,7 +2549,7 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe ...@@ -2547,7 +2549,7 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe
if (!readSurface || !drawSurface) if (!readSurface || !drawSurface)
{ {
ERR("Failed to retrieve the render target."); ERR("Failed to retrieve the render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
RECT srcRect, dstRect; RECT srcRect, dstRect;
...@@ -2614,7 +2616,7 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe ...@@ -2614,7 +2616,7 @@ bool Renderer9::blitRect(gl::Framebuffer *readFramebuffer, gl::Rectangle *readRe
if (!readSurface || !drawSurface) if (!readSurface || !drawSurface)
{ {
ERR("Failed to retrieve the render target."); ERR("Failed to retrieve the render target.");
return error(GL_OUT_OF_MEMORY, false); return gl::error(GL_OUT_OF_MEMORY, false);
} }
HRESULT result = mDevice->StretchRect(readSurface, NULL, drawSurface, NULL, D3DTEXF_NONE); HRESULT result = mDevice->StretchRect(readSurface, NULL, drawSurface, NULL, D3DTEXF_NONE);
...@@ -2662,7 +2664,7 @@ void Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsiz ...@@ -2662,7 +2664,7 @@ void Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsiz
{ {
UNIMPLEMENTED(); // FIXME: Requires resolve using StretchRect into non-multisampled render target UNIMPLEMENTED(); // FIXME: Requires resolve using StretchRect into non-multisampled render target
surface->Release(); surface->Release();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
HRESULT result; HRESULT result;
...@@ -2690,7 +2692,7 @@ void Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsiz ...@@ -2690,7 +2692,7 @@ void Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsiz
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
surface->Release(); surface->Release();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -2707,7 +2709,7 @@ void Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsiz ...@@ -2707,7 +2709,7 @@ void Renderer9::readPixels(gl::Framebuffer *framebuffer, GLint x, GLint y, GLsiz
if (d3d9::isDeviceLostError(result)) if (d3d9::isDeviceLostError(result))
{ {
notifyDeviceLost(); notifyDeviceLost();
return error(GL_OUT_OF_MEMORY); return gl::error(GL_OUT_OF_MEMORY);
} }
else else
{ {
......
...@@ -239,7 +239,7 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, int levels, GLenum ...@@ -239,7 +239,7 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, int levels, GLenum
{ {
ASSERT(result == E_OUTOFMEMORY); ASSERT(result == E_OUTOFMEMORY);
ERR("Creating image failed."); ERR("Creating image failed.");
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
} }
else else
{ {
...@@ -298,7 +298,7 @@ RenderTarget *TextureStorage11_2D::getRenderTarget(int level) ...@@ -298,7 +298,7 @@ RenderTarget *TextureStorage11_2D::getRenderTarget(int level)
if (result == E_OUTOFMEMORY) if (result == E_OUTOFMEMORY)
{ {
return error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL));
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -314,7 +314,7 @@ RenderTarget *TextureStorage11_2D::getRenderTarget(int level) ...@@ -314,7 +314,7 @@ RenderTarget *TextureStorage11_2D::getRenderTarget(int level)
if (result == E_OUTOFMEMORY) if (result == E_OUTOFMEMORY)
{ {
rtv->Release(); rtv->Release();
return error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL));
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -352,7 +352,7 @@ ID3D11ShaderResourceView *TextureStorage11_2D::getSRV() ...@@ -352,7 +352,7 @@ ID3D11ShaderResourceView *TextureStorage11_2D::getSRV()
if (result == E_OUTOFMEMORY) if (result == E_OUTOFMEMORY)
{ {
return error(GL_OUT_OF_MEMORY, static_cast<ID3D11ShaderResourceView*>(NULL)); return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11ShaderResourceView*>(NULL));
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
} }
...@@ -414,7 +414,7 @@ TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, int levels, GLe ...@@ -414,7 +414,7 @@ TextureStorage11_Cube::TextureStorage11_Cube(Renderer *renderer, int levels, GLe
{ {
ASSERT(result == E_OUTOFMEMORY); ASSERT(result == E_OUTOFMEMORY);
ERR("Creating image failed."); ERR("Creating image failed.");
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
} }
else else
{ {
...@@ -481,7 +481,7 @@ RenderTarget *TextureStorage11_Cube::getRenderTarget(GLenum faceTarget, int leve ...@@ -481,7 +481,7 @@ RenderTarget *TextureStorage11_Cube::getRenderTarget(GLenum faceTarget, int leve
if (result == E_OUTOFMEMORY) if (result == E_OUTOFMEMORY)
{ {
return error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL));
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -499,7 +499,7 @@ RenderTarget *TextureStorage11_Cube::getRenderTarget(GLenum faceTarget, int leve ...@@ -499,7 +499,7 @@ RenderTarget *TextureStorage11_Cube::getRenderTarget(GLenum faceTarget, int leve
if (result == E_OUTOFMEMORY) if (result == E_OUTOFMEMORY)
{ {
rtv->Release(); rtv->Release();
return error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL)); return gl::error(GL_OUT_OF_MEMORY, static_cast<RenderTarget*>(NULL));
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
...@@ -544,7 +544,7 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::getSRV() ...@@ -544,7 +544,7 @@ ID3D11ShaderResourceView *TextureStorage11_Cube::getSRV()
if (result == E_OUTOFMEMORY) if (result == E_OUTOFMEMORY)
{ {
return error(GL_OUT_OF_MEMORY, static_cast<ID3D11ShaderResourceView*>(NULL)); return gl::error(GL_OUT_OF_MEMORY, static_cast<ID3D11ShaderResourceView*>(NULL));
} }
ASSERT(SUCCEEDED(result)); ASSERT(SUCCEEDED(result));
} }
......
...@@ -134,7 +134,7 @@ TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, int levels, GLenum in ...@@ -134,7 +134,7 @@ TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, int levels, GLenum in
if (FAILED(result)) if (FAILED(result))
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
} }
} }
...@@ -236,7 +236,7 @@ TextureStorage9_Cube::TextureStorage9_Cube(Renderer *renderer, int levels, GLenu ...@@ -236,7 +236,7 @@ TextureStorage9_Cube::TextureStorage9_Cube(Renderer *renderer, int levels, GLenu
if (FAILED(result)) if (FAILED(result))
{ {
ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY); ASSERT(result == D3DERR_OUTOFVIDEOMEMORY || result == E_OUTOFMEMORY);
error(GL_OUT_OF_MEMORY); gl::error(GL_OUT_OF_MEMORY);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment