diff options
author | Dave Airlie <[email protected]> | 2018-02-05 14:55:07 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-02-07 06:16:59 +1000 |
commit | 6c691081a183aec51d5305592b9fa391ebb447ab (patch) | |
tree | 2106e3a506145803ac9c4efbfaf6d50457c1857f /src/gallium/drivers/r600/evergreen_state.c | |
parent | 2d5b5d267e1b0997ebe9fe7bcc06f6b79af48e43 (diff) |
r600: fixup sparse color exports.
If we have gaps in the shader mask we have to have 0x1 in them
according to a comment in radeonsi, and this is required to fix
the test at least on cayman.
We also need to record the highest one written to write to the
ps exports reg.
This fixes:
KHR-GL45.enhanced_layouts.fragment_data_location_api
Reviewed-by: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/evergreen_state.c')
-rw-r--r-- | src/gallium/drivers/r600/evergreen_state.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index 4c9163c2a7b..742ca5babb3 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -3369,7 +3369,7 @@ void evergreen_update_ps_state(struct pipe_context *ctx, struct r600_pipe_shader exports_ps |= 1; } - num_cout = rshader->nr_ps_color_exports; + num_cout = rshader->ps_export_highest + 1; exports_ps |= S_02884C_EXPORT_COLORS(num_cout); if (!exports_ps) { |