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

Author: Ilia Mirkin <[email protected]>
Date:   Sun Mar 29 20:24:57 2015 -0400

freedreno/ir3: add support for FS_COLOR0_WRITES_ALL_CBUFS property

This will enable the driver to tell which regids to link up to which
MRT outputs.

Signed-off-by: Ilia Mirkin <[email protected]>

---

 src/gallium/drivers/freedreno/ir3/ir3_compiler.c |    9 +++++++++
 src/gallium/drivers/freedreno/ir3/ir3_shader.h   |    2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler.c 
b/src/gallium/drivers/freedreno/ir3/ir3_compiler.c
index c600252..511cf77 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_compiler.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_compiler.c
@@ -3412,6 +3412,15 @@ compile_instructions(struct ir3_compile_context *ctx)
 
                        break;
                }
+               case TGSI_TOKEN_TYPE_PROPERTY: {
+                       struct tgsi_full_property *prop =
+                               &ctx->parser.FullToken.FullProperty;
+                       switch (prop->Property.PropertyName) {
+                       case TGSI_PROPERTY_FS_COLOR0_WRITES_ALL_CBUFS:
+                               ctx->so->color0_mrt = !!prop->u[0].Data;
+                               break;
+                       }
+               }
                default:
                        break;
                }
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_shader.h 
b/src/gallium/drivers/freedreno/ir3/ir3_shader.h
index 4b7d038..e5410bf 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_shader.h
+++ b/src/gallium/drivers/freedreno/ir3/ir3_shader.h
@@ -133,7 +133,7 @@ struct ir3_shader_variant {
         * to bary.f instructions
         */
        uint8_t pos_regid;
-       bool frag_coord, frag_face;
+       bool frag_coord, frag_face, color0_mrt;
 
        /* varyings/outputs: */
        unsigned outputs_count;

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

Reply via email to