Remove GL_CHROMIUM_texture_filtering_hint
This was using an unregistered Vulkan extension to set the precision of
SwiftShader's internal filtering for the sake of Chrome. That's baked
in at build instead.
Bug: angleproject:8349
Bug: chromium:726075
Change-Id: I12849d2d29d99626f22a92ee9d74366f78658476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5063344
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/doc/ExtensionSupport.md b/doc/ExtensionSupport.md
index ccc210f..1029fca 100644
--- a/doc/ExtensionSupport.md
+++ b/doc/ExtensionSupport.md
@@ -247,7 +247,6 @@
| [GL_ANGLE_texture_compression_dxt3](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt3.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | |
| [GL_ANGLE_texture_compression_dxt5](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_compression_dxt5.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | | |
| [GL_ANGLE_texture_external_update](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_external_update.txt) | | | | | | | |
-| [GL_CHROMIUM_texture_filtering_hint](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/CHROMIUM_texture_filtering_hint.txt) | | | | | ✔ | | |
| [GL_ANGLE_texture_multisample](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_multisample.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| [GL_ANGLE_texture_rectangle](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_texture_rectangle.txt) | | | | | | | |
| [GL_ANGLE_vulkan_image](https://chromium.googlesource.com/angle/angle/+/refs/heads/main/extensions/ANGLE_vulkan_image.txt) | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
diff --git a/include/GLES2/gl2ext_angle.h b/include/GLES2/gl2ext_angle.h
index cef3f51..7e08b1c 100644
--- a/include/GLES2/gl2ext_angle.h
+++ b/include/GLES2/gl2ext_angle.h
@@ -601,11 +601,6 @@
#endif
#endif /* GL_ANGLE_vulkan_image */
-#ifndef GL_CHROMIUM_texture_filtering_hint
-#define GL_CHROMIUM_texture_filtering_hint
-#define GL_TEXTURE_FILTERING_HINT_CHROMIUM 0x8AF0
-#endif /* GL_CHROMIUM_texture_filtering_hint */
-
#ifndef GL_NV_robustness_video_memory
#define GL_NV_robustness_video_memory
#define GL_PURGED_CONTEXT_RESET_NV 0x92BB
diff --git a/include/platform/autogen/FeaturesVk_autogen.h b/include/platform/autogen/FeaturesVk_autogen.h
index 6696d3b..ced2028 100644
--- a/include/platform/autogen/FeaturesVk_autogen.h
+++ b/include/platform/autogen/FeaturesVk_autogen.h
@@ -139,13 +139,6 @@
&members,
};
- FeatureInfo supportsFilteringPrecision = {
- "supportsFilteringPrecision",
- FeatureCategory::VulkanFeatures,
- "VkDevice supports the VK_GOOGLE_sampler_filtering_precision extension",
- &members,
- };
-
FeatureInfo supportsExternalFenceCapabilities = {
"supportsExternalFenceCapabilities",
FeatureCategory::VulkanFeatures,
diff --git a/include/platform/vk_features.json b/include/platform/vk_features.json
index dafe445..16cec02 100644
--- a/include/platform/vk_features.json
+++ b/include/platform/vk_features.json
@@ -133,13 +133,6 @@
]
},
{
- "name": "supports_filtering_precision",
- "category": "Features",
- "description": [
- "VkDevice supports the VK_GOOGLE_sampler_filtering_precision extension"
- ]
- },
- {
"name": "supports_external_fence_capabilities",
"category": "Features",
"description": [
diff --git a/scripts/code_generation_hashes/Extension_files.json b/scripts/code_generation_hashes/Extension_files.json
index 39019b0..c41f019 100644
--- a/scripts/code_generation_hashes/Extension_files.json
+++ b/scripts/code_generation_hashes/Extension_files.json
@@ -1,6 +1,6 @@
{
"doc/ExtensionSupport.md":
- "95d3899d5d322d0c28a39bcf033fd31a",
+ "e6028169e287a20efa4686f661c3ad63",
"scripts/egl_angle_ext.xml":
"89e7586fbfed61f7b1500f2dd90c1a2e",
"scripts/extension_data/intel_630_linux.json":
@@ -22,13 +22,13 @@
"scripts/gl_angle_ext.xml":
"3d6d9529c6d0da797652c366ddaa9087",
"scripts/registry_xml.py":
- "47ea795fada7b13232c7c9445ccfadb6",
+ "d68e6d8d31eafb11d33eb88f51d7457e",
"src/libANGLE/gen_extensions.py":
"6ea1cb1733c4df98b527bbf2752e118b",
"src/libANGLE/gles_extensions_autogen.cpp":
- "950a6f60a7e0886a5a6e41d21cc53eb9",
+ "a721438742cf9df4cf01263c9d61fb2f",
"src/libANGLE/gles_extensions_autogen.h":
- "a30c1a9423cb0a52cbf4ed742e612df9",
+ "c5d442ac9e933232f2b992327d75b2d0",
"third_party/EGL-Registry/src/api/egl.xml":
"2056d54ea07156f1988ca1366bdee21a",
"third_party/OpenCL-Docs/src/xml/cl.xml":
diff --git a/scripts/code_generation_hashes/GL_EGL_WGL_loader.json b/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
index ae8297b..3181b81 100644
--- a/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
+++ b/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
@@ -6,7 +6,7 @@
"scripts/gl_angle_ext.xml":
"3d6d9529c6d0da797652c366ddaa9087",
"scripts/registry_xml.py":
- "47ea795fada7b13232c7c9445ccfadb6",
+ "d68e6d8d31eafb11d33eb88f51d7457e",
"src/libEGL/egl_loader_autogen.cpp":
"a41c368dc25edc7ceda29b17cb45b854",
"src/libEGL/egl_loader_autogen.h":
diff --git a/scripts/code_generation_hashes/GL_EGL_entry_points.json b/scripts/code_generation_hashes/GL_EGL_entry_points.json
index 9c1af94..8de74d3 100644
--- a/scripts/code_generation_hashes/GL_EGL_entry_points.json
+++ b/scripts/code_generation_hashes/GL_EGL_entry_points.json
@@ -10,7 +10,7 @@
"scripts/gl_angle_ext.xml":
"3d6d9529c6d0da797652c366ddaa9087",
"scripts/registry_xml.py":
- "47ea795fada7b13232c7c9445ccfadb6",
+ "d68e6d8d31eafb11d33eb88f51d7457e",
"src/common/entry_points_enum_autogen.cpp":
"1c7b8562eebccb8c980dbb664bb9ff3b",
"src/common/entry_points_enum_autogen.h":
@@ -38,7 +38,7 @@
"src/libANGLE/Context_gles_3_2_autogen.h":
"cf9900e0067812fc6773e8ae4664da33",
"src/libANGLE/Context_gles_ext_autogen.h":
- "b0c882fbdb59cbb5a70443cc97508562",
+ "21a91ccacddfd58dbc5ab872f2def8ae",
"src/libANGLE/capture/capture_egl_autogen.cpp":
"13734e23717732184a23fe7c872a0016",
"src/libANGLE/capture/capture_egl_autogen.h":
diff --git a/scripts/code_generation_hashes/GLenum_value_to_string_map.json b/scripts/code_generation_hashes/GLenum_value_to_string_map.json
index 97be780..bc25170 100644
--- a/scripts/code_generation_hashes/GLenum_value_to_string_map.json
+++ b/scripts/code_generation_hashes/GLenum_value_to_string_map.json
@@ -4,7 +4,7 @@
"scripts/gl_angle_ext.xml":
"3d6d9529c6d0da797652c366ddaa9087",
"scripts/registry_xml.py":
- "47ea795fada7b13232c7c9445ccfadb6",
+ "d68e6d8d31eafb11d33eb88f51d7457e",
"src/common/gl_enum_utils_autogen.cpp":
"034602dc70b0ddb2325bc8b9b13de233",
"src/common/gl_enum_utils_autogen.h":
diff --git a/scripts/code_generation_hashes/interpreter_utils.json b/scripts/code_generation_hashes/interpreter_utils.json
index 4b24a66..bbab800 100644
--- a/scripts/code_generation_hashes/interpreter_utils.json
+++ b/scripts/code_generation_hashes/interpreter_utils.json
@@ -6,7 +6,7 @@
"scripts/gl_angle_ext.xml":
"3d6d9529c6d0da797652c366ddaa9087",
"scripts/registry_xml.py":
- "47ea795fada7b13232c7c9445ccfadb6",
+ "d68e6d8d31eafb11d33eb88f51d7457e",
"third_party/EGL-Registry/src/api/egl.xml":
"2056d54ea07156f1988ca1366bdee21a",
"third_party/OpenCL-Docs/src/xml/cl.xml":
diff --git a/scripts/code_generation_hashes/proc_table.json b/scripts/code_generation_hashes/proc_table.json
index 71c4c1c..e15bd82 100644
--- a/scripts/code_generation_hashes/proc_table.json
+++ b/scripts/code_generation_hashes/proc_table.json
@@ -6,7 +6,7 @@
"scripts/gl_angle_ext.xml":
"3d6d9529c6d0da797652c366ddaa9087",
"scripts/registry_xml.py":
- "47ea795fada7b13232c7c9445ccfadb6",
+ "d68e6d8d31eafb11d33eb88f51d7457e",
"src/libGLESv2/proc_table_cl_autogen.cpp":
"ed003b0f041aaaa35b67d3fe07e61f91",
"src/libGLESv2/proc_table_egl_autogen.cpp":
diff --git a/scripts/registry_xml.py b/scripts/registry_xml.py
index f97e32b..68c0eaf 100644
--- a/scripts/registry_xml.py
+++ b/scripts/registry_xml.py
@@ -79,7 +79,6 @@
"GL_CHROMIUM_color_buffer_float_rgba",
"GL_CHROMIUM_lose_context",
"GL_CHROMIUM_sync_query",
- "GL_CHROMIUM_texture_filtering_hint",
]
gles_requestable_extensions = [
diff --git a/src/common/vulkan/BUILD.gn b/src/common/vulkan/BUILD.gn
index 8e0f34b..afde774 100644
--- a/src/common/vulkan/BUILD.gn
+++ b/src/common/vulkan/BUILD.gn
@@ -48,10 +48,7 @@
}
angle_source_set("angle_vulkan_headers") {
- sources = [
- "vk_google_filtering_precision.h",
- "vk_headers.h",
- ]
+ sources = [ "vk_headers.h" ]
if (angle_shared_libvulkan) {
public_deps = [ "$angle_root/src/third_party/volk:volk" ]
} else {
diff --git a/src/common/vulkan/vk_google_filtering_precision.h b/src/common/vulkan/vk_google_filtering_precision.h
deleted file mode 100644
index 934dc79..0000000
--- a/src/common/vulkan/vk_google_filtering_precision.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// Copyright 2020 The SwiftShader Authors. All Rights Reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef CUSTOM_VK_GOOGLE_SAMPLER_FILTERING_PRECISION_H_
-#define CUSTOM_VK_GOOGLE_SAMPLER_FILTERING_PRECISION_H_
-
-#include "vk_headers.h"
-
-// THIS FILE SHOULD BE DELETED IF VK_GOOGLE_sampler_filtering_precision IS EVER ADDED TO THE VULKAN
-// HEADERS
-#ifdef VK_GOOGLE_sampler_filtering_precision
-# error \
- "VK_GOOGLE_sampler_filtering_precision is already defined in the Vulkan headers, you can delete this file"
-#endif
-
-static constexpr VkStructureType VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE =
- static_cast<VkStructureType>(1000264000);
-
-#define VK_GOOGLE_sampler_filtering_precision 1
-#define VK_GOOGLE_SAMPLER_FILTERING_PRECISION_SPEC_VERSION 1
-#define VK_GOOGLE_SAMPLER_FILTERING_PRECISION_EXTENSION_NAME "VK_GOOGLE_sampler_filtering_precision"
-
-const int TEXTURE_FILTERING_HINT_CHROMIUM = 0x8AF0;
-
-typedef enum VkSamplerFilteringPrecisionModeGOOGLE
-{
- VK_SAMPLER_FILTERING_PRECISION_MODE_LOW_GOOGLE = 0,
- VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE = 1,
- VK_SAMPLER_FILTERING_PRECISION_MODE_BEGIN_RANGE_GOOGLE =
- VK_SAMPLER_FILTERING_PRECISION_MODE_LOW_GOOGLE,
- VK_SAMPLER_FILTERING_PRECISION_MODE_END_RANGE_GOOGLE =
- VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE,
- VK_SAMPLER_FILTERING_PRECISION_MODE_RANGE_SIZE_GOOGLE =
- (VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE -
- VK_SAMPLER_FILTERING_PRECISION_MODE_LOW_GOOGLE + 1),
- VK_SAMPLER_FILTERING_PRECISION_MODE_MAX_ENUM_GOOGLE = 0x7FFFFFFF
-} VkSamplerFilteringPrecisionModeGOOGLE;
-
-typedef struct VkSamplerFilteringPrecisionGOOGLE
-{
- VkStructureType sType;
- const void *pNext;
- VkSamplerFilteringPrecisionModeGOOGLE samplerFilteringPrecisionMode;
-} VkSamplerFilteringPrecisionGOOGLE;
-
-#endif // CUSTOM_VK_GOOGLE_SAMPLER_FILTERING_PRECISION_H_
diff --git a/src/common/vulkan/vulkan_icd.cpp b/src/common/vulkan/vulkan_icd.cpp
index 130cc82..56cda19 100644
--- a/src/common/vulkan/vulkan_icd.cpp
+++ b/src/common/vulkan/vulkan_icd.cpp
@@ -16,8 +16,6 @@
#include "common/debug.h"
#include "common/system_utils.h"
-#include "common/vulkan/vk_google_filtering_precision.h"
-
namespace
{
void ResetEnvironmentVar(const char *variableName, const Optional<std::string> &value)
@@ -178,12 +176,6 @@
ERR() << "Error setting synchronization validation environment for Vulkan validation "
"layers init.";
}
-
- if (!setCustomExtensionsEnvironment())
- {
- ERR() << "Error setting custom list for custom extensions for Vulkan layers init.";
- mEnableValidationLayers = false;
- }
}
#endif // !defined(ANGLE_PLATFORM_ANDROID)
@@ -233,38 +225,6 @@
return mChangedICDEnv;
}
-bool ScopedVkLoaderEnvironment::setCustomExtensionsEnvironment()
-{
- struct CustomExtension
- {
- VkStructureType type;
- size_t size;
- };
-
- CustomExtension customExtensions[] = {
-
- {VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE,
- sizeof(VkSamplerFilteringPrecisionGOOGLE)},
-
- };
-
- mPreviousCustomExtensionsEnv = angle::GetEnvironmentVar(kValidationLayersCustomSTypeListEnv);
-
- std::stringstream strstr;
- for (CustomExtension &extension : customExtensions)
- {
- if (strstr.tellp() != std::streampos(0))
- {
- strstr << angle::GetPathSeparatorForEnvironmentVar();
- }
-
- strstr << extension.type << angle::GetPathSeparatorForEnvironmentVar() << extension.size;
- }
-
- return angle::PrependPathToEnvironmentVar(kValidationLayersCustomSTypeListEnv,
- strstr.str().c_str());
-}
-
void ChoosePhysicalDevice(PFN_vkGetPhysicalDeviceProperties pGetPhysicalDeviceProperties,
const std::vector<VkPhysicalDevice> &physicalDevices,
vk::ICD preferredICD,
diff --git a/src/common/vulkan/vulkan_icd.h b/src/common/vulkan/vulkan_icd.h
index b2921f8..cc8f2cc 100644
--- a/src/common/vulkan/vulkan_icd.h
+++ b/src/common/vulkan/vulkan_icd.h
@@ -44,7 +44,6 @@
private:
bool setICDEnvironment(const char *icd);
- bool setCustomExtensionsEnvironment();
bool mEnableValidationLayers;
vk::ICD mICD;
diff --git a/src/libANGLE/Context.cpp b/src/libANGLE/Context.cpp
index 10c1f7f..fbddd32 100644
--- a/src/libANGLE/Context.cpp
+++ b/src/libANGLE/Context.cpp
@@ -3920,7 +3920,6 @@
mSupportedExtensions.textureCompressionRgtcEXT = false;
mSupportedExtensions.textureCompressionS3tcSrgbEXT = false;
mSupportedExtensions.textureCompressionAstcSliced3dKHR = false;
- mSupportedExtensions.textureFilteringHintCHROMIUM = false;
caps->compressedTextureFormats.clear();
}
diff --git a/src/libANGLE/Context_gles_ext_autogen.h b/src/libANGLE/Context_gles_ext_autogen.h
index 5fcb3e4..ab1a5a0 100644
--- a/src/libANGLE/Context_gles_ext_autogen.h
+++ b/src/libANGLE/Context_gles_ext_autogen.h
@@ -633,7 +633,6 @@
/* GL_CHROMIUM_framebuffer_mixed_samples */ \
/* GL_CHROMIUM_lose_context */ \
void loseContext(GraphicsResetStatus currentPacked, GraphicsResetStatus otherPacked); \
- /* GL_CHROMIUM_sync_query */ \
- /* GL_CHROMIUM_texture_filtering_hint */
+ /* GL_CHROMIUM_sync_query */
#endif // ANGLE_CONTEXT_API_EXT_AUTOGEN_H_
diff --git a/src/libANGLE/State.cpp b/src/libANGLE/State.cpp
index 9f1b74a..1aefc07 100644
--- a/src/libANGLE/State.cpp
+++ b/src/libANGLE/State.cpp
@@ -355,7 +355,6 @@
mStencilBackRef(0),
mLineWidth(0),
mGenerateMipmapHint(GL_NONE),
- mTextureFilteringHint(GL_NONE),
mFragmentShaderDerivativeHint(GL_NONE),
mNearZ(0),
mFarZ(0),
@@ -426,7 +425,6 @@
mSampleMaskValues.fill(~GLbitfield(0));
mGenerateMipmapHint = GL_DONT_CARE;
- mTextureFilteringHint = GL_DONT_CARE;
mFragmentShaderDerivativeHint = GL_DONT_CARE;
mLineWidth = 1.0f;
@@ -1157,13 +1155,6 @@
mExtendedDirtyBits.set(state::EXTENDED_DIRTY_BIT_MIPMAP_GENERATION_HINT);
}
-void PrivateState::setTextureFilteringHint(GLenum hint)
-{
- mTextureFilteringHint = hint;
- // Note: we don't add a dirty bit for this flag as it's not expected to be toggled at
- // runtime.
-}
-
void PrivateState::setFragmentShaderDerivativeHint(GLenum hint)
{
mFragmentShaderDerivativeHint = hint;
@@ -1919,9 +1910,6 @@
case GL_GENERATE_MIPMAP_HINT:
*params = mGenerateMipmapHint;
break;
- case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
- *params = mTextureFilteringHint;
- break;
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES:
*params = mFragmentShaderDerivativeHint;
break;
diff --git a/src/libANGLE/State.h b/src/libANGLE/State.h
index 00a6d56..2c77343 100644
--- a/src/libANGLE/State.h
+++ b/src/libANGLE/State.h
@@ -481,8 +481,6 @@
// Hint setters
void setGenerateMipmapHint(GLenum hint);
GLenum getGenerateMipmapHint() const { return mGenerateMipmapHint; }
- void setTextureFilteringHint(GLenum hint);
- GLenum getTextureFilteringHint() const { return mTextureFilteringHint; }
GLenum getFragmentShaderDerivativeHint() const { return mFragmentShaderDerivativeHint; }
void setFragmentShaderDerivativeHint(GLenum hint);
@@ -639,7 +637,6 @@
GLfloat mLineWidth;
GLenum mGenerateMipmapHint;
- GLenum mTextureFilteringHint;
GLenum mFragmentShaderDerivativeHint;
Rectangle mViewport;
@@ -1347,7 +1344,6 @@
float getLineWidth() const { return mPrivateState.getLineWidth(); }
unsigned int getActiveSampler() const { return mPrivateState.getActiveSampler(); }
GLenum getGenerateMipmapHint() const { return mPrivateState.getGenerateMipmapHint(); }
- GLenum getTextureFilteringHint() const { return mPrivateState.getTextureFilteringHint(); }
GLenum getFragmentShaderDerivativeHint() const
{
return mPrivateState.getFragmentShaderDerivativeHint();
diff --git a/src/libANGLE/capture/serialize.cpp b/src/libANGLE/capture/serialize.cpp
index 68b1692..9e11e1d 100644
--- a/src/libANGLE/capture/serialize.cpp
+++ b/src/libANGLE/capture/serialize.cpp
@@ -572,7 +572,6 @@
json->addScalar("StencilBackRef", state.getStencilBackRef());
json->addScalar("LineWidth", state.getLineWidth());
json->addScalar("GenerateMipmapHint", state.getGenerateMipmapHint());
- json->addScalar("TextureFilteringHint", state.getTextureFilteringHint());
json->addScalar("FragmentShaderDerivativeHint", state.getFragmentShaderDerivativeHint());
json->addScalar("BindGeneratesResourceEnabled", state.isBindGeneratesResourceEnabled());
json->addScalar("ClientArraysEnabled", state.areClientArraysEnabled());
diff --git a/src/libANGLE/context_private_call_gles.cpp b/src/libANGLE/context_private_call_gles.cpp
index 337fe32..a26b16d 100644
--- a/src/libANGLE/context_private_call_gles.cpp
+++ b/src/libANGLE/context_private_call_gles.cpp
@@ -770,9 +770,6 @@
case GL_FOG_HINT:
privateState->getMutableGLES1State()->setHint(target, mode);
break;
- case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
- privateState->setTextureFilteringHint(mode);
- break;
default:
UNREACHABLE();
return;
diff --git a/src/libANGLE/gles_extensions_autogen.cpp b/src/libANGLE/gles_extensions_autogen.cpp
index 963f6b0..08705a0 100644
--- a/src/libANGLE/gles_extensions_autogen.cpp
+++ b/src/libANGLE/gles_extensions_autogen.cpp
@@ -259,7 +259,6 @@
map["GL_ANGLE_texture_compression_dxt3"] = enableableExtension(&Extensions::textureCompressionDxt3ANGLE);
map["GL_ANGLE_texture_compression_dxt5"] = enableableExtension(&Extensions::textureCompressionDxt5ANGLE);
map["GL_ANGLE_texture_external_update"] = enableableExtension(&Extensions::textureExternalUpdateANGLE);
- map["GL_CHROMIUM_texture_filtering_hint"] = enableableExtension(&Extensions::textureFilteringHintCHROMIUM);
map["GL_ANGLE_texture_multisample"] = enableableExtension(&Extensions::textureMultisampleANGLE);
map["GL_ANGLE_texture_rectangle"] = enableableDisablableExtension(&Extensions::textureRectangleANGLE);
map["GL_ANGLE_vulkan_image"] = enableableExtension(&Extensions::vulkanImageANGLE);
diff --git a/src/libANGLE/gles_extensions_autogen.h b/src/libANGLE/gles_extensions_autogen.h
index 2c9545f..f0bb628 100644
--- a/src/libANGLE/gles_extensions_autogen.h
+++ b/src/libANGLE/gles_extensions_autogen.h
@@ -734,9 +734,6 @@
// GL_ANGLE_texture_external_update
bool textureExternalUpdateANGLE = false;
- // GL_CHROMIUM_texture_filtering_hint
- bool textureFilteringHintCHROMIUM = false;
-
// GL_ANGLE_texture_multisample
bool textureMultisampleANGLE = false;
diff --git a/src/libANGLE/queryutils.cpp b/src/libANGLE/queryutils.cpp
index 75e5d46..2ad01de 100644
--- a/src/libANGLE/queryutils.cpp
+++ b/src/libANGLE/queryutils.cpp
@@ -3179,7 +3179,6 @@
case GL_PACK_ALIGNMENT:
case GL_UNPACK_ALIGNMENT:
case GL_GENERATE_MIPMAP_HINT:
- case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
case GL_RED_BITS:
case GL_GREEN_BITS:
case GL_BLUE_BITS:
diff --git a/src/libANGLE/renderer/vulkan/RendererVk.cpp b/src/libANGLE/renderer/vulkan/RendererVk.cpp
index 789398b..ce4dde5 100644
--- a/src/libANGLE/renderer/vulkan/RendererVk.cpp
+++ b/src/libANGLE/renderer/vulkan/RendererVk.cpp
@@ -18,7 +18,6 @@
#include "common/platform.h"
#include "common/system_utils.h"
#include "common/vulkan/libvulkan_loader.h"
-#include "common/vulkan/vk_google_filtering_precision.h"
#include "common/vulkan/vulkan_icd.h"
#include "gpu_info_util/SystemInfo.h"
#include "libANGLE/Context.h"
@@ -265,8 +264,6 @@
"VUID-vkCmdDrawIndexed-None-09003",
// https://anglebug.com/8334
"VUID-VkDescriptorImageInfo-imageView-07796",
- // https://anglebug.com/8349
- "VUID-VkSamplerCreateInfo-pNext-pNext",
// https://issuetracker.google.com/303441816
"VUID-VkRenderPassBeginInfo-renderPass-00904",
// http://anglebug.com/8401
@@ -4071,10 +4068,6 @@
ExtensionFound(VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME, deviceExtensionNames));
ANGLE_FEATURE_CONDITION(
- &mFeatures, supportsFilteringPrecision,
- ExtensionFound(VK_GOOGLE_SAMPLER_FILTERING_PRECISION_EXTENSION_NAME, deviceExtensionNames));
-
- ANGLE_FEATURE_CONDITION(
&mFeatures, supportsExternalSemaphoreFd,
ExtensionFound(VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME, deviceExtensionNames));
diff --git a/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp b/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp
index a0c5404..0504f11 100644
--- a/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp
+++ b/src/libANGLE/renderer/vulkan/vk_cache_utils.cpp
@@ -12,7 +12,6 @@
#include "common/aligned_memory.h"
#include "common/system_utils.h"
-#include "common/vulkan/vk_google_filtering_precision.h"
#include "libANGLE/BlobCache.h"
#include "libANGLE/VertexAttribute.h"
#include "libANGLE/renderer/vulkan/DisplayVk.h"
@@ -4972,20 +4971,6 @@
createInfo.borderColor = VK_BORDER_COLOR_INT_TRANSPARENT_BLACK;
createInfo.unnormalizedCoordinates = VK_FALSE;
- // Note: because we don't detect changes to this hint (no dirty bit), if a sampler is created
- // with the hint enabled, and then the hint gets disabled, the next render will do so with the
- // hint enabled.
- VkSamplerFilteringPrecisionGOOGLE filteringInfo = {};
- GLenum hint = contextVk->getState().getTextureFilteringHint();
- if (hint == GL_NICEST)
- {
- ASSERT(extensions.textureFilteringHintCHROMIUM);
- filteringInfo.sType = VK_STRUCTURE_TYPE_SAMPLER_FILTERING_PRECISION_GOOGLE;
- filteringInfo.samplerFilteringPrecisionMode =
- VK_SAMPLER_FILTERING_PRECISION_MODE_HIGH_GOOGLE;
- AddToPNextChain(&createInfo, &filteringInfo);
- }
-
VkSamplerYcbcrConversionInfo samplerYcbcrConversionInfo = {};
if (mYcbcrConversionDesc.valid())
{
diff --git a/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp b/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
index 82a968d..6d4b2f5 100644
--- a/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
+++ b/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
@@ -449,9 +449,6 @@
mNativeExtensions.gpuShader5EXT = vk::CanSupportGPUShader5EXT(mPhysicalDeviceFeatures);
- mNativeExtensions.textureFilteringHintCHROMIUM =
- getFeatures().supportsFilteringPrecision.enabled;
-
// Only expose texture cubemap array if the physical device supports it.
mNativeExtensions.textureCubeMapArrayOES = getFeatures().supportsImageCubeArray.enabled;
mNativeExtensions.textureCubeMapArrayEXT = mNativeExtensions.textureCubeMapArrayOES;
diff --git a/src/libANGLE/validationES2.cpp b/src/libANGLE/validationES2.cpp
index 6be6174..2517264 100644
--- a/src/libANGLE/validationES2.cpp
+++ b/src/libANGLE/validationES2.cpp
@@ -4677,14 +4677,6 @@
case GL_GENERATE_MIPMAP_HINT:
break;
- case GL_TEXTURE_FILTERING_HINT_CHROMIUM:
- if (!state.getExtensions().textureFilteringHintCHROMIUM)
- {
- errors->validationErrorF(entryPoint, GL_INVALID_ENUM, kEnumNotSupported, target);
- return false;
- }
- break;
-
case GL_FRAGMENT_SHADER_DERIVATIVE_HINT:
if (state.getClientVersion() < ES_3_0 && !state.getExtensions().standardDerivativesOES)
{
diff --git a/src/tests/angle_end2end_tests.gni b/src/tests/angle_end2end_tests.gni
index 044cc9d..0f4a64a 100644
--- a/src/tests/angle_end2end_tests.gni
+++ b/src/tests/angle_end2end_tests.gni
@@ -154,7 +154,6 @@
"gl_tests/SwizzleTest.cpp",
"gl_tests/SyncQueriesTest.cpp",
"gl_tests/TextureExternalUpdateTest.cpp",
- "gl_tests/TextureFilteringHintTest.cpp",
"gl_tests/TextureMultisampleTest.cpp",
"gl_tests/TextureRectangleTest.cpp",
"gl_tests/TextureTest.cpp",
diff --git a/src/tests/gl_tests/TextureFilteringHintTest.cpp b/src/tests/gl_tests/TextureFilteringHintTest.cpp
deleted file mode 100644
index cc105fd..0000000
--- a/src/tests/gl_tests/TextureFilteringHintTest.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// Copyright 2020 The ANGLE Project Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-//
-
-// TextureFilteringHintTest.cpp : Tests of the GL_CHROMIUM_texture_filtering_hint extension.
-
-#include "test_utils/ANGLETest.h"
-
-#include "test_utils/gl_raii.h"
-
-namespace angle
-{
-
-class TextureFilteringHintTest : public ANGLETest<>
-{
- protected:
- TextureFilteringHintTest()
- {
- setWindowWidth(128);
- setWindowHeight(128);
- setConfigRedBits(8);
- setConfigGreenBits(8);
- setConfigBlueBits(8);
- setConfigAlphaBits(8);
- }
-};
-
-// Test that setting the hint works only when the extension is enabled
-TEST_P(TextureFilteringHintTest, Validation)
-{
- if (IsGLExtensionEnabled("GL_CHROMIUM_texture_filtering_hint"))
- {
- GLint intValue = 0;
- glGetIntegerv(GL_TEXTURE_FILTERING_HINT_CHROMIUM, &intValue);
- EXPECT_GL_NO_ERROR();
- EXPECT_GLENUM_EQ(GL_DONT_CARE, intValue);
-
- glHint(GL_TEXTURE_FILTERING_HINT_CHROMIUM, GL_FASTEST);
- glGetIntegerv(GL_TEXTURE_FILTERING_HINT_CHROMIUM, &intValue);
- EXPECT_GL_NO_ERROR();
- EXPECT_GLENUM_EQ(GL_FASTEST, intValue);
-
- glHint(GL_TEXTURE_FILTERING_HINT_CHROMIUM, GL_NICEST);
- glGetIntegerv(GL_TEXTURE_FILTERING_HINT_CHROMIUM, &intValue);
- EXPECT_GL_NO_ERROR();
- EXPECT_GLENUM_EQ(GL_NICEST, intValue);
-
- glHint(GL_TEXTURE_FILTERING_HINT_CHROMIUM, GL_TEXTURE_2D);
- glGetIntegerv(GL_TEXTURE_FILTERING_HINT_CHROMIUM, &intValue);
- EXPECT_GL_ERROR(GL_INVALID_ENUM);
- }
- else
- {
- glHint(GL_TEXTURE_FILTERING_HINT_CHROMIUM, GL_FASTEST);
- EXPECT_GL_ERROR(GL_INVALID_ENUM);
- }
-}
-
-// Use this to select which configurations (e.g. which renderer, which GLES major version) these
-// tests should be run against.
-ANGLE_INSTANTIATE_TEST_ES2_AND_ES3(TextureFilteringHintTest);
-} // namespace angle
diff --git a/util/autogen/angle_features_autogen.cpp b/util/autogen/angle_features_autogen.cpp
index d5f9e0a..395b59d 100644
--- a/util/autogen/angle_features_autogen.cpp
+++ b/util/autogen/angle_features_autogen.cpp
@@ -293,7 +293,6 @@
{Feature::SupportsExternalSemaphoreCapabilities, "supportsExternalSemaphoreCapabilities"},
{Feature::SupportsExternalSemaphoreFd, "supportsExternalSemaphoreFd"},
{Feature::SupportsExternalSemaphoreFuchsia, "supportsExternalSemaphoreFuchsia"},
- {Feature::SupportsFilteringPrecision, "supportsFilteringPrecision"},
{Feature::SupportsFormatFeatureFlags2, "supportsFormatFeatureFlags2"},
{Feature::SupportsFragmentShaderInterlockARB, "supportsFragmentShaderInterlockARB"},
{Feature::SupportsFragmentShaderInterlockNV, "supportsFragmentShaderInterlockNV"},
diff --git a/util/autogen/angle_features_autogen.h b/util/autogen/angle_features_autogen.h
index c510da5..65dfed0 100644
--- a/util/autogen/angle_features_autogen.h
+++ b/util/autogen/angle_features_autogen.h
@@ -293,7 +293,6 @@
SupportsExternalSemaphoreCapabilities,
SupportsExternalSemaphoreFd,
SupportsExternalSemaphoreFuchsia,
- SupportsFilteringPrecision,
SupportsFormatFeatureFlags2,
SupportsFragmentShaderInterlockARB,
SupportsFragmentShaderInterlockNV,