mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 07:08:04 +02:00
zink: don't care about generated gs output primitive
Zink uses the output primitive of the last vertex stage when deciding
the raster primitive. When we generate the gs the output primitive
depends on the raster primitive.
Not only does the generated gs output primitive have no value in chosing
the raster primitive, it can also get us stuck with the last raster
primitve which is of course incorrect.
Ignore it for generated shaders.
Cc: mesa-stable
(cherry picked from commit d526bbc29b)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>
This commit is contained in:
parent
b5304ffef7
commit
7b2af9e15a
2 changed files with 5 additions and 1 deletions
|
|
@ -524,7 +524,7 @@
|
|||
"description": "zink: don't care about generated gs output primitive",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": null,
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -2119,6 +2119,10 @@ bind_last_vertex_stage(struct zink_context *ctx, mesa_shader_stage stage, struct
|
|||
ctx->last_vertex_stage ? update_rast_prim(ctx->last_vertex_stage) :
|
||||
MESA_PRIM_COUNT;
|
||||
|
||||
if (ctx->last_vertex_stage && ctx->last_vertex_stage->non_fs.is_generated)
|
||||
ctx->gfx_pipeline_state.shader_rast_prim = MESA_PRIM_COUNT;
|
||||
|
||||
|
||||
if (old != current) {
|
||||
if (!zink_screen(ctx->base.screen)->optimal_keys) {
|
||||
if (old != MESA_SHADER_STAGES) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue