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

Specialization Constant as array size causes validation error #22

Closed
karl-lunarg opened this issue May 14, 2018 · 7 comments
Closed

Specialization Constant as array size causes validation error #22

karl-lunarg opened this issue May 14, 2018 · 7 comments
Assignees
Milestone

Comments

@karl-lunarg
Copy link
Contributor

Issue by wobakj (MIGRATED)
Tuesday Mar 14, 2017 at 22:08 GMT
Originally opened as KhronosGroup/Vulkan-LoaderAndValidationLayers#1580


On drawing, the following error is triggered: Descriptor in binding #0 at global descriptor index 1 is being used in draw but has not been updated
The error appears regardless of the actual value of the constant. No error is triggered when using a "normal" constant variable with identical value instead. This behaviour appears at least for sampler, texture and buffer arrays.

@karl-lunarg karl-lunarg added this to the P1 milestone May 14, 2018
@karl-lunarg
Copy link
Contributor Author

Comment by wobakj (MIGRATED)
Thursday Jun 08, 2017 at 21:38 GMT


This issue can be closed. I now realized that it was caused by an incorrect automated building of the DescriptorSets in my application.

@karl-lunarg
Copy link
Contributor Author

Comment by chrisforbes (MIGRATED)
Friday Jun 09, 2017 at 01:24 GMT


You may have had another issue with your code, but we're still doing the wrong thing in validation with specialization. This is still on my plate.

@mark-lunarg
Copy link
Contributor

@chrisforbes, can you add some context about what needs to be done here?

@chrisforbes
Copy link
Contributor

Right -- the remaining work here is to apply the SPIRV-Tools specialization passes before doing any analysis.

@jeremy-lunarg
Copy link
Contributor

This is now covered by PR #1166.

@jeremy-lunarg
Copy link
Contributor

jeremy-lunarg commented Sep 12, 2019

We discovered an issue with PR #1166. Specialization of types defined in an extension is causing the optimizer to crash. We're working on a fix for the optimizer and then I'll reapply this patch.

I'm currently working on two patches in the spirv-tools optimizer which will allow this patch to be reapplied. First, I'm adding support for the SPV_NV_cooperative_matrix extension to the optimizer. It was supported by the validator but not by the optimizer. This will fix the tests in validationlayers that were breaking when I originally applied this patch.

Second, there's a larger issue with the way the optimizer handles specializations of unrecognized types. It currently logs the error internally and terminates the process. I believe a custom message consumer can be used as a stop-gap, but I think a better long-term alternative is to return to the caller after a failed optimization pass.

@jeremy-lunarg
Copy link
Contributor

Fixed by #1344.

The SPIR-V optimizer (#2927) has been patched to handle existing extended types, and I've updated the patch in #1344 to log errors when future unrecognized/extended types are encountered.

@shannon-lunarg shannon-lunarg modified the milestones: P1, sdk-1.1.126.0 Oct 30, 2019
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 27, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 27, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 27, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 28, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 28, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 28, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Feb 28, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.
mark-lunarg pushed a commit that referenced this issue Mar 3, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks #5-6, #9, #15, #22, #25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 5, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 10, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 10, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 10, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 10, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 10, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
AttilioProvenzano-ARM added a commit to ARM-software/Vulkan-ValidationLayers that referenced this issue Mar 11, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks KhronosGroup#5-6, KhronosGroup#9, KhronosGroup#15, KhronosGroup#22, KhronosGroup#25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
mark-lunarg pushed a commit that referenced this issue Mar 11, 2020
This commit adds checks regarding:
 - Blending with multisampled images
 - Too large sample count
 - Non-lazily allocated MS images
 - Various potential issues with samplers
 - Using vkCmdResolveImage
 - Many small indexed draw calls
 - Using ONE_TIME_SUBMIT bit
 - Attachments that need tile readback

This corresponds to checks #5-6, #9, #15, #22, #25-31 from PerfDoc.

Change-Id: I19de83c1806dacace2b3acbb742a105afd24f627
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants