diff options
author | Dave Airlie <[email protected]> | 2018-02-05 13:46:23 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-02-07 06:16:27 +1000 |
commit | 5b14e06d8b42e2b08ebc52b6c314ef8647d87a1f (patch) | |
tree | 4bb3abd05c3936f8a34df9ea9f03010ace25d642 /src/gallium/drivers/r600/r600_shader.h | |
parent | f292eceae1d3bc0462d626d6857dbf51c48fbc92 (diff) |
r600: work out shader export mask at shader build time (v1.1)
Since enhanced layouts allows setting specific MRT outputs, we
can get sparse outputs, so we have to calculate the shader
mask earlier.
v1.1: update checks for state update (Roland)
Reviewed-by: Roland Scheidegger <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_shader.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.h b/src/gallium/drivers/r600/r600_shader.h index da96688e544..7fca3f455e8 100644 --- a/src/gallium/drivers/r600/r600_shader.h +++ b/src/gallium/drivers/r600/r600_shader.h @@ -84,6 +84,7 @@ struct r600_shader { unsigned nr_ps_max_color_exports; /* Real number of ps color exports compiled in the bytecode */ unsigned nr_ps_color_exports; + unsigned ps_color_export_mask; /* bit n is set if the shader writes gl_ClipDistance[n] */ unsigned cc_dist_mask; unsigned clip_dist_write; @@ -172,6 +173,8 @@ struct r600_pipe_shader { unsigned flatshade; unsigned pa_cl_vs_out_cntl; unsigned nr_ps_color_outputs; + unsigned ps_color_export_mask; + union r600_shader_key key; unsigned db_shader_control; unsigned ps_depth_export; |