Re: Downsides of force_gl_names_reuse preventing adoption as default

2024-10-03 Thread Marek Olšák
The only error is that virgl fails with:

ERROR - dEQP error: [ 135.132231] [drm:virtio_gpu_dequeue_ctrl_func]
*ERROR* response 0x1200 (command 0x206)

That's the only blocker.

Marek

On Thu, Oct 3, 2024, 14:03 Marek Olšák  wrote:

>
> https://gitlab.freedesktop.org/mareko/mesa/-/commit/cdde6fcb7947514753c1a3feaee71c2212cffea6
>
> If I remember correctly, it failed some tests.
>
> Marek
>
> On Thu, Oct 3, 2024 at 3:53 AM Rocco Tormenta  wrote:
> >
> > Hi there, apologies if this has already been asked, I couldn't find
> > relevant information on the matter.
> >
> > Recently I've come across some faulty applications (notably, old
> > Minecraft versions) that were calling `glBind*` functions with IDs of
> > -1, resulting in very slow performance due to the hash table defaulting
> > to full lookups.
> >
> > Skimming through the source code I've noticed that a while ago, name
> > reusing/sparse names were implemented using idalloc (see MR
> > mesa/mesa!6600), locked behind a config flag. Indeed, setting the
> > force_gl_names_reuse=true environment variable fixes the performance
> issue.
> >
> > The comment on the MR that added this feature mentions that this
> > behavior is in line with that of major proprietary drivers, so I was
> > wondering why this was added as an optional flag, instead of making it
> > the default behavior. I did find some potential reasons that could have
> > blocked the transition back when it was merged, though. For example,
> > more recently a commit was made (MR mesa/mesa!30106) lowering virtual
> > memory usage of the idalloc approach from 512MB to 512KB in the
> > worst-case scenario, so perhaps the higher memory footpring might have
> > discouraged adoption at the beginning. With such low requirements now,
> > however, perhaps it's worth reconsidering the default choice to benefit
> > from higher robustness against misuse of the API.
> >
> > Is there anything I missed?
> >
> > Rocco
> >
>


[ANNOUNCE] mesa 24.2.4

2024-10-03 Thread Eric Engestrom
Hello everyone,

The bugfix release 24.2.4 is now available.

If you find any issues, please report them here:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/new

The next bugfix release is due in two weeks, on October 16th.

Cheers,
  Eric

---

Aleksi Sapon (2):
  llvmpipe: fix quad group helper invocation masking
  llvmpipe: correctly implement output variables loads

Benjamin Otte (1):
  nvk: Don't emit critical messages during init

Boris Brezillon (1):
  pan/va: Fix nir_op_pack_uvec4_to_uint

Caio Oliveira (1):
  intel/brw: Skip per-primitive inputs when computing flat input mask

Colin Marc (2):
  vulkan/video: set HEVC nuh_temporal_id_plus1 and nal_unit_type correctly
  radv/video: set TemporalId correctly

Corentin Noël (1):
  virgl: Avoid a race condition on handle removal

Daniel Svensson (1):
  zink: add spirv_info_h dep to libzink.

Dave Airlie (3):
  radv/video/enc: report pictureAccessGranularity of CTB size.
  radv/video: add encode field for vcn4
  radv/video: handle missing h265 feedback struct.

David Heidelberg (2):
  freedreno/ir3: mad.x24 is not safe to lower
  freedreno/ir3: Do not allow 16-bit mad.x24

David Rosca (2):
  radeonsi/vcn: Don't reuse context with multiple VCN instances
  frontends/va: Fix AV1 packed header parsing

Eric Engestrom (12):
  docs: add sha sum for 24.2.3
  .pick_status.json: Update to 00c94e0cd4d46b093c20b2ec2be35ab3de3cb8a6
  .pick_status.json: Mark 4b51a2c9daa92f39a2045ca48f707eb3cdb79018 as 
denominated
  .pick_status.json: Update to bf41cf2eeffca5ec102e67f9c5e9f2c65deae43f
  .pick_status.json: Update to f6e7520b139f45971cdfa027aee29405c13c726d
  .pick_status.json: Update to a74ebffc6a6193445231563cdaa4494933b6c281
  .pick_status.json: Update to 85bc72ad263e0c6620fe8c74d29e68411971013b
  .pick_status.json: Update to 61f3294786d52f3a95f0fa314eb21d90a0485624
  .pick_status.json: Update to 023277173ce1d84c448626ded21e4d2b66363b41
  egl: fix dri2_from_names() call
  docs: add release notes for 24.2.4
  VERSION: bump for 24.2.4

Erik Faye-Lund (3):
  panfrost: unify compressed formats
  panfrost: store texfeat_bit in panfrost_format
  panfrost: check fmt.bitfeat_bit for compressed-support

Faith Ekstrand (1):
  nvk: Handle aspects in D32_S8_UINT copies

GKraats (2):
  i915g: fix texture3d npot mipmaps
  X11: fix crash of gnome-shell if mesa is compiled with legacy-x11=dri2

Gert Wollny (2):
  nir/opt_algebraic: Allow two-step lowering of ftrunc@64 to use ffract@64
  Revert: r600/sfn: call nir_lower_doubles explicitely"

Iván Briano (4):
  anv: free shaders on rt pipeline compile error
  anv: skip rt pipeline compile if we found all shaders
  vulkan: use standard sample locations if there's no 
VkPipelineSampleLocationsStateCreateInfoEXT
  anv: allocate sparse descriptor buffers from the correct heap

José Roberto de Souza (5):
  anv: Fix context id or exec queue used to open perf stream
  anv: Add warning about mismatch between query queues
  anv: Make sure all previous vm binds are done before execute perf query 
pool
  anv: Check if vkCreateQueryPool() is being created in a supported queue
  anv: Fix condition to clear query pool with blorp

Kenneth Graunke (1):
  intel/brw: Don't include sync.nop in INTEL_DEBUG instruction counts

Konstantin Seurer (4):
  radv: Initialize sqtt state before meta state
  lavapipe: Fix report_ray_intersection affecting terminated rays
  lavapipe: Do not return in report_ray_intersection
  radv: Fix report_ray_intersection affecting terminated rays

Lionel Landwerlin (12):
  brw: fix virtual register splitting to not go below physical register size
  clc: find opencl headers from the installed llvm/clang location
  anv: fix missing tracking for alpha-to-coverage runtime changes
  anv: Only flush render target cache when detecting RT changes
  iris: ensure null render target for specific cases
  brw: move null_rt control up a layer
  brw: disable null_rt only if color output does not affect other outputs
  anv: add missing pipeline instance multiplier
  zink: avoid host transfer usage with sparse
  anv: limit 22018402687 to impacted platforms
  anv: consolidate pre/post draw workaround in helpers
  anv: optimize WA 16011107343/22018402687

Lucas Fryzek (2):
  drisw: Copy entire buffer ignoring damage regions
  egl/dri/wl: Move swrast damage region from put to swap

Marek Olšák (1):
  nir/opt_vectorize_io: fix skipped output vectorization if inputs were 
vectorized

Mike Blumenkrantz (4):
  vk/image: fix view creation for planar video aspects
  zink: check HAVE_LIBDRM for xf86drm.h include
  util/vbuf: delete/fix broken incompatible stride calc
  mesa: fix sample count handling for MSRTT

Mohamed Ahmed (1):
  nvk: Block off non-2D DRM format modifier i

Re: Downsides of force_gl_names_reuse preventing adoption as default

2024-10-03 Thread Marek Olšák
https://gitlab.freedesktop.org/mareko/mesa/-/commit/cdde6fcb7947514753c1a3feaee71c2212cffea6

If I remember correctly, it failed some tests.

Marek

On Thu, Oct 3, 2024 at 3:53 AM Rocco Tormenta  wrote:
>
> Hi there, apologies if this has already been asked, I couldn't find
> relevant information on the matter.
>
> Recently I've come across some faulty applications (notably, old
> Minecraft versions) that were calling `glBind*` functions with IDs of
> -1, resulting in very slow performance due to the hash table defaulting
> to full lookups.
>
> Skimming through the source code I've noticed that a while ago, name
> reusing/sparse names were implemented using idalloc (see MR
> mesa/mesa!6600), locked behind a config flag. Indeed, setting the
> force_gl_names_reuse=true environment variable fixes the performance issue.
>
> The comment on the MR that added this feature mentions that this
> behavior is in line with that of major proprietary drivers, so I was
> wondering why this was added as an optional flag, instead of making it
> the default behavior. I did find some potential reasons that could have
> blocked the transition back when it was merged, though. For example,
> more recently a commit was made (MR mesa/mesa!30106) lowering virtual
> memory usage of the idalloc approach from 512MB to 512KB in the
> worst-case scenario, so perhaps the higher memory footpring might have
> discouraged adoption at the beginning. With such low requirements now,
> however, perhaps it's worth reconsidering the default choice to benefit
> from higher robustness against misuse of the API.
>
> Is there anything I missed?
>
> Rocco
>


Downsides of force_gl_names_reuse preventing adoption as default

2024-10-03 Thread Rocco Tormenta

Hi there, apologies if this has already been asked, I couldn't find
relevant information on the matter.

Recently I've come across some faulty applications (notably, old
Minecraft versions) that were calling `glBind*` functions with IDs of
-1, resulting in very slow performance due to the hash table defaulting
to full lookups.

Skimming through the source code I've noticed that a while ago, name
reusing/sparse names were implemented using idalloc (see MR
mesa/mesa!6600), locked behind a config flag. Indeed, setting the
force_gl_names_reuse=true environment variable fixes the performance issue.

The comment on the MR that added this feature mentions that this
behavior is in line with that of major proprietary drivers, so I was
wondering why this was added as an optional flag, instead of making it
the default behavior. I did find some potential reasons that could have
blocked the transition back when it was merged, though. For example,
more recently a commit was made (MR mesa/mesa!30106) lowering virtual
memory usage of the idalloc approach from 512MB to 512KB in the
worst-case scenario, so perhaps the higher memory footpring might have
discouraged adoption at the beginning. With such low requirements now,
however, perhaps it's worth reconsidering the default choice to benefit
from higher robustness against misuse of the API.

Is there anything I missed?

Rocco