diff options
author | Ilia Mirkin <[email protected]> | 2015-03-29 20:24:57 -0400 |
---|---|---|
committer | Ilia Mirkin <[email protected]> | 2015-04-02 00:09:14 -0400 |
commit | d13803c76fd7429df64c1aa3631dcc451e7f1a29 (patch) | |
tree | 6ae296dcb3382c048eb638fedba628389e2364e1 /src/gallium/drivers/freedreno/ir3 | |
parent | f27ec5908416e6a3ea3d770026cd6a1c6ded188f (diff) |
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]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_compiler.c | 9 | ||||
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_shader.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_compiler.c b/src/gallium/drivers/freedreno/ir3/ir3_compiler.c index c60025298a6..511cf770ceb 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 4b7d03899d6..e5410bf88b2 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; |