[Mesa-dev] [RFC PATCH 22/26] i965: gen6: set multisample mode in surface_state
Paul Berry
stereotype441 at gmail.com
Fri Jan 4 13:46:02 PST 2013
On 29 December 2012 04:35, Chris Forbes <chrisf at ijw.co.nz> wrote:
> - Set the multisample mode
> - Set the surface dimensions correctly, in pixels.
>
> Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
>
Surface_state is used for texturing as well as for render targets. Can you
clarify in the commit message that this patch applies just to
surface_states used in texturing? Surface_states used for render targets
already handle multisampling correctly.
> ---
> src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> index 1c54d59..160bd3f 100644
> --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c
> @@ -814,6 +814,14 @@ brw_update_texture_surface(struct gl_context *ctx,
>
> intel_miptree_get_dimensions_for_image(firstImage, &width, &height,
> &depth);
>
> + if (tObj->Target == GL_TEXTURE_2D_MULTISAMPLE ||
> + tObj->Target == GL_TEXTURE_2D_MULTISAMPLE_ARRAY) {
> + /* surface_state wants pixel dimensions, not the 2x2 or 4x2 size
> + * of the surface as stored in the miptree's levels array. */
> + width = intelObj->mt->singlesample_width0;
> + height = intelObj->mt->singlesample_height0;
> + }
> +
>
Hopefully this kludge can go away after I've fixed up the logical vs.
physical size ambiguity I mentioned in my comments on patch 21/26.
> surf = brw_state_batch(brw, AUB_TRACE_SURFACE_STATE,
> 6 * 4, 32, &binding_table[surf_index]);
>
> @@ -837,7 +845,7 @@ brw_update_texture_surface(struct gl_context *ctx,
> ((intelObj->mt->region->pitch * intelObj->mt->cpp) - 1) <<
> BRW_SURFACE_PITCH_SHIFT);
>
> - surf[4] = 0;
> + surf[4] = brw_get_surface_num_multisamples(intelObj->mt->num_samples);
>
> surf[5] = (mt->align_h == 4) ? BRW_SURFACE_VERTICAL_ALIGN_ENABLE : 0;
>
> --
> 1.8.0.3
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130104/2233be52/attachment.html>
More information about the mesa-dev
mailing list