Mesa (master): vc4: Start using tgsi_lowering for opcodes we haven' t supported before.

Eric Anholt anholt at kemper.freedesktop.org
Wed Oct 8 15:53:41 UTC 2014


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

Author: Eric Anholt <eric at anholt.net>
Date:   Tue Sep 30 13:25:24 2014 -0700

vc4: Start using tgsi_lowering for opcodes we haven't supported before.

---

 src/gallium/drivers/vc4/vc4_program.c |   16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index 26068e2..52de8a8 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -33,6 +33,7 @@
 #include "util/ralloc.h"
 #include "tgsi/tgsi_dump.h"
 #include "tgsi/tgsi_info.h"
+#include "tgsi/tgsi_lowering.h"
 
 #include "vc4_context.h"
 #include "vc4_qpu.h"
@@ -1730,7 +1731,20 @@ vc4_shader_state_create(struct pipe_context *pctx,
         if (!so)
                 return NULL;
 
-        so->tokens = tgsi_dup_tokens(cso->tokens);
+        const struct tgsi_lowering_config lowering_config = {
+                .lower_DST = true,
+                .lower_XPD = true,
+                .lower_SCS = true,
+                .lower_EXP = true,
+                .lower_LOG = true,
+                .lower_DPH = true,
+                .lower_DP2A = true,
+        };
+
+        struct tgsi_shader_info info;
+        so->tokens = tgsi_transform_lowering(&lowering_config, cso->tokens, &info);
+        if (!so->tokens)
+                so->tokens = tgsi_dup_tokens(cso->tokens);
 
         return so;
 }




More information about the mesa-commit mailing list