diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2013-07-02 23:17:14 -0700 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2013-07-09 14:08:53 -0700 |
commit | ca437579b3974b91a5298707c459908a628c1098 (patch) | |
tree | 294ac2ad5aa080554c23ebb79552e50b23fbcf31 /src/mesa/drivers/dri/i965/brw_blorp_clear.cpp | |
parent | 86f2711722dc10c25c2fabc09d8bd020a1ba6029 (diff) |
i965: Pass brw_context to functions rather than intel_context.
This makes brw_context available in every function that used
intel_context. This makes it possible to start migrating fields from
intel_context to brw_context.
Surprisingly, this actually removes some code, as functions that use
OUT_BATCH don't need to declare "intel"; they just use "brw."
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Acked-by: Chris Forbes <chrisf@ijw.co.nz>
Acked-by: Paul Berry <stereotype441@gmail.com>
Acked-by: Anuj Phogat <anuj.phogat@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_blorp_clear.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_blorp_clear.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp index 5745f7f2016..365c49c1eb1 100644 --- a/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp +++ b/src/mesa/drivers/dri/i965/brw_blorp_clear.cpp @@ -143,10 +143,11 @@ brw_blorp_const_color_program::~brw_blorp_const_color_program() * moment we only support floating point, unorm, and snorm buffers. */ static bool -is_color_fast_clear_compatible(struct intel_context *intel, +is_color_fast_clear_compatible(struct brw_context *brw, gl_format format, const union gl_color_union *color) { + struct intel_context *intel = &brw->intel; if (_mesa_is_format_integer_color(format)) return false; @@ -238,7 +239,7 @@ brw_blorp_clear_params::brw_blorp_clear_params(struct brw_context *brw, /* If we can do this as a fast color clear, do so. */ if (irb->mt->mcs_state != INTEL_MCS_STATE_NONE && !partial_clear && wm_prog_key.use_simd16_replicated_data && - is_color_fast_clear_compatible(intel, format, &ctx->Color.ClearColor)) { + is_color_fast_clear_compatible(brw, format, &ctx->Color.ClearColor)) { memset(push_consts, 0xff, 4*sizeof(float)); fast_clear_op = GEN7_FAST_CLEAR_OP_FAST_CLEAR; @@ -258,7 +259,7 @@ brw_blorp_clear_params::brw_blorp_clear_params(struct brw_context *brw, * with X alignment multiplied by 16 and Y alignment multiplied by 32. */ unsigned x_align, y_align; - intel_get_non_msrt_mcs_alignment(intel, irb->mt, &x_align, &y_align); + intel_get_non_msrt_mcs_alignment(brw, irb->mt, &x_align, &y_align); x_align *= 16; y_align *= 32; x0 = ROUND_DOWN_TO(x0, x_align); @@ -303,7 +304,7 @@ brw_blorp_rt_resolve_params::brw_blorp_rt_resolve_params( * X and Y alignment each divided by 2. */ unsigned x_align, y_align; - intel_get_non_msrt_mcs_alignment(&brw->intel, mt, &x_align, &y_align); + intel_get_non_msrt_mcs_alignment(brw, mt, &x_align, &y_align); unsigned x_scaledown = x_align / 2; unsigned y_scaledown = y_align / 2; x0 = y0 = 0; @@ -425,11 +426,10 @@ brw_blorp_const_color_program::compile(struct brw_context *brw, extern "C" { bool -brw_blorp_clear_color(struct intel_context *intel, struct gl_framebuffer *fb, +brw_blorp_clear_color(struct brw_context *brw, struct gl_framebuffer *fb, bool partial_clear) { - struct gl_context *ctx = &intel->ctx; - struct brw_context *brw = brw_context(ctx); + struct gl_context *ctx = &brw->intel.ctx; /* The constant color clear code doesn't work for multisampled surfaces, so * we need to support falling back to other clear mechanisms. @@ -484,7 +484,7 @@ brw_blorp_clear_color(struct intel_context *intel, struct gl_framebuffer *fb, * it now. */ if (!irb->mt->mcs_mt) { - if (!intel_miptree_alloc_non_msrt_mcs(intel, irb->mt)) { + if (!intel_miptree_alloc_non_msrt_mcs(brw, irb->mt)) { /* MCS allocation failed--probably this will only happen in * out-of-memory conditions. But in any case, try to recover * by falling back to a non-blorp clear technique. @@ -498,7 +498,7 @@ brw_blorp_clear_color(struct intel_context *intel, struct gl_framebuffer *fb, DBG("%s to mt %p level %d layer %d\n", __FUNCTION__, irb->mt, irb->mt_level, irb->mt_layer); - brw_blorp_exec(intel, ¶ms); + brw_blorp_exec(brw, ¶ms); if (is_fast_clear) { /* Now that the fast clear has occurred, put the buffer in @@ -513,14 +513,12 @@ brw_blorp_clear_color(struct intel_context *intel, struct gl_framebuffer *fb, } void -brw_blorp_resolve_color(struct intel_context *intel, struct intel_mipmap_tree *mt) +brw_blorp_resolve_color(struct brw_context *brw, struct intel_mipmap_tree *mt) { - struct brw_context *brw = brw_context(&intel->ctx); - DBG("%s to mt %p\n", __FUNCTION__, mt); brw_blorp_rt_resolve_params params(brw, mt); - brw_blorp_exec(intel, ¶ms); + brw_blorp_exec(brw, ¶ms); mt->mcs_state = INTEL_MCS_STATE_RESOLVED; } |