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

Author: Marek Olšák <[email protected]>
Date:   Fri Oct  9 01:35:32 2015 +0200

radeonsi: clean up copy-pasted scratch buffer updates

Reviewed-by: Michel Dänzer <[email protected]>

---

 src/gallium/drivers/radeonsi/si_state_shaders.c |   39 ++++++++---------------
 1 file changed, 13 insertions(+), 26 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_state_shaders.c 
b/src/gallium/drivers/radeonsi/si_state_shaders.c
index c1d61d5..9395c31 100644
--- a/src/gallium/drivers/radeonsi/si_state_shaders.c
+++ b/src/gallium/drivers/radeonsi/si_state_shaders.c
@@ -1243,7 +1243,6 @@ static bool si_update_spi_tmpring_size(struct si_context 
*sctx)
        int r;
 
        if (scratch_needed_size > 0) {
-
                if (scratch_needed_size > current_scratch_buffer_size) {
                        /* Create a bigger scratch buffer */
                        pipe_resource_reference(
@@ -1282,38 +1281,26 @@ static bool si_update_spi_tmpring_size(struct 
si_context *sctx)
                        si_pm4_bind_state(sctx, hs, 
sctx->tcs_shader->current->pm4);
 
                /* VS can be bound as LS, ES, or VS. */
-               if (sctx->tes_shader) {
-                       r = si_update_scratch_buffer(sctx, sctx->vs_shader);
-                       if (r < 0)
-                               return false;
-                       if (r == 1)
+               r = si_update_scratch_buffer(sctx, sctx->vs_shader);
+               if (r < 0)
+                       return false;
+               if (r == 1) {
+                       if (sctx->tes_shader)
                                si_pm4_bind_state(sctx, ls, 
sctx->vs_shader->current->pm4);
-               } else if (sctx->gs_shader) {
-                       r = si_update_scratch_buffer(sctx, sctx->vs_shader);
-                       if (r < 0)
-                               return false;
-                       if (r == 1)
+                       else if (sctx->gs_shader)
                                si_pm4_bind_state(sctx, es, 
sctx->vs_shader->current->pm4);
-               } else {
-                       r = si_update_scratch_buffer(sctx, sctx->vs_shader);
-                       if (r < 0)
-                               return false;
-                       if (r == 1)
+                       else
                                si_pm4_bind_state(sctx, vs, 
sctx->vs_shader->current->pm4);
                }
 
                /* TES can be bound as ES or VS. */
-               if (sctx->gs_shader) {
-                       r = si_update_scratch_buffer(sctx, sctx->tes_shader);
-                       if (r < 0)
-                               return false;
-                       if (r == 1)
+               r = si_update_scratch_buffer(sctx, sctx->tes_shader);
+               if (r < 0)
+                       return false;
+               if (r == 1) {
+                       if (sctx->gs_shader)
                                si_pm4_bind_state(sctx, es, 
sctx->tes_shader->current->pm4);
-               } else {
-                       r = si_update_scratch_buffer(sctx, sctx->tes_shader);
-                       if (r < 0)
-                               return false;
-                       if (r == 1)
+                       else
                                si_pm4_bind_state(sctx, vs, 
sctx->tes_shader->current->pm4);
                }
        }

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to