[Mesa-dev] [PATCH] i965: Don't check for draw-time errors that cannot occur in core profile

Matt Turner mattst88 at gmail.com
Tue Nov 24 13:12:42 PST 2015


On Mon, Aug 10, 2015 at 10:12 AM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> On many CPU-limited applications, this is *the* hot path.  The idea is
> to generate per-API versions of brw_draw_prims that elide some checks.
> This patch removes render-mode and "is everything in VBOs" checks from
> core-profile contexts.
>
> On my IVB laptop (which may have experienced thermal throttling):
>
> Gl32Batch7:     3.70955% +/- 1.11344%
> OglBatch7:      1.04398% +/- 0.772788%
>
> These are the same benchmark, but Gl32Batch7 uses an OpenGL 3.2 Core
> Profile context.
>
> v2: Reorder parameters to brw_try_draw_prims to reduce data shuffling.
>
> v3: Pass a gl_api into draw_prims instead of a must-be-core-profile
> flag.  This will make it easier to expand to other profiles later.
>
> v4: Make brw_draw_prims_generic be a dispatcher.  This way we always use
> the correct per-API version.  This should reduce cache pollution when
> brw_draw_prims_core is used, but it didn't seem to affect performance
> one way or the other on my IVB.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---

Sorry it took so long.

Reviewed-by: Matt Turner <mattst88 at gmail.com>

The shas in this patch aren't in my git tree, so to apply it I checked
out a2987ff57f08325f6e1dedae578bd6251a22b2b4~, git am'd it, and
rebased on master.


More information about the mesa-dev mailing list