Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

False vkEndCommandBuffer Best Practices warning #9229

Closed
darkestofbreads opened this issue Jan 15, 2025 · 1 comment · Fixed by #9320
Closed

False vkEndCommandBuffer Best Practices warning #9229

darkestofbreads opened this issue Jan 15, 2025 · 1 comment · Fixed by #9320
Assignees
Labels
BestPractices Best practices layer

Comments

@darkestofbreads
Copy link

Environment:

  • OS: Windows 11
  • GPU and driver version: NVIDIA RTX 2070 SUPER, Game Ready Driver: 566.36
  • SDK or header version if building from repo: 1.4.304 SDK version
  • Options enabled (synchronization, best practices, etc.): Best Practises

Describe the Issue
With the Shader Objects extension enabled and using it in place of pipelines:
Each time vkEndCommandBuffer is called, I am getting BestPractices (WARN/PERF) -920984000, saying that a vertex buffer is bound to a command buffer, but no draws had a pipeline using the buffer.
In my application I am not only binding a single vertex buffer but also using it successfully with a shader to render a triangle, it can only do so with a vertex buffer giving it colouring and position information.

Expected behaviour
It should not trigger the performance warning since I am in fact using the vertex buffer, just with a shader object instead of a pipeline.

Additional context
The application is a minimal Vulkan app which creates a triangle using two shader objects (one for vertex shader, one for fragment shader)

BestPractices-vkEndCommandBuffer-VtxIndexOutOfBounds(WARN / PERF): msgNum: -920984000 - Validation Performance Warning: [ BestPractices-vkEndCommandBuffer-VtxIndexOutOfBounds ] Object 0: handle = 0x1f2219566a0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xc91ae640 | vkEndCommandBuffer(): Vertex buffers was bound to VkCommandBuffer 0x1f2219566a0[] but no draws had a pipeline that used the vertex buffer.
Objects: 1
[0] 0x1f2219566a0, type: 6, name: NULL

@spencer-lunarg
Copy link
Contributor

seems we do have a lack of Shader Object version of these BP checks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BestPractices Best practices layer
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants