On Fri, Jun 22, 2012 at 10:02 AM, Vadim Girlin <vadimgir...@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@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev