[Mesa-dev] [RFC PATCH 06/40] i965/gen7.5: Enable hardware-generated binding tables in blorp path

Kenneth Graunke kenneth at whitecape.org
Sun Jan 4 19:41:27 PST 2015


On Sunday, January 04, 2015 04:04:20 PM Abdiel Janulgue wrote:
> Signed-off-by: Abdiel Janulgue <abdiel.janulgue at linux.intel.com>
> ---
>  src/mesa/drivers/dri/i965/gen7_blorp.cpp | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/mesa/drivers/dri/i965/gen7_blorp.cpp b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
> index 206a6ff..3d5c7df 100644
> --- a/src/mesa/drivers/dri/i965/gen7_blorp.cpp
> +++ b/src/mesa/drivers/dri/i965/gen7_blorp.cpp
> @@ -824,6 +824,8 @@ gen7_blorp_exec(struct brw_context *brw,
>     if (params->use_wm_prog) {
>        uint32_t wm_surf_offset_renderbuffer;
>        uint32_t wm_surf_offset_texture = 0;
> +      
> +      gen7_enable_hw_binding_tables(brw);
>        wm_push_const_offset = gen6_blorp_emit_wm_constants(brw, params);
>        intel_miptree_used_for_rendering(params->dst.mt);
>        wm_surf_offset_renderbuffer =

I can't imagine there's any benefit to using the RS in BLORP.

BLORP's binding tables only contain 1-2 entries: the destination renderbuffer
and (optional) source texture.  Each BLORP operation most likely operates on
different buffers, so we may as well just re-emit the whole two entry binding
table.

BLORP also doesn't use pull constants at all, so gather constants won't help
at all either.

Unless the point is to not switch back and forth due to some cost?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150104/fee7f9f8/attachment.sig>


More information about the mesa-dev mailing list