Re: time for amber2 branch?

2024-06-19 Thread Erico Nunes
On Thu, Jun 20, 2024 at 12:02 AM Mike Blumenkrantz
 wrote:
> * lima

We do maintain this, with reliable coverage in CI, and I haven't seen
feedback of it particularly causing big pain for tree wide changes
before.
So I'd rather keep it in the main tree.
At least for this round and as long as we keep other ARM GLES2 class
of drivers in the main tree as well for which we need to keep pretty
much the same set of common code.

Erico


Re: time for amber2 branch?

2024-06-19 Thread Marek Olšák
i915?

tegra isn't really a driver. It just calls the gallium interface like
trace, but without the tracing.

crocus is in the same boat as r600.

Marek

On Wed, Jun 19, 2024, 10:34 Mike Blumenkrantz <
michael.blumenkra...@gmail.com> wrote:

> In looking at the gallium tree, I'm wondering if it isn't time for a
> second amber branch to prune some of the drivers that cause pain when doing
> big tree updates:
>
> * nv30
> * r300
> * r600
> * lima
> * virgl
> * tegra
> * ???
>
> There's nothing stopping these drivers from continuing to develop in an
> amber branch, but the risk of them being broken by other tree refactorings
> is lowered, and then we are able to delete lots of legacy code in the main
> branch.
>
> Thoughts?
>
>
> Mike
>


Re: time for amber2 branch?

2024-06-19 Thread Gert Wollny


On Wed, 2024-06-19 at 10:33 -0400, Mike Blumenkrantz wrote:
> In looking at the gallium tree, I'm wondering if it isn't time for a
> second amber branch to prune some of the drivers that cause pain when
> doing big tree updates:

virgl is actively maintained and covered by the CI. Apart from the
burden of NTT and, hence TGSI code, I don't think that it carries that
much baggage the we shouldn't be able to address problems that may
arise from tree-wide changes.

As for r600, I'm in principle not against moving it to an amber2
branch, because I got burned by changes gallium one time to many to
really defend keeping it in the main tree.

I see that Triang3l wouldn't be too happy about it, because this would
mean that Terakan would either have to target this amber2 branch,
improvements to the common Vulkan code would not be picked up and would
need back-porting, or we would have to duplicate the maintenance of the
r600 shader compiler code in amber2 and main.

rusticl would be a similar thing, but ATM I don't have anything to say
about how this may go forward for r600 anyway. 

If someone were to add a pre-merge CI for r600 hardware then I would be
strongly in favor of keeping r600 in main - possibly dropping support
for pre-Evergreen cards there and keeping that only in amber2, but
without a CI I only see more pain coming up if we keep r600 in main.

I don't have an opinion regarding the other drivers. 

Best, 
Gert 



Re: time for amber2 branch?

2024-06-19 Thread Karol Herbst
On Wed, Jun 19, 2024 at 4:34 PM Mike Blumenkrantz
 wrote:
>
> In looking at the gallium tree, I'm wondering if it isn't time for a second 
> amber branch to prune some of the drivers that cause pain when doing big tree 
> updates:
>
> * nv30

ack for nv30

> * r300
> * r600
> * lima
> * virgl
> * tegra

Personally I still think that removing the tegra driver completely is
probably the best approach. I personally don't support it anymore and
I doubt anybody else actually does, given it's broken on quite a few
setups. So might as well just amber2 it for those who care enough.

> * ???
>

> There's nothing stopping these drivers from continuing to develop in an amber 
> branch, but the risk of them being broken by other tree refactorings is 
> lowered, and then we are able to delete lots of legacy code in the main 
> branch.
>
> Thoughts?
>
>
> Mike



Re: time for amber2 branch?

2024-06-19 Thread Karol Herbst
On Wed, Jun 19, 2024 at 5:32 PM Thomas Debesse  wrote:
>
> Le mer. 19 juin 2024 à 16:33, Mike Blumenkrantz
>  a écrit :
> > In looking at the gallium tree, I'm wondering if it isn't time for a second 
> > amber branch to prune some of the drivers that cause pain when doing big 
> > tree updates
>
> It's probably fine for nv30 and r300 that are very unlikely to receive
> new features being implemented anyway (if I'm right all they do is
> OpenGL 2.1).
>
> For r600 it may be more annoying to split the tree for someone wanting
> to continue the rusticl implementation in order to drop clover, as
> this would split rusticl as well.
> Maybe the work-in-progress “Terakan” vulkan driver for r600 cards
> won't be affected because vulkan is not a gallium thing.
>

yeah not sure. r600 is in an odd place where supporting OpenCL at all
is quite a painful process. I think it's fair to continue using clover
for that one unless somebody really cares and really makes it all work
and fixes edge cases.

> I don't use any of the others so I have no thought about them.
>
> --
> Thomas “illwieckz” Debesse
>



Re: time for amber2 branch?

2024-06-19 Thread Mike Blumenkrantz
On Wed, Jun 19, 2024 at 1:22 PM Triang3l  wrote:

> The shader compiler in R600g is actively developed (and I think OpenGL 4.6
> support is among the main goals), I don't see why it needs to be moved to a
> low-priority branch or to stop getting new NIR infrastructure updates
> with the
> current amount of maintenance it receives.
>

Nothing stopping those developments from continuing in an amber branch, and
the odds of any NIR changes being required for hardware this old are slim.


>
> On 19/06/2024 18:26, Thomas Debesse wrote:
>  > Maybe the work-in-progress “Terakan” vulkan driver for r600 cards
>  > won't be affected because vulkan is not a gallium thing.
>
> Terakan uses R600g files heavily, specifically the register structures,
> as well
> as the shader compiler (with additional intrinsics implemented and plans
> to move
> some SFN parts, primarily those interacting with bindings, such as storage
> images/buffers, to NIR lowerings in R600g too for more straightforward code
> sharing) and other shader-related parts.
>
> Moreover, there likely will be backporting of some parts of Terakan to
> R600g
> (architectural-scale bugfixes primarily) in the somewhat distant future
> (when
> they're fully implemented and well-tested in Terakan), specifically:
>   • GL_ARB_shader_draw_parameters.
>   • New vertex fetch subroutine generation, correctly dividing by the
> instance
> divisor, and co-issuing instructions where possible.
>   • 2048 vertex stride fetch subroutine workaround on pre-Cayman GPUs
> (which have
> bits only for up to 2047).
>   • Color attachment index compaction in fragment shaders to allow gaps
> to be
> filled with storage resources.
>   • Handling different alignment of pitch calculated by texture fetching
> hardware
> for 1D-thin-tiled mips of depth and stencil surface aspects that
> can't be
> respected on the depth/stencil attachment side where the pitch
> register is
> shared (likely will be using an intermediate overaligned surface).
>   • True indirect compute dispatch via a different packet sequence on the
> existing kernel versions, and later, when the involved command
> parsing is
> fixed in the kernel, using actual INDIRECT_DISPATCH type-3 packets.
>
> — Triang3l
>

Terakan is not a Mesa driver, and Mesa has no obligation to cater to
out-of-tree projects which use its internal API. For everything else, see
above.


Mike


Re: time for amber2 branch?

2024-06-19 Thread Triang3l

The shader compiler in R600g is actively developed (and I think OpenGL 4.6
support is among the main goals), I don't see why it needs to be moved to a
low-priority branch or to stop getting new NIR infrastructure updates 
with the

current amount of maintenance it receives.

On 19/06/2024 18:26, Thomas Debesse wrote:
> Maybe the work-in-progress “Terakan” vulkan driver for r600 cards
> won't be affected because vulkan is not a gallium thing.

Terakan uses R600g files heavily, specifically the register structures, 
as well
as the shader compiler (with additional intrinsics implemented and plans 
to move

some SFN parts, primarily those interacting with bindings, such as storage
images/buffers, to NIR lowerings in R600g too for more straightforward code
sharing) and other shader-related parts.

Moreover, there likely will be backporting of some parts of Terakan to R600g
(architectural-scale bugfixes primarily) in the somewhat distant future 
(when

they're fully implemented and well-tested in Terakan), specifically:
 • GL_ARB_shader_draw_parameters.
 • New vertex fetch subroutine generation, correctly dividing by the 
instance

   divisor, and co-issuing instructions where possible.
 • 2048 vertex stride fetch subroutine workaround on pre-Cayman GPUs 
(which have

   bits only for up to 2047).
 • Color attachment index compaction in fragment shaders to allow gaps 
to be

   filled with storage resources.
 • Handling different alignment of pitch calculated by texture fetching 
hardware
   for 1D-thin-tiled mips of depth and stencil surface aspects that 
can't be
   respected on the depth/stencil attachment side where the pitch 
register is

   shared (likely will be using an intermediate overaligned surface).
 • True indirect compute dispatch via a different packet sequence on the
   existing kernel versions, and later, when the involved command 
parsing is

   fixed in the kernel, using actual INDIRECT_DISPATCH type-3 packets.

— Triang3l


[ANNOUNCE] mesa 24.1.2

2024-06-19 Thread Eric Engestrom
Hello everyone,

The bugfix release 24.1.2 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 July 3rd.

Cheers,
  Eric

---

Amol Surati (1):
  nine: avoid using post-compacted indices with state expecting 
pre-compacted ones

Boris Brezillon (2):
  pan/bi: Fix dynamic indexing of push constants
  panvk: Fix Cube/2DArray/3D img -> buf copies

Caio Oliveira (1):
  intel/brw: Fix typo in DPAS emission code

Daniel Schürmann (1):
  aco/assembler: fix MTBUF opcode encoding on GFX11

Danylo Piliaiev (1):
  freedreno: Make fd_pps_driver.h usable without including other FD sources

Dave Airlie (4):
  nvk: Only enable WSI modifiers if the extension is supported.
  draw/texture: handle mip_offset[0] being != 0 for layered textures.
  nouveau/nvc0: increase overallocation on shader bo to 2K
  radv/video: fix layered decode h264/5 tests.

David Heidelberg (1):
  rusticl: add -cl-std only when it's not defined

David Rosca (2):
  radeonsi: Fix si_compute_clear_render_target with 422 subsampled formats
  radv/video: Add missing VCN 3.0.2 to decoder init switch

Eric Engestrom (17):
  docs: add sha256sum for 24.1.1
  .pick_status.json: Update to 50e5067be77bf8f34de6616e8edca2af2cf8d310
  v3dv: add missing bounds check in VK_EXT__formats
  .pick_status.json: Update to cc82f7f8ace50f68b06c53ad347e36d411ae9dab
  radv/ci: fix manual rules
  .pick_status.json: Update to 41dd1c52b1d091b36f8931c4a57d3b6dc361bc84
  v3d/drm-shim: emulate a rpi4 instead of a rpi3
  .pick_status.json: Update to a80a1c983844bca646d5f07d65c695a84f964bfe
  egl: fix teardown when using xcb
  .pick_status.json: Mark f017beb29ce6e3469da33caff2c9a493799faca6 as 
denominated
  .pick_status.json: Update to 7dcba7e873c6b753930e2fdc8c714bb4da1a22dd
  glx: fix build -D glx-direct=false
  .pick_status.json: Update to 10d21d410068f2ca32fe898f6b4b690993d90daa
  .pick_status.json: Mark a9fff07c2e2b1e52b00b30dc16781209f7761c04 as 
denominated
  .pick_status.json: Update to 887f0e0af664b11c081b4140931e7213240c7b41
  docs: add release notes for 24.1.2
  VERSION: bump for 24.1.2

Erik Faye-Lund (3):
  mesa/main: remove stale prototype
  mesa/main: do not allow RGBA_INTEGER et al in gles3
  panvk: move macro-definition to header

Faith Ekstrand (5):
  nak: Only convert the written portion of the buffer in NirInstrPrinter
  nak: BMov is always variable-latency
  nak: Only copy-prop neg into iadd2/3 if no carry is written
  nak/legalize: Fold immediate sources before instructions
  nouveau: Fix a race in nouveau_ws_bo_destroy()

Friedrich Vock (2):
  radv/rt: Fix memory leak when compiling libraries
  aco/spill: Don't spill phis with all-undef operands

Georg Lehmann (1):
  radeonsi: set COMPUTE_STATIC_THREAD_MGMT_SE2-3 correctly on gfx10-11

Iago Toral Quiroga (1):
  broadcom/compiler: initialize payload_conflict for all initial nodes

Iván Briano (1):
  vulkan/runtime: pColorAttachmentInputIndices is allowed to be NULL

Job Noorman (14):
  ir3: fix crash in try_evict_regs with src reg
  ir3: fix handling of early clobbers in calc_min_limit_pressure
  ir3: set offset on splits created while spilling
  ir3: correctly set wrmask for reload.macro
  ir3: don't remove intervals for non-killed tex prefetch sources
  ir3: don't remove collects early while spilling
  ir3: expose instruction indexing helper for merge sets
  ir3: make indexing instructions optional in ir3_merge_regs
  ir3: index instructions before fixing up merge sets after spilling
  ir3: move liveness recalculation inside ir3_ra_shared
  ir3: restore interval_offset after liveness recalculation in shared RA
  ir3: add ir3_cursor/ir3_builder helpers
  ir3: refactor ir3_spill.c to use the ir3_cursor/ir3_builder API
  ir3: only add live-in phis for top-level intervals while spilling

Karol Herbst (2):
  rusticl/spirv: do not pass a NULL pointer to slice::from_raw_parts
  rusticl/memory: copies might overlap for host ptrs

Konstantin Seurer (2):
  ac/llvm: Fix DENORM_FLUSH_TO_ZERO with exact instructions
  ac/llvm: Enable helper invocations for vote_all/any

Lionel Landwerlin (4):
  anv: fix pipeline flag fields
  anv: limit aux invalidations to primary command buffers
  anv: ensure completion of surface state copies before secondaries
  intel/fs: fix lower_simd_width for MOV_INDIRECT

Lucas Fryzek (1):
  llvmpipe: query winsys support for dmabuf mapping

Marek Olšák (1):
  Revert "radeonsi: fix initialization of occlusion query buffers for 
disabled RBs"

Mary Guillemard (2):
  panvk: Add missing null check in DestroyCommandPool
  panvk: Check for maxBufferSize in panvk_CreateBuffer

Mike Blumenkrantz (2):
  lavapi

Re: time for amber2 branch?

2024-06-19 Thread Thomas Debesse
Le mer. 19 juin 2024 à 16:33, Mike Blumenkrantz
 a écrit :
> In looking at the gallium tree, I'm wondering if it isn't time for a second 
> amber branch to prune some of the drivers that cause pain when doing big tree 
> updates

It's probably fine for nv30 and r300 that are very unlikely to receive
new features being implemented anyway (if I'm right all they do is
OpenGL 2.1).

For r600 it may be more annoying to split the tree for someone wanting
to continue the rusticl implementation in order to drop clover, as
this would split rusticl as well.
Maybe the work-in-progress “Terakan” vulkan driver for r600 cards
won't be affected because vulkan is not a gallium thing.

I don't use any of the others so I have no thought about them.

-- 
Thomas “illwieckz” Debesse


time for amber2 branch?

2024-06-19 Thread Mike Blumenkrantz
In looking at the gallium tree, I'm wondering if it isn't time for a second
amber branch to prune some of the drivers that cause pain when doing big
tree updates:

* nv30
* r300
* r600
* lima
* virgl
* tegra
* ???

There's nothing stopping these drivers from continuing to develop in an
amber branch, but the risk of them being broken by other tree refactorings
is lowered, and then we are able to delete lots of legacy code in the main
branch.

Thoughts?


Mike


Re: SIGBUS with gbm_bo_map() and Intel ARC

2024-06-19 Thread Pierre Ossman

On 19/06/2024 11:36, Pierre Ossman wrote:

Hi,

More gbm_bo_map() issues from me that could use some expert insight.

When I mix GPU access in my GBM adventures, one combination results in a 
SIGBUS when reading the memory given from gbm_bo_map(). I'm unsure if 
this is a bug in the driver, or in my access?




Happens with a discrete Nvidia GPU (with proprietary driver) as well, so 
unlikely a bug in a specific driver. :/


Regards
--
Pierre Ossman   Software Development
Cendio AB   https://cendio.com
Teknikringen 8  https://twitter.com/ThinLinc
583 30 Linköpinghttps://facebook.com/ThinLinc
Phone: +46-13-214600

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?



SIGBUS with gbm_bo_map() and Intel ARC

2024-06-19 Thread Pierre Ossman

Hi,

More gbm_bo_map() issues from me that could use some expert insight.

When I mix GPU access in my GBM adventures, one combination results in a 
SIGBUS when reading the memory given from gbm_bo_map(). I'm unsure if 
this is a bug in the driver, or in my access?


What I do is:

1. X server does gbm_create_device() on the integrated Radeon GPU
2. I start vkcube, pointing it at the discrete Intel ARC GPU
3. I assume Vulkan does DRI3PixmapFromBuffer, with a buffer from the 
Intel GPU

4. X server does:
gbm_bo_import(, GBM_BO_IMPORT_FD, ,
  GBM_BO_USE_RENDERING | GBM_BO_USE_LINEAR)
5. Vulkan does PresentPixmap
6. X server does gbm_bo_map() and then tries to read the pixels
7. SIGBUS!

Oddly enough, it works fine if I mix the GPUs the other way around.

Is there something special I need to pay attention to when doing cross 
GPU stuff? I would have assumed that gbm_bo_import() would have 
complained if this was an incompatible setup.


Regards
--
Pierre Ossman   Software Development
Cendio AB   https://cendio.com
Teknikringen 8  https://twitter.com/ThinLinc
583 30 Linköpinghttps://facebook.com/ThinLinc
Phone: +46-13-214600

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?