diff options
author | Topi Pohjolainen <[email protected]> | 2013-12-02 14:12:39 +0200 |
---|---|---|
committer | Topi Pohjolainen <[email protected]> | 2014-01-23 08:45:13 +0200 |
commit | ecf795615c973d546737c5b0dd6abb846e7d3aad (patch) | |
tree | 5f1adbbad35c6af5bba5b60ccb754a1653d460ca /src/mesa | |
parent | aac6bace9f428ccf317095205491ae3278ce12e0 (diff) |
i965/blorp: move emission of rt-write into eu-emitter
Signed-off-by: Topi Pohjolainen <[email protected]>
Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp_blit.cpp | 15 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp | 18 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h | 5 |
3 files changed, 28 insertions, 10 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp index 034a82bc1b8..4bbdf3da6e1 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit.cpp @@ -1954,16 +1954,11 @@ brw_blorp_blit_program::render_target_write() } /* Now write to the render target and terminate the thread */ - brw_fb_WRITE(&func, - 16 /* dispatch_width */, - base_mrf /* msg_reg_nr */, - mrf_rt_write /* src0 */, - BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD16_SINGLE_SOURCE, - BRW_BLORP_RENDERBUFFER_BINDING_TABLE_INDEX, - mrf_offset /* msg_length. TODO: Should be smaller for non-RGBA formats. */, - 0 /* response_length */, - true /* eot */, - use_header); + emit_render_target_write( + mrf_rt_write, + base_mrf, + mrf_offset /* msg_length. TODO: Should be smaller for non-RGBA formats. */, + use_header); } diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp b/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp index ff45b6af23a..df8d63d94c4 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp @@ -134,3 +134,21 @@ brw_blorp_eu_emitter::emit_texture_lookup(const struct brw_reg &dst, BRW_SAMPLER_SIMD_MODE_SIMD16, BRW_SAMPLER_RETURN_FORMAT_FLOAT32); } + +void +brw_blorp_eu_emitter::emit_render_target_write(const struct brw_reg &src0, + unsigned msg_reg_nr, + unsigned msg_length, + bool use_header) +{ + brw_fb_WRITE(&func, + 16 /* dispatch_width */, + msg_reg_nr, + src0, + BRW_DATAPORT_RENDER_TARGET_WRITE_SIMD16_SINGLE_SOURCE, + BRW_BLORP_RENDERBUFFER_BINDING_TABLE_INDEX, + msg_length, + 0 /* response_length */, + true /* eot */, + use_header); +} diff --git a/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h b/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h index 9e7c43f88f8..5f0c8cf7f8d 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h +++ b/src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h @@ -47,6 +47,11 @@ protected: unsigned base_mrf, unsigned msg_length); + void emit_render_target_write(const struct brw_reg &src0, + unsigned msg_reg_nr, + unsigned msg_length, + bool use_header); + void *mem_ctx; struct brw_compile func; }; |