GpuDevice.createTextureView(texture, baseMipLevel, mipLevels) lets you build independent views of the same texture, each with its own mip sub-range, and bind them as samplers at the same time. On Vulkan each becomes a real VkImageView, so the ranges are carried per view and stay independent. With OpenGL backend there is no per-view object: the mip range is state on the texture object (GL_TEXTURE_BASE_LEVEL / MAX_LEVEL), which GlCommandEncoder writes when the sampler is set up. Two views of the same texture with different ranges therefore cannot coexist as samplers, the last bind overwrites the other. So the abstraction accepts a configuration the OpenGL backend cannot honor, silently diverging from Vulkan
Comments 2
Thank you for your report!
After consideration, the issue is being closed as Working as Intended.
Please note, that mechanics of the game may change between updates.
Things such as graphics, sounds, world creation, biomes, redstone, villagers, and animals may not work the same in current versions.
Full Version History – Snapshot Version History – The official Minecraft feedback site
Quick Links:
📓 Bug Tracker Guidelines – 💬 Community Support – 📧 Mojang Support (Technical Issues) – 📧 Microsoft Support (Account Issues)
📓 Project Summary – ✍️ Feedback and Suggestions – 📖 Game Wiki
Can confirm.