aco: combine MRTZ (depth, stencil, sample mask) exports
Instead of emitting up to 3 for each different components (depth, stencil and sample mask). This is needed to fix a hw bug on GFX6. Totals from affected shaders: SGPRS: 34728 -> 35056 (0.94 %) VGPRS: 26440 -> 26476 (0.14 %) Spilled SGPRs: 0 -> 0 (0.00 %) Spilled VGPRs: 0 -> 0 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 0 -> 0 (0.00 %) dwords per thread Code Size: 1346088 -> 1344180 (-0.14 %) bytes LDS: 0 -> 0 (0.00 %) blocks Max Waves: 3922 -> 3915 (-0.18 %) Wait states: 0 -> 0 (0.00 %) Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3538> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3538>
This commit is contained in:
committed by
Marge Bot
parent
c787b8d2a1
commit
918f00eef8
@@ -39,7 +39,7 @@
|
||||
|
||||
namespace aco {
|
||||
|
||||
struct ge_output_state {
|
||||
struct output_state {
|
||||
uint8_t mask[VARYING_SLOT_VAR31 + 1];
|
||||
Temp outputs[VARYING_SLOT_VAR31 + 1][4];
|
||||
};
|
||||
@@ -89,8 +89,8 @@ struct isel_context {
|
||||
unsigned num_clip_distances;
|
||||
unsigned num_cull_distances;
|
||||
|
||||
/* VS or GS output information */
|
||||
ge_output_state vsgs_output;
|
||||
/* VS, FS or GS output information */
|
||||
output_state outputs;
|
||||
};
|
||||
|
||||
Temp get_arg(isel_context *ctx, struct ac_arg arg)
|
||||
|
||||
Reference in New Issue
Block a user