[Mesa-dev] i965: Batch emission refactoring

Kenneth Graunke kenneth at whitecape.org
Tue Apr 28 15:07:35 PDT 2015


On Wednesday, April 22, 2015 11:47:20 PM Topi Pohjolainen wrote:
> Currently batch emission logic is bolted into using the current
> gl-state and currently bound user shader programs as input. This
> series refactors the api to allow caller to give individual bits of
> information needed explicitly instead of the emission logic
> deducing them from the current state.
> 
> This is needed to support blorp style gl-state-agnostic launching
> of internal utility shaders - shaders used for 2D blitting and
> buffer clearing/resolving.
> 
> I have a follow-up series ready that is actually leveraging this,
> this series is simple set of refactors. I didn't mean it to, but
> it actually fixes one pigit test on ILK due to the way formats
> are set for texture surfaces: arb_copy_image.arb_copy_image-formats.
> 
> Patches 6-13 all address texture surface setup. They move all the
> decision making of values into the hardware agnostic dispatcher
> leaving the hw-specific part just to deal with formatting.
> 
> Topi Pohjolainen (18):
>   i965: Refactor rb surface setup to allow caller to store offsets
>   i965: Expose and refactor brw_update_renderbuffer_surfaces()
>   i965: Refactor and expose brw_upload_binding_table()
>   i965: Remove dependency to tex object in default color setup
>   i965: Refactor sampler state setup
>   i965: Move texture buffer dispatch into single location
>   i965/gen8: Use miptree format in the surface setup
>   i965: Move tex miptree and format resolving into dispatcher
>   i965: Move texture swizzle resolving into dispatcher
>   i965: Pass integer format flag as parameter to surface setup
>   i965: Refactor effective depth calculation
>   i965: Pass texture target as parameter for surface setup
>   i965: Pass slice details as parameters for surface setup

I requested a small change on this patch.

>   i965/wm/gen6: Refactor program offset setup

I NAK'd this one.

The rest of this 18 patch series looks great to me and is:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

It looks like Curro landed different texture surface state refactoring
patches in the meantime, though...so the two of you will need to decide
how to sort that out :(

>   i965/wm/gen6: Refactor push constant state uploading
>   i965/ps/gen7: Refactor state uploading
>   i965/ps/gen8: Refactor state uploading
>   i965/gen8: Expose state base address setup
-------------- 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/20150428/76f9998f/attachment-0001.sig>


More information about the mesa-dev mailing list