[Mesa-dev] [PATCH v4 00/10] Add precise/invariant semantics to TGSI
Samuel Pitoiset
samuel.pitoiset at gmail.com
Mon Jun 26 21:32:17 UTC 2017
Looks good to me.
For the series:
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
On 06/23/2017 08:30 PM, Karol Herbst wrote:
> Running Tomb Raider on Nouveau I found some flicker caused by ignoring precise
> modifiers on variables inside Nouveau.
>
> This series add precise/invariant handling to TGSI, which can be then used by
> drivers to disable certain unsafe optimisations which may otherwise alter
> calculations, which depend on having the same result across shaders.
>
> This series fixes this bug in Tomb Raider and one CTS test for 4.4 and 4.5
>
> No piglit regression on my nve6
>
> Changes since v3:
> * more documentation
> * don't disable SAD opt for nv50
> * bug fixes
>
> Karol Herbst (10):
> tgsi: add precise flag to tgsi_instruction
> tgsi/dump: print _PRECISE modifier on Instructions
> st/glsl_to_tgsi: handle precise modifier
> tgsi: populate precise
> tgsi/text: parse _PRECISE modifier
> gallium/docs: add precise instruction modifier
> st/glsl_to_tgsi: don't optimize mul+add to mad if expression is
> precise
> nv50/ir: add precise field to Instruction
> nv50/ir/tgsi: handle precise for most ALU instructions
> nv50/ir: disable mul+add to mad for precise instructions
>
> src/gallium/auxiliary/tgsi/tgsi_build.c | 4 +++
> src/gallium/auxiliary/tgsi/tgsi_dump.c | 4 +++
> src/gallium/auxiliary/tgsi/tgsi_text.c | 17 ++++++++--
> src/gallium/auxiliary/tgsi/tgsi_ureg.c | 8 ++++-
> src/gallium/auxiliary/tgsi/tgsi_ureg.h | 14 ++++++++-
> src/gallium/auxiliary/util/u_simple_shaders.c | 2 +-
> src/gallium/docs/source/tgsi.rst | 11 ++++++-
> src/gallium/drivers/nouveau/codegen/nv50_ir.cpp | 1 +
> src/gallium/drivers/nouveau/codegen/nv50_ir.h | 1 +
> .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 2 ++
> .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 5 +--
> src/gallium/include/pipe/p_shader_tokens.h | 3 +-
> src/gallium/state_trackers/nine/nine_shader.c | 6 ++--
> src/mesa/state_tracker/st_atifs_to_tgsi.c | 36 +++++++++++-----------
> src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 21 ++++++++++---
> src/mesa/state_tracker/st_mesa_to_tgsi.c | 6 ++--
> 16 files changed, 103 insertions(+), 38 deletions(-)
>
More information about the mesa-dev
mailing list