Skip to content
Snippets Groups Projects
  1. May 21, 2019
  2. May 17, 2019
  3. May 16, 2019
  4. May 15, 2019
    • Ian Romanick's avatar
      Revert "nir: add late opt to turn inot/b2f combos back to bcsel" · 06bf5428
      Ian Romanick authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      This reverts commit 7acc8652.
      
      With these optimizations in place, the extra constant folding added in
      the next commit extends some live ranges of 0.0 and ±1.0 constants, and
      that causes several hundred shaders to have more spills and fills.
      
      I believe this optimization we made basically irrelevant by 7725d609
      "intel/fs: Emit better code for b2f(inot(a)) and b2i(inot(a))".
      
      All Gen7.5+ platforms had similar results. (Ice Lake shown)
      total instructions in shared programs: 17225303 -> 17224634 (<.01%)
      instructions in affected programs: 879402 -> 878733 (-0.08%)
      helped: 679
      HURT: 1
      helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
      helped stats (rel) min: 0.03% max: 0.93% x̄: 0.24% x̃: 0.05%
      HURT stats (abs)   min: 10 max: 10 x̄: 10.00 x̃: 10
      HURT stats (rel)   min: 0.45% max: 0.45% x̄: 0.45% x̃: 0.45%
      95% mean confidence interval for instructions value: -1.02 -0.95
      95% mean confidence interval for instructions %-change: -0.26% -0.22%
      Instructions are helped.
      
      total cycles in shared programs: 360842595 -> 360828542 (<.01%)
      cycles in affected programs: 110443594 -> 110429541 (-0.01%)
      helped: 389
      HURT: 265
      helped stats (abs) min: 1 max: 7525 x̄: 162.81 x̃: 28
      helped stats (rel) min: <.01% max: 18.66% x̄: 1.11% x̃: 0.11%
      HURT stats (abs)   min: 1 max: 7614 x̄: 185.96 x̃: 48
      HURT stats (rel)   min: <.01% max: 25.08% x̄: 0.95% x̃: 0.10%
      95% mean confidence interval for cycles value: -75.65 32.67
      95% mean confidence interval for cycles %-change: -0.49% -0.06%
      Inconclusive result (value mean confidence interval includes 0).
      
      total spills in shared programs: 12159 -> 12161 (0.02%)
      spills in affected programs: 13 -> 15 (15.38%)
      helped: 0
      HURT: 1
      
      total fills in shared programs: 25207 -> 25208 (<.01%)
      fills in affected programs: 25 -> 26 (4.00%)
      helped: 0
      HURT: 1
      
      Ivy Bridge
      total instructions in shared programs: 12082019 -> 12082013 (<.01%)
      instructions in affected programs: 1033 -> 1027 (-0.58%)
      helped: 6
      HURT: 0
      helped stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1
      helped stats (rel) min: 0.41% max: 0.83% x̄: 0.61% x̃: 0.59%
      95% mean confidence interval for instructions value: -1.00 -1.00
      95% mean confidence interval for instructions %-change: -0.78% -0.45%
      Instructions are helped.
      
      total cycles in shared programs: 179849270 -> 179849157 (<.01%)
      cycles in affected programs: 4735 -> 4622 (-2.39%)
      helped: 4
      HURT: 0
      helped stats (abs) min: 2 max: 74 x̄: 28.25 x̃: 18
      helped stats (rel) min: 0.13% max: 6.53% x̄: 2.85% x̃: 2.36%
      95% mean confidence interval for cycles value: -82.73 26.23
      95% mean confidence interval for cycles %-change: -7.98% 2.28%
      Inconclusive result (value mean confidence interval includes 0).
      
      Sandy Bridge
      total instructions in shared programs: 10882750 -> 10882748 (<.01%)
      instructions in affected programs: 266 -> 264 (-0.75%)
      helped: 2
      HURT: 0
      
      Iron Lake
      total cycles in shared programs: 188609440 -> 188609448 (<.01%)
      cycles in affected programs: 4320 -> 4328 (0.19%)
      helped: 0
      HURT: 2
      
      GM45
      total cycles in shared programs: 129016868 -> 129016872 (<.01%)
      cycles in affected programs: 2302 -> 2306 (0.17%)
      helped: 0
      HURT: 1
      
      Reviewed-by: default avatarMatt Turner <mattst88@gmail.com>
      (cherry picked from commit d2a9ba03)
      [Juan: resolve trivial conflicts]
      Signed-off-by: default avatarJuan A. Suarez Romero <jasuarez@igalia.com>
      
      Conflicts:
      	src/compiler/nir/nir_opt_algebraic.py
      06bf5428
    • Faith Ekstrand's avatar
      intel/fs/ra: Stop adding RA interference to too many SENDS nodes · 75ea0eee
      Faith Ekstrand authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      We only have one node per VGRF so this was adding way too much
      interference.  No idea how we didn't catch this before.
      
      Shader-db results on Kaby Lake:
      
          total instructions in shared programs: 15311100 -> 15311100 (0.00%)
          instructions in affected programs: 0 -> 0
          helped: 0
          HURT: 0
      
          total cycles in shared programs: 355468050 -> 355543197 (0.02%)
          cycles in affected programs: 2472492 -> 2547639 (3.04%)
          helped: 17
          HURT: 20
      
      Fixes: 014edff0 "intel/fs: Add interference between SENDS sources"
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit 096ad8a8)
      75ea0eee
    • Faith Ekstrand's avatar
      intel/fs/ra: Only add dest interference to sources that exist · 8cf49e16
      Faith Ekstrand authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      Fixes: 83dedb63 "i965: Add src/dst interference for certain"
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      (cherry picked from commit 88cac122)
      8cf49e16
  5. May 14, 2019
  6. May 13, 2019
  7. May 10, 2019
    • Leo Liu's avatar
      winsys/amdgpu: add VCN JPEG to no user fence group · 349153f0
      Leo Liu authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      There is no user fence for JPEG, the bug triggering
      kernel WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT)
      
      Signed-off-by: default avatarLeo Liu <leo.liu@amd.com>
      Acked-by: default avatarChristian König <christian.koenig@amd.com>
      Reviewed-by: default avatarBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
      Cc: mesa-stable@lists.freedesktop.org
      (cherry picked from commit ceba9ff2)
      349153f0
    • Tomeu Vizoso's avatar
      panfrost: Only take the fast paths on buffers aligned to block size · f8ec40e2
      Tomeu Vizoso authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      As the functions operate on 16-byte blocks.
      
      Fixes this Valgrind error:
      
      Invalid read of size 4
         at 0x5857568: swizzle_bpp1_align16 (pan_swizzle.c:85)
         by 0x585780F: panfrost_texture_swizzle (pan_swizzle.c:171)
         by 0x584F587: panfrost_tile_texture (pan_resource.c:489)
         by 0x584F641: panfrost_transfer_unmap (pan_resource.c:525)
         by 0x587718D: u_transfer_helper_transfer_unmap (u_transfer_helper.c:516)
         by 0x5875D85: pipe_transfer_unmap (u_inlines.h:515)
         by 0x5875F13: u_default_texture_subdata (u_transfer.c:80)
         by 0x53FFDC3: st_TexSubImage (st_cb_texture.c:1480)
         by 0x54005BB: st_TexImage (st_cb_texture.c:1709)
         by 0x5391353: teximage (teximage.c:3105)
         by 0x5391353: teximage_err (teximage.c:3132)
         by 0x5391B9B: _mesa_TexImage2D (teximage.c:3170)
         by 0x5097A77: shared_dispatch_stub_183 (glapi_mapi_tmp.h:18833)
       Address 0x1e94f1e8 is 0 bytes after a block of size 16 alloc'd
         at 0x483F5C8: malloc (vg_replace_malloc.c:299)
         by 0x584F47D: panfrost_transfer_map (pan_resource.c:467)
         by 0x587694D: u_transfer_helper_transfer_map (u_transfer_helper.c:243)
         by 0x5875EA7: u_default_texture_subdata (u_transfer.c:59)
         by 0x53FFDC3: st_TexSubImage (st_cb_texture.c:1480)
         by 0x54005BB: st_TexImage (st_cb_texture.c:1709)
         by 0x5391353: teximage (teximage.c:3105)
         by 0x5391353: teximage_err (teximage.c:3132)
         by 0x5391B9B: _mesa_TexImage2D (teximage.c:3170)
         by 0x5097A77: shared_dispatch_stub_183 (glapi_mapi_tmp.h:18833)
         by 0x4DA8AB: glu::CallLogWrapper::glTexImage2D(unsigned int, int, int, int, int, int, unsigned int, unsigned int, void const*) (in /home/tomeu/deqp-build/modules/gles2/deqp-gles2)
      
      Signed-off-by: default avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Reviewed-by: default avatarEmil Velikov <emil.velikov@collabora.com>
      Cc: 19.1 <mesa-stable@lists.freedesktop.org>
      (cherry picked from commit c3538ab5)
      f8ec40e2
    • Tomeu Vizoso's avatar
      panfrost: Fix two uninitialized accesses in compiler · 5e758033
      Tomeu Vizoso authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      Valgrind was complaining of those.
      
      NIR_PASS only sets progress to TRUE if there was progress.
      
      nir_const_load_to_arr() only sets as many constants as components has
      the instruction.
      
      This was causing some dEQP tests to flip-flop, such as:
      
      dEQP-GLES2.functional.fragment_ops.blend.equation_src_func_dst_func.add_src_color_constant_color
      
      Signed-off-by: default avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Reviewed-by: default avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
      Fixes: 14531d67 ("nir: make nir_const_value scalar")
      (cherry picked from commit 554975ba)
      5e758033
    • Rob Clark's avatar
      freedreno/ir3: fix rasterflat/glxgears · f1ab2220
      Rob Clark authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      Ofc legacy gl features that are broken don't trigger fails in deqp.  I
      should remember to test glxgears more often.
      
      Fixes: 7ff6705b freedreno/ir3: convert to "new style" frag inputs
      Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
      (cherry picked from commit 9faf218b)
      f1ab2220
    • Lionel Landwerlin's avatar
      anv: Use corresponding type from the vector allocation · e0c082d6
      Lionel Landwerlin authored and Juan A. Suárez's avatar Juan A. Suárez committed
      
      We didn't notice this issue much because the 2 struct share a similar
      layout, expect for the additional fields...
      
      We run into that issue in Anv :
      
      ==15236== Invalid write of size 8
      ==15236==    at 0x8CF3939C: anv_state_table_expand_range (anv_allocator.c:211)
      ==15236==    by 0x8CF394D5: anv_state_table_grow (anv_allocator.c:264)
      ==15236==    by 0x8CF3967E: anv_state_table_add (anv_allocator.c:312)
      ==15236==    by 0x8CF3B13C: anv_state_pool_alloc_no_vg (anv_allocator.c:1167)
      ==15236==    by 0x8CF3B2B0: anv_state_pool_alloc (anv_allocator.c:1190)
      ==15236==    by 0x8CF60871: alloc_surface_state (anv_image.c:1122)
      ==15236==    by 0x8CF61FF9: anv_CreateImageView (anv_image.c:1519)
      ==15236==    by 0x8BCBD2ED: vkCreateImageView (trampoline.c:1358)
      ==15236==  Address 0x8994ef10 is 0 bytes after a block of size 128 alloc'd
      ==15236==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==15236==    by 0x8D2578E6: u_vector_init (u_vector.c:47)
      ==15236==    by 0x8CF3929A: anv_state_table_init (anv_allocator.c:168)
      ==15236==    by 0x8CF3A99A: anv_state_pool_init (anv_allocator.c:921)
      ==15236==    by 0x8CF56517: anv_CreateDevice (anv_device.c:1909)
      ==15236==    by 0x8BCB4FBA: terminator_CreateDevice (loader.c:6073)
      ==15236==    by 0x8DD2CB3D: ??? (in /home/djdeath/.steam/ubuntu12_64/libVkLayer_steam_fossilize.so)
      ==15236==    by 0x8DF4D241: vkCreateDevice (in /home/djdeath/.steam/ubuntu12_64/steamoverlayvulkanlayer.so)
      ==15236==    by 0x8BCB35C6: loader_create_device_chain (loader.c:5449)
      ==15236==    by 0x8BCBC230: vkCreateDevice (trampoline.c:838)
      
      v2: Rename mmap_cleanups to avoid confusion (Caio)
      
      v3: s/fail_mmap_cleanups/fail_cleanups/ (Caio)
      
      Signed-off-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110648
      
      
      Cc: <mesa-stable@lists.freedesktop.org>
      Reviewed-by: default avatarCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
      (cherry picked from commit f2f6ac1c)
      e0c082d6
  8. May 09, 2019
Loading