st/nine: Process pending commands on Reset
authorAxel Davy <axel.davy@ens.fr>
Wed, 28 Dec 2016 17:49:10 +0000 (18:49 +0100)
committerAxel Davy <axel.davy@ens.fr>
Thu, 12 Jan 2017 19:33:11 +0000 (20:33 +0100)
Some nine_state_* and nine_context_* functions
used for Reset() require all pending commands are
flushed.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
src/gallium/state_trackers/nine/device9.c
src/gallium/state_trackers/nine/device9ex.c
src/gallium/state_trackers/nine/nine_state.c

index d76d506a8a2436a3b294e2c0ff125076b14d45b3..b150faaf49dc862bbead3101cebe5fd262c7ad3d 100644 (file)
@@ -917,6 +917,7 @@ NineDevice9_Reset( struct NineDevice9 *This,
             break;
     }
 
+    nine_csmt_process(This);
     nine_state_clear(&This->state, TRUE);
     nine_context_clear(This);
 
index 30c8c65e2b684c59d0d0b0e85f7ad417b2696180..2853a813baace2c3f2e8260bb373a48ddd3184ab 100644 (file)
@@ -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);
 
index 697e2164367d74946c8ed280420bc6922373f0a7..890969259435324593b37ca56850bcb291026f3d 100644 (file)
@@ -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;