if the driver requires pointsize uploads, only flag the last vertex
stage for updates, not all vertex stages
this should be functionally equivalent but without the unnecessary overhead
of also scanning the other stages
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15590>
}
/* 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_TES_STATE | ST_NEW_GS_STATE;
+ if (st->lower_point_size && new_state & _NEW_POINT) {
+ if (ctx->GeometryProgram._Current)
+ st->dirty |= ST_NEW_GS_STATE;
+ else if (ctx->TessEvalProgram._Current)
+ st->dirty |= ST_NEW_TES_STATE;
+ else
+ st->dirty |= ST_NEW_VS_STATE;
+ }
/* Which shaders are dirty will be determined manually. */
if (new_state & _NEW_PROGRAM) {