mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 07:30:09 +01:00
mesa/st: handle running nir lower passes for ucp and psiz in tess stage
if tess is the last shader program to run then we need to perform these lowering passes at that time rather than during the vs Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5885>
This commit is contained in:
parent
db165e9db3
commit
7eb5fd98fd
2 changed files with 7 additions and 16 deletions
|
|
@ -225,16 +225,16 @@ st_update_vp( struct st_context *st )
|
|||
key.clip_negative_one_to_one =
|
||||
st->ctx->Transform.ClipDepthMode == GL_NEGATIVE_ONE_TO_ONE;
|
||||
|
||||
if (!st->ctx->GeometryProgram._Current) {
|
||||
if (!st->ctx->GeometryProgram._Current &&
|
||||
!st->ctx->TessEvalProgram._Current) {
|
||||
/* _NEW_POINT */
|
||||
key.lower_point_size = st->lower_point_size &&
|
||||
!st_point_size_per_vertex(st->ctx);
|
||||
}
|
||||
|
||||
/* _NEW_TRANSFORM */
|
||||
if (st->lower_ucp && st_user_clip_planes_enabled(st->ctx) &&
|
||||
!st->ctx->GeometryProgram._Current)
|
||||
key.lower_ucp = st->ctx->Transform.ClipPlanesEnabled;
|
||||
/* _NEW_TRANSFORM */
|
||||
if (st->lower_ucp && st_user_clip_planes_enabled(st->ctx))
|
||||
key.lower_ucp = st->ctx->Transform.ClipPlanesEnabled;
|
||||
}
|
||||
|
||||
simple_mtx_lock(&st->ctx->Shared->Mutex);
|
||||
st->vp_variant = st_get_vp_variant(st, stvp, &key);
|
||||
|
|
|
|||
|
|
@ -260,7 +260,7 @@ st_invalidate_state(struct gl_context *ctx)
|
|||
|
||||
/* Update the vertex shader if ctx->Point was changed. */
|
||||
if (st->lower_point_size && new_state & _NEW_POINT)
|
||||
st->dirty |= ST_NEW_VS_STATE | ST_NEW_GS_STATE;
|
||||
st->dirty |= ST_NEW_VS_STATE | ST_NEW_TES_STATE | ST_NEW_GS_STATE;
|
||||
|
||||
/* Which shaders are dirty will be determined manually. */
|
||||
if (new_state & _NEW_PROGRAM) {
|
||||
|
|
@ -724,15 +724,6 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
|
|||
st_init_extensions(screen, &ctx->Const,
|
||||
&ctx->Extensions, &st->options, ctx->API);
|
||||
|
||||
/* FIXME: add support for geometry and tessellation shaders for
|
||||
* lower_point_size
|
||||
*/
|
||||
assert(!ctx->Extensions.OES_geometry_shader || !st->lower_point_size);
|
||||
assert(!ctx->Extensions.ARB_tessellation_shader || !st->lower_point_size);
|
||||
|
||||
/* FIXME: add support for tessellation shaders for lower_ucp */
|
||||
assert(!ctx->Extensions.ARB_tessellation_shader || !st->lower_ucp);
|
||||
|
||||
if (st_have_perfmon(st)) {
|
||||
ctx->Extensions.AMD_performance_monitor = GL_TRUE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue