diff options
author | Dave Airlie <[email protected]> | 2017-04-21 03:02:46 +0100 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-04-25 23:24:21 +0100 |
commit | b858cb4df8f7be9baa33d7e20347d2fe77822872 (patch) | |
tree | bac2c07b25769e447eae14fbb4f09bdf698afd58 | |
parent | 1c66522ecc5e47649d770d281c5ad21cad0b5a9c (diff) |
radv/ac: move point coord after layer/viewport.
These need to be ordered as per shader enum ordering, I'll
rewrite this soon, but this is a bug fix.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
-rw-r--r-- | src/amd/vulkan/radv_pipeline.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 5046c9f6b36..aada4d2f30d 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -1881,12 +1881,6 @@ static void calculate_ps_inputs(struct radv_pipeline *pipeline) outinfo = &vs->info.vs.outinfo; unsigned ps_offset = 0; - if (ps->info.fs.has_pcoord) { - unsigned val; - val = S_028644_PT_SPRITE_TEX(1) | S_028644_OFFSET(0x20); - pipeline->graphics.ps_input_cntl[ps_offset] = val; - ps_offset++; - } if (ps->info.fs.prim_id_input && (outinfo->prim_id_output != 0xffffffff)) { unsigned vs_offset, flat_shade; @@ -1908,6 +1902,13 @@ static void calculate_ps_inputs(struct radv_pipeline *pipeline) ++ps_offset; } + if (ps->info.fs.has_pcoord) { + unsigned val; + val = S_028644_PT_SPRITE_TEX(1) | S_028644_OFFSET(0x20); + pipeline->graphics.ps_input_cntl[ps_offset] = val; + ps_offset++; + } + for (unsigned i = 0; i < 32 && (1u << i) <= ps->info.fs.input_mask; ++i) { unsigned vs_offset, flat_shade; unsigned val; |