1. 21 May, 2019 15 commits
  2. 17 May, 2019 1 commit
  3. 16 May, 2019 5 commits
  4. 15 May, 2019 3 commits
    • Ian Romanick's avatar
      Revert "nir: add late opt to turn inot/b2f combos back to bcsel" · 06bf5428
      Ian Romanick authored
      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: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
      (cherry picked from commit d2a9ba03)
      [Juan: resolve trivial conflicts]
      Signed-off-by: Juan Suárez Romero's avatarJuan A. Suarez Romero <jasuarez@igalia.com>
      
      Conflicts:
      	src/compiler/nir/nir_opt_algebraic.py
      06bf5428
    • Jason Ekstrand's avatar
      intel/fs/ra: Stop adding RA interference to too many SENDS nodes · 75ea0eee
      Jason Ekstrand authored
      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
    • Jason Ekstrand's avatar
      intel/fs/ra: Only add dest interference to sources that exist · 8cf49e16
      Jason Ekstrand authored
      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. 14 May, 2019 2 commits
  6. 13 May, 2019 8 commits
  7. 10 May, 2019 5 commits
    • Leo Liu's avatar
      winsys/amdgpu: add VCN JPEG to no user fence group · 349153f0
      Leo Liu authored
      There is no user fence for JPEG, the bug triggering
      kernel WARN_ON(flags & AMDGPU_FENCE_FLAG_64BIT)
      Signed-off-by: Leo Liu's avatarLeo Liu <leo.liu@amd.com>
      Acked-by: Christian König's avatarChristian König <christian.koenig@amd.com>
      Reviewed-by: Bas Nieuwenhuizen's 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
      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: 's avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Reviewed-by: 's 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
      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: 's avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
      Reviewed-by: Alyssa Rosenzweig's 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
      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: 's 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
      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: Lionel Landwerlin's 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: Caio Marcelo de Oliveira Filho's avatarCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
      (cherry picked from commit f2f6ac1c)
      e0c082d6
  8. 09 May, 2019 1 commit