diff options
author | Dave Airlie <[email protected]> | 2018-01-19 13:20:36 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2018-01-29 05:41:58 +1000 |
commit | e0e23ea69cab23b9193b1e7c568fd23fc7073071 (patch) | |
tree | 765b4053b5d3e6bc082af2f5b5239610a6e2ff50 /src/gallium/drivers/r600/r600_pipe.h | |
parent | 4a0bab1d7f942ad0ac9b98ab34e6a9e4694f3c04 (diff) |
r600/eg: construct proper rat mask for image/buffers.
If the images/buffer bindings had a gap, this produced the wrong values,
this should fix that to generate the correct rat mask for mixes of
images/buffers/cbs.
Reviewed-by: Roland Scheidegger <[email protected]>
Cc: "18.0" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 112b5cbb83e..0b4542fb7ee 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -152,8 +152,8 @@ struct r600_cb_misc_state { unsigned blend_colormask; /* 8*4 bits for 8 RGBA colorbuffers */ unsigned nr_cbufs; unsigned nr_ps_color_outputs; - unsigned nr_image_rats; - unsigned nr_buffer_rats; + unsigned image_rat_enabled_mask; + unsigned buffer_rat_enabled_mask; bool multiwrite; bool dual_src_blend; }; @@ -700,6 +700,9 @@ void evergreen_init_color_surface_rat(struct r600_context *rctx, struct r600_surface *surf); void evergreen_update_db_shader_control(struct r600_context * rctx); bool evergreen_adjust_gprs(struct r600_context *rctx); + +uint32_t evergreen_construct_rat_mask(struct r600_context *rctx, struct r600_cb_misc_state *a, + unsigned nr_cbufs); /* r600_blit.c */ void r600_init_blit_functions(struct r600_context *rctx); void r600_decompress_depth_textures(struct r600_context *rctx, |