diff options
author | Topi Pohjolainen <topi.pohjolainen@intel.com> | 2018-04-03 10:23:13 +0300 |
---|---|---|
committer | Topi Pohjolainen <topi.pohjolainen@intel.com> | 2018-04-03 10:41:20 +0300 |
commit | 51449003200a2fa8414191a79f9a28c63b7b38dc (patch) | |
tree | 4e5101302e5a0d49a4a1ba258ecf7bca3f2a05b7 | |
parent | ccbe5ada0de8ff0627ef4e5f4b638385c14aea10 (diff) |
blorp: dump clear colorsicl_fcc_2
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp.c b/src/mesa/drivers/dri/i965/brw_blorp.c index 6faffae1a9..2ac9257d2d 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp.c +++ b/src/mesa/drivers/dri/i965/brw_blorp.c @@ -39,6 +39,8 @@ #include "intel_buffer_objects.h" #include "intel_fbo.h" #include "common/gen_debug.h" +#include "intel_batchbuffer.h" + #define FILE_DEBUG_FLAG DEBUG_BLORP @@ -1164,6 +1166,41 @@ set_write_disables(const struct intel_renderbuffer *irb, } static void +dump_clear_color(struct brw_context *brw, + const struct intel_renderbuffer *irb) +{ + fprintf(stderr, "clear: %u %u:%u\n", + irb->mt->mcs_buf->clear_color_offset, + irb->mt->mcs_buf->offset, + irb->mt->mcs_buf->size); + + intel_batchbuffer_flush(brw); + + const unsigned char *clear_color_start = + brw_bo_map(brw, irb->mt->mcs_buf->bo, 0); + + clear_color_start += irb->mt->mcs_buf->clear_color_offset; + + fprintf(stderr, "orig: %g:%g:%g:%g 0x%x 0x%x 0x%x 0x%x\n", + ((const float *)clear_color_start)[0], + ((const float *)clear_color_start)[1], + ((const float *)clear_color_start)[2], + ((const float *)clear_color_start)[3], + ((const unsigned *)clear_color_start)[0], + ((const unsigned *)clear_color_start)[1], + ((const unsigned *)clear_color_start)[2], + ((const unsigned *)clear_color_start)[3]); + + fprintf(stderr, "conv: 0x%x 0x%x 0x%x 0x%x\n", + ((const unsigned *)clear_color_start)[4], + ((const unsigned *)clear_color_start)[5], + ((const unsigned *)clear_color_start)[6], + ((const unsigned *)clear_color_start)[7]); + + brw_bo_unmap(irb->mt->mcs_buf->bo); +} + +static void do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, struct gl_renderbuffer *rb, unsigned buf, bool partial_clear, bool encode_srgb) @@ -1273,6 +1310,8 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, */ brw_emit_end_of_pipe_sync(brw, PIPE_CONTROL_RENDER_TARGET_FLUSH); + dump_clear_color(brw, irb); + struct blorp_batch batch; blorp_batch_init(&brw->blorp, &batch, brw, 0); blorp_fast_clear(&batch, &surf, isl_format, @@ -1282,6 +1321,8 @@ do_single_blorp_clear(struct brw_context *brw, struct gl_framebuffer *fb, brw_emit_end_of_pipe_sync(brw, PIPE_CONTROL_RENDER_TARGET_FLUSH); + dump_clear_color(brw, irb); + /* Now that the fast clear has occurred, put the buffer in * INTEL_FAST_CLEAR_STATE_CLEAR so that we won't waste time doing * redundant clears. |