-
Notifications
You must be signed in to change notification settings - Fork 407
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
Validate descriptor component type #299
Conversation
0fa43bd
to
a61adcf
Compare
Validates that isampler* is correctly matched with SINT formats, etc. |
@tobine would want a test... |
Adding a test and rebasing. |
3404355
to
bf7bdfd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some explanation in the test would be handy
TEST_DESCRIPTION( | ||
"Test that an error is produced when the component type of an imageview disagrees with the type in the shader."); | ||
|
||
m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "SINT component type, but bound descriptor"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a VUID string, or UNASSIGNED string matching this? I don't see one in the code above...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The way DescriptorSet::ValidateDrawState is written forces everything to use the same VUID tag. We should probably rework this function at some point to support case-specific VUIDs.
tests/layer_validation_tests.cpp
Outdated
pipe.AddShader(&fs); | ||
pipe.AddDefaultColorAttachment(); | ||
|
||
VkTextureObj texture(m_device, nullptr); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By default the texture is in a UNORM format, which (if I'm understanding this correctly) why the Draw validation will report the mismatch, yes? If so, some commentary might be handy as so much of this is hidden behind utility objects. If not some commentary might be handy to educate the maintain about the "theory of operation"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added comment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another case of the test framework being bizarrely inside out -- the details you care about are implicit, all kinds of other noise is exposed :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have the spare cycles to do any kind of major surgery to this -- I just need the check enforced to make CTS more correct.
V2: Add comment clarifying why this test works
bf7bdfd
to
3c5b959
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
No description provided.