[Mesa-dev] [PATCH 19/22] st/nine: Do not mark both ff vs and ps updated
Axel Davy
davyaxel0 at gmail.com
Sun Sep 23 17:00:24 UTC 2018
Previously if only ff vs or only ff ps was used,
the constants for both were marked as updated,
while only the constants of the used ff shader
were updated.
Now that NINE_STATE_FF_VS and
NINE_STATE_FF_PS do not intersect anymore,
we can correctly mark the correct set of constant
as updated.
Fixes: https://github.com/iXit/Mesa-3D/issues/319
Signed-off-by: Axel Davy <davyaxel0 at gmail.com>
---
src/gallium/state_trackers/nine/nine_ff.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/gallium/state_trackers/nine/nine_ff.c b/src/gallium/state_trackers/nine/nine_ff.c
index addea3dde1f..261be276ad8 100644
--- a/src/gallium/state_trackers/nine/nine_ff.c
+++ b/src/gallium/state_trackers/nine/nine_ff.c
@@ -2066,6 +2066,8 @@ nine_ff_update(struct NineDevice9 *device)
context->pipe_data.cb_vs_ff = cb;
context->commit |= NINE_STATE_COMMIT_CONST_VS;
+
+ context->changed.group &= ~NINE_STATE_FF_VS;
}
if (!context->ps) {
@@ -2078,9 +2080,9 @@ nine_ff_update(struct NineDevice9 *device)
context->pipe_data.cb_ps_ff = cb;
context->commit |= NINE_STATE_COMMIT_CONST_PS;
- }
- context->changed.group &= ~NINE_STATE_FF;
+ context->changed.group &= ~NINE_STATE_FF_PS;
+ }
}
--
2.18.0
More information about the mesa-dev
mailing list