summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Chromium Automerger <chromium-automerger@android>2013-10-30 20:31:24 +0000
committerAndroid Chromium Automerger <chromium-automerger@android>2013-10-30 20:31:24 +0000
commit64bdf03ae97c1a01eae66029d5f1739d008cc3e8 (patch)
tree9363f196a25cad47495af61833706a01b2215599
parent77eb0bbb4f62c8632404e3d08721355b3d6b9736 (diff)
parent0f0edf94bfe1fc28979b0d12747a900164bb966a (diff)
downloadangle_dx11-64bdf03ae97c1a01eae66029d5f1739d008cc3e8.tar.gz
Merge third_party/angle_dx11 from https://chromium.googlesource.com/external/angle.git at 0f0edf94bfe1fc28979b0d12747a900164bb966a
This commit was generated by merge_from_chromium.py. Change-Id: I2dd203dd27e681527e9715adf07f179927cf7bf0
-rw-r--r--src/build_angle.gypi4
-rw-r--r--src/compiler/Compiler.cpp2
-rw-r--r--src/compiler/DetectDiscontinuity.cpp2
-rw-r--r--src/compiler/OutputGLSLBase.h2
-rw-r--r--src/compiler/OutputHLSL.h2
-rw-r--r--src/compiler/ParseContext.cpp (renamed from src/compiler/ParseHelper.cpp)2
-rw-r--r--src/compiler/ParseContext.h (renamed from src/compiler/ParseHelper.h)0
-rw-r--r--src/compiler/SearchSymbol.h2
-rw-r--r--src/compiler/UnfoldShortCircuit.h2
-rw-r--r--src/compiler/ValidateLimitations.cpp2
-rw-r--r--src/compiler/debug.cpp2
-rw-r--r--src/compiler/glslang.l2
-rw-r--r--src/compiler/glslang.y2
-rw-r--r--src/compiler/glslang_lex.cpp2
-rw-r--r--src/compiler/glslang_tab.cpp2
-rw-r--r--src/compiler/parseConst.cpp2
-rw-r--r--src/compiler/timing/RestrictFragmentShaderTiming.cpp2
-rw-r--r--src/compiler/translator.vcxproj4
-rw-r--r--src/compiler/translator.vcxproj.filters12
-rw-r--r--src/libEGL/Surface.cpp7
-rw-r--r--src/libEGL/libEGL.cpp10
-rw-r--r--src/libGLESv2/Context.h3
-rw-r--r--src/libGLESv2/renderer/VertexBuffer9.cpp2
23 files changed, 44 insertions, 28 deletions
diff --git a/src/build_angle.gypi b/src/build_angle.gypi
index 864ca5c5..13c42f9e 100644
--- a/src/build_angle.gypi
+++ b/src/build_angle.gypi
@@ -60,8 +60,8 @@
'compiler/OutputHLSL.cpp',
'compiler/OutputHLSL.h',
'compiler/parseConst.cpp',
- 'compiler/ParseHelper.cpp',
- 'compiler/ParseHelper.h',
+ 'compiler/ParseContext.cpp',
+ 'compiler/ParseContext.h',
'compiler/PoolAlloc.cpp',
'compiler/PoolAlloc.h',
'compiler/QualifierAlive.cpp',
diff --git a/src/compiler/Compiler.cpp b/src/compiler/Compiler.cpp
index ecd5f012..54ca7082 100644
--- a/src/compiler/Compiler.cpp
+++ b/src/compiler/Compiler.cpp
@@ -11,7 +11,7 @@
#include "compiler/InitializeGLPosition.h"
#include "compiler/InitializeParseContext.h"
#include "compiler/MapLongVariableNames.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "compiler/RenameFunction.h"
#include "compiler/ShHandle.h"
#include "compiler/UnfoldShortCircuitAST.h"
diff --git a/src/compiler/DetectDiscontinuity.cpp b/src/compiler/DetectDiscontinuity.cpp
index 7c3b68a0..8cfe49ba 100644
--- a/src/compiler/DetectDiscontinuity.cpp
+++ b/src/compiler/DetectDiscontinuity.cpp
@@ -10,7 +10,7 @@
#include "compiler/DetectDiscontinuity.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
namespace sh
{
diff --git a/src/compiler/OutputGLSLBase.h b/src/compiler/OutputGLSLBase.h
index df4ad68c..69868c09 100644
--- a/src/compiler/OutputGLSLBase.h
+++ b/src/compiler/OutputGLSLBase.h
@@ -11,7 +11,7 @@
#include "compiler/ForLoopUnroll.h"
#include "compiler/intermediate.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
class TOutputGLSLBase : public TIntermTraverser
{
diff --git a/src/compiler/OutputHLSL.h b/src/compiler/OutputHLSL.h
index cde41207..49bc1376 100644
--- a/src/compiler/OutputHLSL.h
+++ b/src/compiler/OutputHLSL.h
@@ -15,7 +15,7 @@
#include <GLES2/gl2.h>
#include "compiler/intermediate.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "compiler/Uniform.h"
namespace sh
diff --git a/src/compiler/ParseHelper.cpp b/src/compiler/ParseContext.cpp
index 1f8538e6..9a279523 100644
--- a/src/compiler/ParseHelper.cpp
+++ b/src/compiler/ParseContext.cpp
@@ -4,7 +4,7 @@
// found in the LICENSE file.
//
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include <stdarg.h>
#include <stdio.h>
diff --git a/src/compiler/ParseHelper.h b/src/compiler/ParseContext.h
index c2b3c3f7..c2b3c3f7 100644
--- a/src/compiler/ParseHelper.h
+++ b/src/compiler/ParseContext.h
diff --git a/src/compiler/SearchSymbol.h b/src/compiler/SearchSymbol.h
index 6bc0b90f..224bc77c 100644
--- a/src/compiler/SearchSymbol.h
+++ b/src/compiler/SearchSymbol.h
@@ -10,7 +10,7 @@
#define COMPILER_SEARCHSYMBOL_H_
#include "compiler/intermediate.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
namespace sh
{
diff --git a/src/compiler/UnfoldShortCircuit.h b/src/compiler/UnfoldShortCircuit.h
index cb176a5f..ae2989fa 100644
--- a/src/compiler/UnfoldShortCircuit.h
+++ b/src/compiler/UnfoldShortCircuit.h
@@ -10,7 +10,7 @@
#define COMPILER_UNFOLDSHORTCIRCUIT_H_
#include "compiler/intermediate.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
namespace sh
{
diff --git a/src/compiler/ValidateLimitations.cpp b/src/compiler/ValidateLimitations.cpp
index 736ceeae..7b8b1c87 100644
--- a/src/compiler/ValidateLimitations.cpp
+++ b/src/compiler/ValidateLimitations.cpp
@@ -7,7 +7,7 @@
#include "compiler/ValidateLimitations.h"
#include "compiler/InfoSink.h"
#include "compiler/InitializeParseContext.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
namespace {
bool IsLoopIndex(const TIntermSymbol* symbol, const TLoopStack& stack) {
diff --git a/src/compiler/debug.cpp b/src/compiler/debug.cpp
index 53778bd3..6a7b0425 100644
--- a/src/compiler/debug.cpp
+++ b/src/compiler/debug.cpp
@@ -12,7 +12,7 @@
#include <stdio.h>
#include "compiler/InitializeParseContext.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
static const int kTraceBufferLen = 1024;
diff --git a/src/compiler/glslang.l b/src/compiler/glslang.l
index 60663f9a..430f8ca1 100644
--- a/src/compiler/glslang.l
+++ b/src/compiler/glslang.l
@@ -37,7 +37,7 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
%{
#include "compiler/glslang.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "compiler/preprocessor/Token.h"
#include "compiler/util.h"
#include "glslang_tab.h"
diff --git a/src/compiler/glslang.y b/src/compiler/glslang.y
index c64f736f..a8dceb40 100644
--- a/src/compiler/glslang.y
+++ b/src/compiler/glslang.y
@@ -35,7 +35,7 @@ WHICH GENERATES THE GLSL ES PARSER (glslang_tab.cpp AND glslang_tab.h).
#endif
#include "compiler/SymbolTable.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "GLSLANG/ShaderLang.h"
#define YYENABLE_NLS 0
diff --git a/src/compiler/glslang_lex.cpp b/src/compiler/glslang_lex.cpp
index 14d14116..de3d82bc 100644
--- a/src/compiler/glslang_lex.cpp
+++ b/src/compiler/glslang_lex.cpp
@@ -782,7 +782,7 @@ WHICH GENERATES THE GLSL ES LEXER (glslang_lex.cpp).
*/
#include "compiler/glslang.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "compiler/preprocessor/Token.h"
#include "compiler/util.h"
#include "glslang_tab.h"
diff --git a/src/compiler/glslang_tab.cpp b/src/compiler/glslang_tab.cpp
index af47a23d..1f2e8903 100644
--- a/src/compiler/glslang_tab.cpp
+++ b/src/compiler/glslang_tab.cpp
@@ -85,7 +85,7 @@
#endif
#include "compiler/SymbolTable.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "GLSLANG/ShaderLang.h"
#define YYENABLE_NLS 0
diff --git a/src/compiler/parseConst.cpp b/src/compiler/parseConst.cpp
index 1cc5db8d..65ed115c 100644
--- a/src/compiler/parseConst.cpp
+++ b/src/compiler/parseConst.cpp
@@ -4,7 +4,7 @@
// found in the LICENSE file.
//
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
//
// Use this class to carry along data from node to node in
diff --git a/src/compiler/timing/RestrictFragmentShaderTiming.cpp b/src/compiler/timing/RestrictFragmentShaderTiming.cpp
index 538b731b..b9d2bab1 100644
--- a/src/compiler/timing/RestrictFragmentShaderTiming.cpp
+++ b/src/compiler/timing/RestrictFragmentShaderTiming.cpp
@@ -5,7 +5,7 @@
//
#include "compiler/InfoSink.h"
-#include "compiler/ParseHelper.h"
+#include "compiler/ParseContext.h"
#include "compiler/depgraph/DependencyGraphOutput.h"
#include "compiler/timing/RestrictFragmentShaderTiming.h"
diff --git a/src/compiler/translator.vcxproj b/src/compiler/translator.vcxproj
index 6fb5ef63..7325172a 100644
--- a/src/compiler/translator.vcxproj
+++ b/src/compiler/translator.vcxproj
@@ -163,7 +163,7 @@
<ClCompile Include="OutputGLSLBase.cpp" />
<ClCompile Include="OutputHLSL.cpp" />
<ClCompile Include="parseConst.cpp" />
- <ClCompile Include="ParseHelper.cpp" />
+ <ClCompile Include="ParseContext.cpp" />
<ClCompile Include="PoolAlloc.cpp" />
<ClCompile Include="QualifierAlive.cpp" />
<ClCompile Include="RemoveTree.cpp" />
@@ -268,7 +268,7 @@
<ClInclude Include="OutputGLSL.h" />
<ClInclude Include="OutputGLSLBase.h" />
<ClInclude Include="OutputHLSL.h" />
- <ClInclude Include="ParseHelper.h" />
+ <ClInclude Include="ParseContext.h" />
<ClInclude Include="PoolAlloc.h" />
<ClInclude Include="QualifierAlive.h" />
<ClInclude Include="RemoveTree.h" />
diff --git a/src/compiler/translator.vcxproj.filters b/src/compiler/translator.vcxproj.filters
index a4e426a6..b8cd7304 100644
--- a/src/compiler/translator.vcxproj.filters
+++ b/src/compiler/translator.vcxproj.filters
@@ -80,9 +80,6 @@
<ClCompile Include="parseConst.cpp">
<Filter>Source Files</Filter>
</ClCompile>
- <ClCompile Include="ParseHelper.cpp">
- <Filter>Source Files</Filter>
- </ClCompile>
<ClCompile Include="PoolAlloc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -182,6 +179,9 @@
<ClCompile Include="UnfoldShortCircuitAST.cpp">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="ParseContext.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="BaseTypes.h">
@@ -241,9 +241,6 @@
<ClInclude Include="osinclude.h">
<Filter>Header Files</Filter>
</ClInclude>
- <ClInclude Include="ParseHelper.h">
- <Filter>Header Files</Filter>
- </ClInclude>
<ClInclude Include="PoolAlloc.h">
<Filter>Header Files</Filter>
</ClInclude>
@@ -346,6 +343,9 @@
<ClInclude Include="UnfoldShortCircuitAST.h">
<Filter>Header Files</Filter>
</ClInclude>
+ <ClInclude Include="ParseContext.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="glslang.l">
diff --git a/src/libEGL/Surface.cpp b/src/libEGL/Surface.cpp
index 30f85cda..01b40171 100644
--- a/src/libEGL/Surface.cpp
+++ b/src/libEGL/Surface.cpp
@@ -311,6 +311,13 @@ bool Surface::checkForOutOfDateSwapChain()
int clientHeight = client.bottom - client.top;
bool sizeDirty = clientWidth != getWidth() || clientHeight != getHeight();
+ if (IsIconic(getWindowHandle()))
+ {
+ // The window is automatically resized to 150x22 when it's minimized, but the swapchain shouldn't be resized
+ // because that's not a useful size to render to.
+ sizeDirty = false;
+ }
+
if (mSwapIntervalDirty)
{
resetSwapChain(clientWidth, clientHeight);
diff --git a/src/libEGL/libEGL.cpp b/src/libEGL/libEGL.cpp
index 6e10c392..320670da 100644
--- a/src/libEGL/libEGL.cpp
+++ b/src/libEGL/libEGL.cpp
@@ -819,13 +819,21 @@ EGLContext __stdcall eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLConte
return egl::error(EGL_BAD_CONFIG, EGL_NO_CONTEXT);
}
- if (share_context && static_cast<gl::Context*>(share_context)->isResetNotificationEnabled() != reset_notification)
+ gl::Context *sharedContextPtr = (share_context != EGL_NO_CONTEXT ? static_cast<gl::Context*>(share_context) : NULL);
+
+ if (sharedContextPtr != NULL && sharedContextPtr->isResetNotificationEnabled() != reset_notification)
{
return egl::error(EGL_BAD_MATCH, EGL_NO_CONTEXT);
}
egl::Display *display = static_cast<egl::Display*>(dpy);
+ // Can not share contexts between displays
+ if (sharedContextPtr != NULL && sharedContextPtr->getRenderer() != display->getRenderer())
+ {
+ return egl::error(EGL_BAD_MATCH, EGL_NO_CONTEXT);
+ }
+
if (!validateConfig(display, config))
{
return EGL_NO_CONTEXT;
diff --git a/src/libGLESv2/Context.h b/src/libGLESv2/Context.h
index 9c222be2..349ec130 100644
--- a/src/libGLESv2/Context.h
+++ b/src/libGLESv2/Context.h
@@ -37,7 +37,6 @@ class Renderer;
namespace egl
{
-class Display;
class Surface;
}
@@ -398,6 +397,8 @@ class Context
GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
GLbitfield mask);
+ rx::Renderer *getRenderer() { return mRenderer; }
+
private:
DISALLOW_COPY_AND_ASSIGN(Context);
diff --git a/src/libGLESv2/renderer/VertexBuffer9.cpp b/src/libGLESv2/renderer/VertexBuffer9.cpp
index b017b3af..5a792b97 100644
--- a/src/libGLESv2/renderer/VertexBuffer9.cpp
+++ b/src/libGLESv2/renderer/VertexBuffer9.cpp
@@ -182,7 +182,7 @@ bool VertexBuffer9::getSpaceRequired(const gl::VertexAttribute &attrib, GLsizei
bool VertexBuffer9::requiresConversion(const gl::VertexAttribute &attrib) const
{
- return formatConverter(attrib).identity;
+ return !formatConverter(attrib).identity;
}
unsigned int VertexBuffer9::getVertexSize(const gl::VertexAttribute &attrib) const