[Mesa-dev] [PATCH 0/2] [RFC] r600g: improve handling of the shader exports

Jerome Glisse j.glisse at gmail.com
Fri Jun 22 11:24:38 PDT 2012


On Fri, Jun 22, 2012 at 10:02 AM, Vadim Girlin <vadimgirlin at gmail.com> wrote:
>  r600g: avoid unnecessary shader exports
>  r600g: enable DUAL_EXPORT mode when possible
>
> First patch fixes the lockups with DUAL_EXPORT mode for me, also AFAICS it
> fixes some depth/stencil tests, though I'm not sure why, haven't looked
> into it (possibly unexpected color exports were written over the depth
> exports).
>
> Second patch enables DUAL_EXPORT mode when possible, giving about 40%
> improvement with the results of the "fill" demo (on juniper). Also it sets
> DB_SOURCE_FORMAT to the EXPORT_DB_TWO when in DUAL_EXPORT mode, though I'm not sure yet if it has any effect on performance.
>
> I haven't tried to implement the same for pre-evergreen cards - I can't test it
> anyway without r600 hw, but I guess it shouldn't be hard. AFAIK there will be
> additional requirements for DUAL_EXPORT mode for r6xx (it's documented in the
> R6xx_3D_Registers.pdf).
>
> There are no regressions with piglit on evergreen (juniper).

r6xx/r7xx version WIP not working (well not improving perf)
http://people.freedesktop.org/~glisse/0003-r600g-enable-DUAL_EXPORT-mode-when-possible-on-r6xx-.patch

Cheers,
Jerome

>
>  src/gallium/drivers/r600/evergreen_state.c   |   56 ++++++++++++++++++++------
>  src/gallium/drivers/r600/evergreend.h        |    7 ++++
>  src/gallium/drivers/r600/r600_pipe.h         |    5 +++
>  src/gallium/drivers/r600/r600_shader.c       |   25 ++++++++++--
>  src/gallium/drivers/r600/r600_shader.h       |    7 +++-
>  src/gallium/drivers/r600/r600_state_common.c |    7 +++-
>  6 files changed, 88 insertions(+), 19 deletions(-)
>
> --
> 1.7.10.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list