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

Combining more Dynamic State for upcoming header #8593

Closed

Conversation

spencer-lunarg
Copy link
Contributor

@spencer-lunarg spencer-lunarg requested a review from a team as a code owner September 25, 2024 17:22
@ci-tester-lunarg
Copy link
Collaborator

CI Vulkan-ValidationLayers build queued with queue ID 264425.

@spencer-lunarg spencer-lunarg changed the title Combing more Dynamic State for upcoming header Combining more Dynamic State for upcoming header Sep 25, 2024
@ci-tester-lunarg
Copy link
Collaborator

CI Vulkan-ValidationLayers build # 17593 running.

(!last_bound_state.pipeline_state || last_bound_state.pipeline_state->IsDynamic(CB_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY))
? cb_state.dynamic_state_value.primitive_topology
: last_bound_state.pipeline_state->topology_at_rasterizer;
if (topology == VK_PRIMITIVE_TOPOLOGY_PATCH_LIST) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this check necessary? It is the only valid topology and everything else should already be caught before this point

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the spec say

image

RETURN_IF_SKIP(InitBasicShaderObject());
VkPhysicalDeviceFeatures features;
GetPhysicalDeviceFeatures(&features);
if (features.tessellationShader == VK_FALSE) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not use AddRequiredFeature

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because I just copy and pasted your test 😆

let me update both

const VkShaderEXT shaders[] = {vertShader.handle(), tescShader.handle(), teseShader.handle(), VK_NULL_HANDLE,
fragShader.handle()};
vk::CmdBindShadersEXT(m_commandBuffer->handle(), 5u, stages, shaders);
// valid because this is not VK_PRIMITIVE_TOPOLOGY_PATCH_LIST
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there should be a VUID against this, because it doesn't make sense to draw with tessellation shaders and use anything but VK_PRIMITIVE_TOPOLOGY_PATCH_LIST

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the topology patch has some quirks to get out... I am going to pull that commit out and make after getting the other ones in

@ci-tester-lunarg
Copy link
Collaborator

CI Vulkan-ValidationLayers build # 17593 failed.

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

Successfully merging this pull request may close these issues.

3 participants