diff options
author | Andrew Knight <andrew.knight@digia.com> | 2013-09-18 11:51:20 +0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 08:53:35 +0200 |
commit | 1a334f8135d4be7b73b39ac736af0e722c864e83 (patch) | |
tree | cc0b7703b815e9fca858e8eecd7eb556e186998c /src/3rdparty/angle/src/libGLESv2/Context.cpp | |
parent | d84ed9a92ae0ce96b843c9dd5c263c6a0925405b (diff) |
ANGLE: Update to version 2446
Update ANGLE and reapply patches.
Patch changes:
"Dynamically resolve functions of dwmapi.dll"
Removed; ANGLE no longer uses DWM API
"Make it possible to link ANGLE statically for single-thread use"
Avoid name collision by using ANGLE-style getCurrent()
"Fix build when SSE2 is not available."
Added guard for __cpuid(), which is not available on ARM
"Make DX9/DX11 mutually exclusive"
Adjustments due to underlying code changes
"ANGLE: Avoid memory copies on buffers when data is null"
Removed; fixed upstream
"Add missing intrin.h include for __cpuid"
Removed; fixed upstream
Change-Id: I4f3d850fc555d3194ddc05e0b51c4966d33f7eaf
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/3rdparty/angle/src/libGLESv2/Context.cpp')
-rw-r--r-- | src/3rdparty/angle/src/libGLESv2/Context.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/3rdparty/angle/src/libGLESv2/Context.cpp b/src/3rdparty/angle/src/libGLESv2/Context.cpp index 90ba2539d8..e829d508a6 100644 --- a/src/3rdparty/angle/src/libGLESv2/Context.cpp +++ b/src/3rdparty/angle/src/libGLESv2/Context.cpp @@ -60,6 +60,7 @@ Context::Context(const gl::Context *shareContext, rx::Renderer *renderer, bool n mState.rasterizer.polygonOffsetFactor = 0.0f; mState.rasterizer.polygonOffsetUnits = 0.0f; mState.rasterizer.pointDrawMode = false; + mState.rasterizer.multiSample = false; mState.scissorTest = false; mState.scissor.x = 0; mState.scissor.y = 0; @@ -1075,6 +1076,7 @@ void Context::setRenderbufferStorage(GLsizei width, GLsizei height, GLenum inter case GL_RGB565: case GL_RGB8_OES: case GL_RGBA8_OES: + case GL_BGRA8_EXT: renderbuffer = new gl::Colorbuffer(mRenderer,width, height, internalformat, samples); break; case GL_STENCIL_INDEX8: @@ -1741,7 +1743,11 @@ bool Context::applyRenderTarget(GLenum drawMode, bool ignoreViewport) // Applies the fixed-function state (culling, depth test, alpha blending, stenciling, etc) to the Direct3D 9 device void Context::applyState(GLenum drawMode) { + Framebuffer *framebufferObject = getDrawFramebuffer(); + int samples = framebufferObject->getSamples(); + mState.rasterizer.pointDrawMode = (drawMode == GL_POINTS); + mState.rasterizer.multiSample = (samples != 0); mRenderer->setRasterizerState(mState.rasterizer); unsigned int mask = 0; @@ -1749,10 +1755,10 @@ void Context::applyState(GLenum drawMode) { if (mState.sampleCoverageValue != 0) { - Framebuffer *framebufferObject = getDrawFramebuffer(); + float threshold = 0.5f; - for (int i = 0; i < framebufferObject->getSamples(); ++i) + for (int i = 0; i < samples; ++i) { mask <<= 1; @@ -2582,6 +2588,7 @@ void Context::initExtensionString() } extensionString += "GL_EXT_texture_storage "; + extensionString += "GL_EXT_frag_depth "; // ANGLE-specific extensions if (supportsDepthTextures()) |