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

Author: Eric Anholt <[email protected]>
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;
 }

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

Reply via email to