diff --git a/src/vrend_renderer.c b/src/vrend_renderer.c index b964b95..11cfdd2 100644 --- a/src/vrend_renderer.c +++ b/src/vrend_renderer.c @@ -4826,6 +4826,10 @@ void vrend_link_program(struct vrend_context *ctx, uint32_t *handles) if (!handles[PIPE_SHADER_VERTEX] || !handles[PIPE_SHADER_FRAGMENT]) return; + /* We can't link a pre-link a TCS without a TES, exit early */ + if (handles[PIPE_SHADER_TESS_CTRL] && !handles[PIPE_SHADER_TESS_EVAL]) + return; + struct vrend_shader_selector *prev_handles[PIPE_SHADER_TYPES]; memset(prev_handles, 0, sizeof(prev_handles)); uint32_t prev_shader_ids[PIPE_SHADER_TYPES];