Mesa (master): st/nine: Process pending commands on Reset

Axel Davy axeldavy at kemper.freedesktop.org
Thu Jan 12 19:33:25 UTC 2017


Module: Mesa
Branch: master
Commit: 4e922c81f616bba71565de8d7fd8f5f6955ce1cc
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4e922c81f616bba71565de8d7fd8f5f6955ce1cc

Author: Axel Davy <axel.davy at ens.fr>
Date:   Wed Dec 28 18:49:10 2016 +0100

st/nine: Process pending commands on Reset

Some nine_state_* and nine_context_* functions
used for Reset() require all pending commands are
flushed.

Signed-off-by: Axel Davy <axel.davy at ens.fr>

---

 src/gallium/state_trackers/nine/device9.c    | 1 +
 src/gallium/state_trackers/nine/device9ex.c  | 1 +
 src/gallium/state_trackers/nine/nine_state.c | 3 +++
 3 files changed, 5 insertions(+)

diff --git a/src/gallium/state_trackers/nine/device9.c b/src/gallium/state_trackers/nine/device9.c
index d76d506..b150faa 100644
--- a/src/gallium/state_trackers/nine/device9.c
+++ b/src/gallium/state_trackers/nine/device9.c
@@ -917,6 +917,7 @@ NineDevice9_Reset( struct NineDevice9 *This,
             break;
     }
 
+    nine_csmt_process(This);
     nine_state_clear(&This->state, TRUE);
     nine_context_clear(This);
 
diff --git a/src/gallium/state_trackers/nine/device9ex.c b/src/gallium/state_trackers/nine/device9ex.c
index 30c8c65..2853a81 100644
--- a/src/gallium/state_trackers/nine/device9ex.c
+++ b/src/gallium/state_trackers/nine/device9ex.c
@@ -257,6 +257,7 @@ NineDevice9Ex_Reset( struct NineDevice9Ex *This,
             break;
     }
 
+    nine_csmt_process(&This->base);
     nine_state_clear(&This->base.state, TRUE);
     nine_context_clear(&This->base);
 
diff --git a/src/gallium/state_trackers/nine/nine_state.c b/src/gallium/state_trackers/nine/nine_state.c
index 697e216..8909692 100644
--- a/src/gallium/state_trackers/nine/nine_state.c
+++ b/src/gallium/state_trackers/nine/nine_state.c
@@ -2995,6 +2995,9 @@ static const DWORD nine_samp_state_defaults[NINED3DSAMP_LAST + 1] =
     [NINED3DSAMP_CUBETEX] = 0
 };
 
+/* Note: The following 4 functions assume there is no
+ * pending commands */
+
 void nine_state_restore_non_cso(struct NineDevice9 *device)
 {
     struct nine_context *context = &device->context;




More information about the mesa-commit mailing list