textureSize requires the view to reflect actual mip levels, so we can't artificially limit the view based on filtering mode. This CL removes those views. That unearthed a problem where the VK backend wasn't properly implementing non-mipmapped filter modes. There is a blurb in the Vulkan spec about this: There are no Vulkan filter modes that directly correspond to OpenGL minification filters of GL_LINEAR or GL_NEAREST, but they can be emulated using VK_SAMPLER_MIPMAP_MODE_NEAREST, minLod = 0, and maxLod = 0.25, and using minFilter = VK_FILTER_LINEAR or minFilter = VK_FILTER_NEAREST, respectively. So this CL also adds that emulation. Bug: angleproject:3948 Test: TextureSizeTextureArrayTest.BaseLevelVariesInTextureArray Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.* Change-Id: I81d5c3417e7d9abd0cdd058b935963706024a28f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835937Reviewed-by:Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| d3d | Loading commit data... | |
| gl | Loading commit data... | |
| null | Loading commit data... | |
| vulkan | Loading commit data... | |
| BufferImpl.h | Loading commit data... | |
| BufferImpl_mock.h | Loading commit data... | |
| CompilerImpl.h | Loading commit data... | |
| ContextImpl.cpp | Loading commit data... | |
| ContextImpl.h | Loading commit data... | |
| DeviceImpl.cpp | Loading commit data... | |
| DeviceImpl.h | Loading commit data... | |
| DisplayImpl.cpp | Loading commit data... | |
| DisplayImpl.h | Loading commit data... | |
| EGLImplFactory.h | Loading commit data... | |
| EGLSyncImpl.h | Loading commit data... | |
| FenceNVImpl.h | Loading commit data... | |
| Format.h | Loading commit data... | |
| FormatID_autogen.h | Loading commit data... | |
| Format_table_autogen.cpp | Loading commit data... | |
| FramebufferAttachmentObjectImpl.h | Loading commit data... | |
| FramebufferImpl.h | Loading commit data... | |
| FramebufferImpl_mock.h | Loading commit data... | |
| GLImplFactory.h | Loading commit data... | |
| ImageImpl.h | Loading commit data... | |
| ImageImpl_mock.h | Loading commit data... | |
| MemoryObjectImpl.h | Loading commit data... | |
| OverlayImpl.h | Loading commit data... | |
| PathImpl.h | Loading commit data... | |
| ProgramImpl.h | Loading commit data... | |
| ProgramImpl_mock.h | Loading commit data... | |
| ProgramPipelineImpl.h | Loading commit data... | |
| QueryImpl.cpp | Loading commit data... | |
| QueryImpl.h | Loading commit data... | |
| RenderTargetCache.h | Loading commit data... | |
| RenderbufferImpl.h | Loading commit data... | |
| RenderbufferImpl_mock.h | Loading commit data... | |
| SamplerImpl.h | Loading commit data... | |
| SemaphoreImpl.h | Loading commit data... | |
| ShaderImpl.cpp | Loading commit data... | |
| ShaderImpl.h | Loading commit data... | |
| StreamProducerImpl.h | Loading commit data... | |
| SurfaceImpl.cpp | Loading commit data... | |
| SurfaceImpl.h | Loading commit data... | |
| SyncImpl.h | Loading commit data... | |
| TextureImpl.cpp | Loading commit data... | |
| TextureImpl.h | Loading commit data... | |
| TextureImpl_mock.h | Loading commit data... | |
| TransformFeedbackImpl.h | Loading commit data... | |
| TransformFeedbackImpl_mock.h | Loading commit data... | |
| VertexArrayImpl.h | Loading commit data... | |
| angle_format.py | Loading commit data... | |
| angle_format_data.json | Loading commit data... | |
| angle_format_map.json | Loading commit data... | |
| copyvertex.h | Loading commit data... | |
| copyvertex.inc.h | Loading commit data... | |
| driver_utils.cpp | Loading commit data... | |
| driver_utils.h | Loading commit data... | |
| driver_utils_mac.mm | Loading commit data... | |
| gen_angle_format_table.py | Loading commit data... | |
| gen_load_functions_table.py | Loading commit data... | |
| load_functions_data.json | Loading commit data... | |
| load_functions_table.h | Loading commit data... | |
| load_functions_table_autogen.cpp | Loading commit data... | |
| renderer_utils.cpp | Loading commit data... | |
| renderer_utils.h | Loading commit data... |