[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