From 4c0a23611b3906855db7b93da2f34aec57930cdf Mon Sep 17 00:00:00 2001 From: Geoff Lang 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 Commit-Queue: Geoff Lang --- 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 -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 -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 -bool ValidateTextureMagFilterValue(Context *context, ParamType *params) +bool ValidateTextureMagFilterValue(Context *context, const ParamType *params) { switch (ConvertToGLenum(params[0])) { @@ -269,7 +273,7 @@ } template -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 -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 -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,