1. 07 May, 2019 9 commits
    • Ian Romanick's avatar
      nir/algebraic: Pull common multiplication out of flrp arguments · dc566a03
      Ian Romanick authored
      All Intel platforms had similar results. (Skylake shown)
      total instructions in shared programs: 15342485 -> 15337495 (-0.03%)
      instructions in affected programs: 217456 -> 212466 (-2.29%)
      helped: 1539
      HURT: 1
      helped stats (abs) min: 1 max: 17 x̄: 3.24 x̃: 3
      helped stats (rel) min: 0.22% max: 18.75% x̄: 3.10% x̃: 1.91%
      HURT stats (abs)   min: 1 max: 1 x̄: 1.00 x̃: 1
      HURT stats (rel)   min: 0.56% max: 0.56% x̄: 0.56% x̃: 0.56%
      95% mean confidence interval for instructions value: -3.39 -3.09
      95% mean confidence interval for instructions %-change: -3.24% -2.96%
      Instructions are helped.
      
      total cycles in shared programs: 355734320 -> 355728237 (<.01%)
      cycles in affected programs: 1851555 -> 1845472 (-0.33%)
      helped: 835
      HURT: 575
      helped stats (abs) min: 1 max: 658 x̄: 40.62 x̃: 14
      helped stats (rel) min: <.01% max: 35.69% x̄: 3.78% x̃: 1.81%
      HURT stats (abs)   min: 1 max: 322 x̄: 48.40 x̃: 14
      HURT stats (rel)   min: 0.04% max: 71.02% x̄: 8.06% x̃: 2.43%
      95% mean confidence interval for cycles value: -8.50 -0.13
      95% mean confidence interval for cycles %-change: 0.48% 1.62%
      Inconclusive result (value mean confidence interval and %-change mean confidence interval disagree).
      Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
      dc566a03
    • Ian Romanick's avatar
      nir/algebraic: Pull common addition out of flrp arguments · a83a6e96
      Ian Romanick authored
      v2: Augment the late optimization patterns with a couple pre-ffma pass
      patterns.
      
      All Gen7+ platforms had similar results. (Skylake shown)
      total instructions in shared programs: 15342982 -> 15342485 (<.01%)
      instructions in affected programs: 56304 -> 55807 (-0.88%)
      helped: 235
      HURT: 0
      helped stats (abs) min: 1 max: 8 x̄: 2.11 x̃: 1
      helped stats (rel) min: 0.11% max: 8.82% x̄: 1.27% x̃: 0.74%
      95% mean confidence interval for instructions value: -2.31 -1.92
      95% mean confidence interval for instructions %-change: -1.46% -1.09%
      Instructions are helped.
      
      total cycles in shared programs: 355734740 -> 355734320 (<.01%)
      cycles in affected programs: 1028807 -> 1028387 (-0.04%)
      helped: 134
      HURT: 104
      helped stats (abs) min: 1 max: 212 x̄: 25.69 x̃: 8
      helped stats (rel) min: <.01% max: 9.36% x̄: 1.33% x̃: 0.61%
      HURT stats (abs)   min: 1 max: 203 x̄: 29.06 x̃: 8
      HURT stats (rel)   min: 0.02% max: 15.76% x̄: 1.76% x̃: 0.46%
      95% mean confidence interval for cycles value: -8.51 4.98
      95% mean confidence interval for cycles %-change: -0.35% 0.39%
      Inconclusive result (value mean confidence interval includes 0).
      
      Sandy Bridge
      total instructions in shared programs: 10886815 -> 10886390 (<.01%)
      instructions in affected programs: 36883 -> 36458 (-1.15%)
      helped: 147
      HURT: 0
      helped stats (abs) min: 1 max: 7 x̄: 2.89 x̃: 3
      helped stats (rel) min: 0.35% max: 8.00% x̄: 1.60% x̃: 1.23%
      95% mean confidence interval for instructions value: -3.12 -2.67
      95% mean confidence interval for instructions %-change: -1.83% -1.38%
      Instructions are helped.
      
      total cycles in shared programs: 154188360 -> 154186902 (<.01%)
      cycles in affected programs: 388094 -> 386636 (-0.38%)
      helped: 90
      HURT: 58
      helped stats (abs) min: 1 max: 243 x̄: 36.80 x̃: 15
      helped stats (rel) min: 0.04% max: 9.23% x̄: 1.26% x̃: 0.83%
      HURT stats (abs)   min: 1 max: 684 x̄: 31.97 x̃: 10
      HURT stats (rel)   min: 0.03% max: 13.50% x̄: 1.15% x̃: 0.51%
      95% mean confidence interval for cycles value: -22.62 2.92
      95% mean confidence interval for cycles %-change: -0.68% 0.05%
      Inconclusive result (value mean confidence interval includes 0).
      
      Iron Lake and GM45 had similar results. (Iron Lake shown)
      total instructions in shared programs: 8221239 -> 8220357 (-0.01%)
      instructions in affected programs: 54560 -> 53678 (-1.62%)
      helped: 186
      HURT: 0
      helped stats (abs) min: 1 max: 14 x̄: 4.74 x̃: 3
      helped stats (rel) min: 0.34% max: 10.77% x̄: 1.97% x̃: 1.17%
      95% mean confidence interval for instructions value: -5.21 -4.28
      95% mean confidence interval for instructions %-change: -2.23% -1.72%
      Instructions are helped.
      
      total cycles in shared programs: 188654442 -> 188650364 (<.01%)
      cycles in affected programs: 1454384 -> 1450306 (-0.28%)
      helped: 204
      HURT: 0
      helped stats (abs) min: 2 max: 84 x̄: 19.99 x̃: 18
      helped stats (rel) min: 0.02% max: 4.69% x̄: 0.56% x̃: 0.22%
      95% mean confidence interval for cycles value: -22.38 -17.60
      95% mean confidence interval for cycles %-change: -0.67% -0.46%
      Cycles are helped.
      Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
      a83a6e96
    • Christian Gmeiner's avatar
      glsl_to_nir: drop supports_ints · e00fa99b
      Christian Gmeiner authored
      At initial nir level all drivers are supporting ints.
      Signed-off-by: Christian Gmeiner's avatarChristian Gmeiner <christian.gmeiner@gmail.com>
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      e00fa99b
    • Christian Gmeiner's avatar
      nir: nir_shader_compiler_options: drop native_integers · 4e110eca
      Christian Gmeiner authored
      Driver which do not support native integers should use a lowering
      pass to go from integers to floats.
      Signed-off-by: Christian Gmeiner's avatarChristian Gmeiner <christian.gmeiner@gmail.com>
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      4e110eca
    • Alyssa Rosenzweig's avatar
      panfrost: Refactor blend descriptors · 050b934a
      Alyssa Rosenzweig authored
      This commit does a fairly large cleanup of blend descriptors, although
      there should not be any functional changes. In particular, we split
      apart the Midgard and Bifrost blend descriptors, since they are
      radically different. From there, we can identify that the Midgard
      descriptor as previously written was really two render targets'
      descriptors stuck together. From this observation, we split the Midgard
      descriptor into what a single RT actually needs. This enables us to
      correctly dump blending configuration for MRT samples on Midgard. It
      also allows the Midgard and Bifrost blend code to peacefully coexist,
      with runtime selection rather than a #ifdef. So, as a bonus, this will
      help the future Bifrost effort, eliminating one major source of
      compile-time architectural divergence.
      Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
      050b934a
    • Vasily Khoruzhick's avatar
      d4a249aa
    • Vasily Khoruzhick's avatar
      lima/gpir: implement nir_op_fmov · f4659bea
      Vasily Khoruzhick authored
      Reviewed-by: Qiang Yu's avatarQiang Yu <yuq825@gmail.com>
      Signed-off-by: Vasily Khoruzhick's avatarVasily Khoruzhick <anarsoul@gmail.com>
      f4659bea
    • Vasily Khoruzhick's avatar
      lima: use int_to_float lowering pass · cf1ab4b9
      Vasily Khoruzhick authored
      Neither GP nor PP in Mali4x0 support integers, so utilize new pass
      and set native_integers to true for now until this flag is dropped.
      Reviewed-by: Qiang Yu's avatarQiang Yu <yuq825@gmail.com>
      Signed-off-by: Vasily Khoruzhick's avatarVasily Khoruzhick <anarsoul@gmail.com>
      cf1ab4b9
    • Vasily Khoruzhick's avatar
      nir: add int_to_float lowering pass · 443c5a3c
      Vasily Khoruzhick authored
      This new pass lowers ints and bools to floats. It allows hardware
      that doesn't have native integers (e.g. Mali4x0) use the same
      code paths as modern hardware.
      
      It uses newly introduced pass to gather SSA types and should be
      used as late as possible.
      Reviewed-by: Jason Ekstrand's avatarJason Ekstrand <jason@jlekstrand.net>
      Reviewed-by: Christian Gmeiner's avatarChristian Gmeiner <christian.gmeiner@gmail.com>
      Signed-off-by: Vasily Khoruzhick's avatarVasily Khoruzhick <anarsoul@gmail.com>
      443c5a3c
  2. 06 May, 2019 22 commits
  3. 04 May, 2019 9 commits