summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-angle-inline.patch
diff options
context:
space:
mode:
Diffstat (limited to 'www-client/chromium/files/chromium-angle-inline.patch')
-rw-r--r--www-client/chromium/files/chromium-angle-inline.patch118
1 files changed, 118 insertions, 0 deletions
diff --git a/www-client/chromium/files/chromium-angle-inline.patch b/www-client/chromium/files/chromium-angle-inline.patch
new file mode 100644
index 0000000..e8975d7
--- /dev/null
+++ b/www-client/chromium/files/chromium-angle-inline.patch
@@ -0,0 +1,118 @@
+From 4c0a23611b3906855db7b93da2f34aec57930cdf Mon Sep 17 00:00:00 2001
+From: Geoff Lang <geofflang@chromium.org>
+Date: Tue, 25 Jun 2019 10:56:29 -0400
+Subject: [PATCH] Update ValidateSamplerParameterBase to use const parameters.
+
+ValidateSamplerParameterBase is called with both const and non-const
+parameter pointers which caused our explicit template instantiations to
+not cover all cases resulting in link errors. Force the parameters to
+always be const so that our instantiations cover everything.
+
+BUG=angleproject:3555
+
+Change-Id: Ibf92572ba80a689c75dcdc70e5153d9941da76f3
+Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676305
+Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
+Commit-Queue: Geoff Lang <geofflang@chromium.org>
+---
+
+diff --git a/third_party/angle/src/libANGLE/validationES.cpp b/third_party/angle/src/libANGLE/validationES.cpp
+index 041803a..3f402f6 100644
+--- a/third_party/angle/src/libANGLE/validationES.cpp
++++ b/third_party/angle/src/libANGLE/validationES.cpp
+@@ -189,7 +189,9 @@
+ }
+
+ template <typename ParamType>
+-bool ValidateTextureWrapModeValue(Context *context, ParamType *params, bool restrictedWrapModes)
++bool ValidateTextureWrapModeValue(Context *context,
++ const ParamType *params,
++ bool restrictedWrapModes)
+ {
+ switch (ConvertToGLenum(params[0]))
+ {
+@@ -223,7 +225,9 @@
+ }
+
+ template <typename ParamType>
+-bool ValidateTextureMinFilterValue(Context *context, ParamType *params, bool restrictedMinFilter)
++bool ValidateTextureMinFilterValue(Context *context,
++ const ParamType *params,
++ bool restrictedMinFilter)
+ {
+ switch (ConvertToGLenum(params[0]))
+ {
+@@ -252,7 +256,7 @@
+ }
+
+ template <typename ParamType>
+-bool ValidateTextureMagFilterValue(Context *context, ParamType *params)
++bool ValidateTextureMagFilterValue(Context *context, const ParamType *params)
+ {
+ switch (ConvertToGLenum(params[0]))
+ {
+@@ -269,7 +273,7 @@
+ }
+
+ template <typename ParamType>
+-bool ValidateTextureCompareModeValue(Context *context, ParamType *params)
++bool ValidateTextureCompareModeValue(Context *context, const ParamType *params)
+ {
+ // Acceptable mode parameters from GLES 3.0.2 spec, table 3.17
+ switch (ConvertToGLenum(params[0]))
+@@ -287,7 +291,7 @@
+ }
+
+ template <typename ParamType>
+-bool ValidateTextureCompareFuncValue(Context *context, ParamType *params)
++bool ValidateTextureCompareFuncValue(Context *context, const ParamType *params)
+ {
+ // Acceptable function parameters from GLES 3.0.2 spec, table 3.17
+ switch (ConvertToGLenum(params[0]))
+@@ -311,7 +315,7 @@
+ }
+
+ template <typename ParamType>
+-bool ValidateTextureSRGBDecodeValue(Context *context, ParamType *params)
++bool ValidateTextureSRGBDecodeValue(Context *context, const ParamType *params)
+ {
+ if (!context->getExtensions().textureSRGBDecode)
+ {
+@@ -5996,7 +6000,7 @@
+ GLenum pname,
+ GLsizei bufSize,
+ bool vectorParams,
+- ParamType *params)
++ const ParamType *params)
+ {
+ if (context->getClientMajorVersion() < 3)
+ {
+@@ -6099,8 +6103,13 @@
+ return true;
+ }
+
+-template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLfloat *);
+-template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLint *);
++template bool ValidateSamplerParameterBase(Context *,
++ GLuint,
++ GLenum,
++ GLsizei,
++ bool,
++ const GLfloat *);
++template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, const GLint *);
+ template bool ValidateSamplerParameterBase(Context *,
+ GLuint,
+ GLenum,
+diff --git a/third_party/angle/src/libANGLE/validationES.h b/third_party/angle/src/libANGLE/validationES.h
+index c61bda6..4b06d28 100644
+--- a/third_party/angle/src/libANGLE/validationES.h
++++ b/third_party/angle/src/libANGLE/validationES.h
+@@ -584,7 +584,7 @@
+ GLenum pname,
+ GLsizei bufSize,
+ bool vectorParams,
+- ParamType *params);
++ const ParamType *params);
+
+ bool ValidateGetInternalFormativBase(Context *context,
+ GLenum target,