summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorTopi Pohjolainen <[email protected]>2013-12-02 14:12:39 +0200
committerTopi Pohjolainen <[email protected]>2014-01-23 08:45:13 +0200
commitecf795615c973d546737c5b0dd6abb846e7d3aad (patch)
tree5f1adbbad35c6af5bba5b60ccb754a1653d460ca /src/mesa
parentaac6bace9f428ccf317095205491ae3278ce12e0 (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.cpp15
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp_blit_eu.cpp18
-rw-r--r--src/mesa/drivers/dri/i965/brw_blorp_blit_eu.h5
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;
};