Comments (10)
KhronosGroup/Vulkan-ValidationLayers#2503 was about the fact that the mipmap level dimensions weren't taken into account. So the mismatch would be within the power of two. But this one has 800 versus 600, so it's something else.
from gfx.
Thank you for filing!
Could you record an API trace for us to reproduce this?
from gfx.
Isn't this just the imageless fb vvl issues we've been seeing forever now?
from gfx.
git clone https://github.com/gfx-rs/gfx.git
git checkout hal-0.9
cd examples
cargo r --bin quad --features=vulkan
Finished dev [unoptimized + debuginfo] target(s) in 0.12s
Running `/home/Substrate/wgpu/gfx/target/debug/quad`
AdapterInfo { name: "GeForce GTX 1050", vendor: 4318, device: 7297, device_type: DiscreteGpu }
Memory types: [MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: (empty), heap_index: 1 }, MemoryType { properties: DEVICE_LOCAL, heap_index: 0 }, MemoryType { properties: CPU_VISIBLE | COHERENT, heap_index: 1 }, MemoryType { properties: CPU_VISIBLE | COHERENT | CPU_CACHED, heap_index: 1 }, MemoryType { properties: DEVICE_LOCAL | CPU_VISIBLE | COHERENT, heap_index: 2 }]
Using sparse resource binding
formats: Some([Bgra8Unorm, Bgra8Srgb])
SwapchainConfig { present_mode: FIFO, composite_alpha_mode: OPAQUE, format: Bgra8Srgb, extent: Extent2D { width: 1024, height: 768 }, image_count: 3, image_layers: 1, image_usage: COLOR_ATTACHMENT }
[2021-06-21T16:03:02Z ERROR gfx_backend_vulkan]
VALIDATION [VUID-VkRenderPassBeginInfo-framebuffer-03212 (0xd883b436)] : Validation Error: [ VUID-VkRenderPassBeginInfo-framebuffer-03212 ] Object 0: handle = 0x190000000019, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0xd883b436 | vkCmdBeginRenderPass(): Image view #0 created from an image subresource with height set as 1024, but image info #0 used to create the framebuffer had height set as 768 The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with a height equal to the height member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebuffer (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-03212)
object info: (type: RENDER_PASS, hndl: 0x190000000019)
resized to PhysicalSize { width: 1024, height: 768 }
SwapchainConfig { present_mode: FIFO, composite_alpha_mode: OPAQUE, format: Bgra8Srgb, extent: Extent2D { width: 1024, height: 768 }, image_count: 3, image_layers: 1, image_usage: COLOR_ATTACHMENT }
[2021-06-21T16:03:02Z ERROR gfx_backend_vulkan]
VALIDATION [VUID-VkRenderPassBeginInfo-framebuffer-03212 (0xd883b436)] : Validation Error: [ VUID-VkRenderPassBeginInfo-framebuffer-03212 ] Object 0: handle = 0x190000000019, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0xd883b436 | vkCmdBeginRenderPass(): Image view #0 created from an image subresource with height set as 1024, but image info #0 used to create the framebuffer had height set as 768 The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with a height equal to the height member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebuffer (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-03212)
object info: (type: RENDER_PASS, hndl: 0x190000000019)
[2021-06-21T16:03:02Z ERROR gfx_backend_vulkan]
VALIDATION [VUID-VkRenderPassBeginInfo-framebuffer-03212 (0xd883b436)] : Validation Error: [ VUID-VkRenderPassBeginInfo-framebuffer-03212 ] Object 0: handle = 0x190000000019, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0xd883b436 | vkCmdBeginRenderPass(): Image view #0 created from an image subresource with height set as 1024, but image info #0 used to create the framebuffer had height set as 768 The Vulkan spec states: If framebuffer was created with a VkFramebufferCreateInfo::flags value that included VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of the pAttachments member of a VkRenderPassAttachmentBeginInfo structure included in the pNext chain must be a VkImageView with a height equal to the height member of the corresponding element of VkFramebufferAttachmentsCreateInfo::pAttachmentImageInfos used to create framebuffer (https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VUID-VkRenderPassBeginInfo-framebuffer-03212)
object info: (type: RENDER_PASS, hndl: 0x190000000019)
seems its happen inside gfx-rs
from gfx.
OK. I resized the "quad" exmaple window to 512x512. It seems to have been a power of two problem. And there are no more warnings. Any ideas how to fix this problem? Wait for updates from KhronosGroup or some other options?
from gfx.
What's the version of your validation layers?
from gfx.
Vulkan sdk version 1.2.170
from gfx.
Interesting. I just tested this on 1050 GTX / Linux, and not seeing any validation errors. Current version of "vulkan-validation-layers" package is 1.2.170.0. Not sure how to investigate this without a repro :/
from gfx.
Maybe you have your own settings for the validation layer? I can definitely upgrade VVL to 1.2.179. I have done additional research.
git clone https://github.com/sotrh/learn-wgpu.git
cd learn-wgpu
cargo run --bin tutorial2-swapchain
User generated textures do not exist (as I know, mipmaps should not be generated). But I have the same problems.
As far as I know, there are several hacks for working with NPOT textures called upperPowerOfTwo. It might come in handy.
from gfx.
Running this doesn't trigger any validation errors for me either. Are you on Wayland, perhaps?
As far as I know, there are several hacks for working with NPOT textures called upperPowerOfTwo. It might come in handy.
this isn't about NPOT, that other issue was about mipmaps
from gfx.
Related Issues (20)
- fill_buffer start has to be 16-byte aligned on DX11 HOT 3
- Hitting `unreachable!` branch in `gfx-backend-vulkan` during swapchain creation, Void Linux, AMD ATI
- ```supports_family``` only available on iOS 13 HOT 4
- gfx_backend_gl and metal: can't find create HOT 3
- Link error: missing symbol _kCAGravityTopLeft on macOS HOT 3
- New Metal pipeline cache doesn't work properly on Dota2 + portability HOT 2
- Support dynamic array sizes on Metal HOT 1
- Black screen when --features=gl
- Use hasUnifiedMemory instead of isLowPower on Metal
- Entered unreachable code on vulkan create fence
- Screen doesn't get updated if gfx_device_gl::CommandBuffer::clear_color gets called HOT 1
- 3 build errors on Windows HOT 3
- LICENSE files in package subdirs
- create_surface failed with 'AndroidSurface failed: ERROR_NATIVE_WINDOW_IN_USE_KHR'
- pre-ll: Vertex & constant structs fields are re-ordered in rust 1.67 so don't work HOT 1
- Missing MESH_SHADER feature in mesh-shading example
- misaligned pointer in `queue::Queue::get` HOT 3
- pubg
- MTLGPUFamilyMac1 is deprecated HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gfx.