mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 21:30:09 +01:00
zink: fix longstanding TODO for generated tcs
with dynamic pcp this doesn't matter, and this should only be reached in async mode if dynamic pcp is available Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671>
This commit is contained in:
parent
d5a3e2db89
commit
234f9953a2
1 changed files with 7 additions and 3 deletions
|
|
@ -264,9 +264,13 @@ create_shader_module_for_stage_optimal(struct zink_context *ctx, struct zink_scr
|
|||
return NULL;
|
||||
}
|
||||
if (stage == MESA_SHADER_TESS_CTRL && zs->non_fs.is_generated && zs->spirv) {
|
||||
assert(ctx); //TODO async
|
||||
struct zink_tcs_key *tcs = (struct zink_tcs_key*)key;
|
||||
struct zink_shader_object obj = zink_shader_tcs_compile(screen, zs, tcs->patch_vertices);
|
||||
assert(ctx || screen->info.dynamic_state2_feats.extendedDynamicState2PatchControlPoints);
|
||||
unsigned patch_vertices = 3;
|
||||
if (ctx) {
|
||||
struct zink_tcs_key *tcs = (struct zink_tcs_key*)key;
|
||||
patch_vertices = tcs->patch_vertices;
|
||||
}
|
||||
struct zink_shader_object obj = zink_shader_tcs_compile(screen, zs, patch_vertices);
|
||||
mod = obj.mod;
|
||||
} else {
|
||||
mod = zink_shader_compile(screen, zs, zink_shader_blob_deserialize(screen, &prog->blobs[stage]), (struct zink_shader_key*)key, shadow_needs_shader_swizzle ? &ctx->di.zs_swizzle[stage] : NULL);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue