mesa issues
https://gitlab.freedesktop.org/mesa/mesa/-/issues
2024-03-27T16:04:46Z
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10905
r300: crash when compiling some GSK shaders
2024-03-27T16:04:46Z
Pavel Ondračka
pavel.ondracka@gmail.com
r300: crash when compiling some GSK shaders
Example affected shader:[138.shader_test](/uploads/dc9456d55ace61584521cbf621c44d84/138.shader_test), crash can be reproduced with radeon drm-shim.
Regression from a782809f81dc32079691b3a280580dbf7b800dba
```
a782809f81dc32079691b3a2805...
Example affected shader:[138.shader_test](/uploads/dc9456d55ace61584521cbf621c44d84/138.shader_test), crash can be reproduced with radeon drm-shim.
Regression from a782809f81dc32079691b3a280580dbf7b800dba
```
a782809f81dc32079691b3a280580dbf7b800dba is the first bad commit
commit a782809f81dc32079691b3a280580dbf7b800dba
Author: Faith Ekstrand <faith.ekstrand@collabora.com>
Date: Mon Mar 18 18:12:41 2024 -0500
nir/builder: Correctly handle decl_reg or undef as the first instruction
These are both handled by inserting them directly at the top of the
nir_function_impl. However, if the cursor is already at the top, it
never gets updated so we end up inserting other stuff after the newly
inserted undef or decl_reg. It's an odd edge case to be sure but I hit
it with my new NIR CF pass for NAK.
Fixes: 1be4c61c957d ("nir/builder: Add a helper for creating undefs")
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28300>
src/compiler/nir/nir_builder.c | 16 ++++++++++++++++
src/compiler/nir/nir_builder.h | 7 +++----
2 files changed, 19 insertions(+), 4 deletions(-)
```
Crash happens late in the backend during `nir_lower_vec_to_regs`:
```
Thread 1 "run" received signal SIGSEGV, Segmentation fault.
nir_instr_prev (instr=0x1126298) at ../src/compiler/glsl/list.h:203
203 return n->prev == NULL;
Missing separate debuginfos, use: dnf debuginfo-install glibc-2.38-16.fc39.x86_64 libX11-xcb-1.8.7-1.fc39.x86_64 libXau-1.0.11-3.fc39.x86_64 libdrm-2.4.120-1.fc39.x86_64 libedit-3.1-48.20230828cvs.fc39.x86_64 libepoxy-1.5.10-4.fc39.x86_64 libffi-3.4.4-4.fc39.x86_64 libgomp-13.2.1-7.fc39.x86_64 libstdc++-13.2.1-7.fc39.x86_64 libwayland-client-1.22.0-2.fc39.x86_64 libwayland-server-1.22.0-2.fc39.x86_64 libxcb-1.13.1-12.fc39.x86_64 libxshmfence-1.3-13.fc39.x86_64 llvm-libs-17.0.6-3.fc39.x86_64 ncurses-libs-6.4-7.20230520.fc39.1.x86_64
(gdb) bt
#0 nir_instr_prev (instr=0x1126298) at ../src/compiler/glsl/list.h:203
#1 reduce_cursor (cursor=...) at ../src/compiler/nir/nir.c:997
#2 0x00007ffff6d05e45 in nir_cursors_equal (a=..., b=...) at ../src/compiler/nir/nir.c:1027
#3 0x00007ffff6d0ac36 in nir_builder_instr_insert_at_top (build=build@entry=0x7fffffffb190, instr=instr@entry=0xffbec8) at ../src/compiler/nir/nir_builder.c:387
#4 0x00007ffff704084f in nir_decl_reg (num_array_elems=0, bit_size=32, num_components=4, b=0x7fffffffb190) at ../src/compiler/nir/nir_builder.h:1834
#5 lower (b=b@entry=0x7fffffffb190, instr=instr@entry=0x1126dd8, data_=data_@entry=0x7fffffffb180) at ../src/compiler/nir/nir_lower_vec_to_regs.c:216
#6 0x00007ffff7041598 in lower (data_=0x7fffffffb180, instr=0x1126dd8, b=0x7fffffffb190) at ../src/compiler/nir/nir_lower_vec_to_regs.c:198
#7 nir_function_instructions_pass (pass=<optimized out>, preserved=3, cb_data=0x7fffffffb180, impl=0xfe1760) at ../src/compiler/nir/nir_builder.h:103
#8 nir_shader_instructions_pass (shader=0xfe1760, pass=<optimized out>, preserved=3, cb_data=0x7fffffffb180) at ../src/compiler/nir/nir_builder.h:135
#9 nir_lower_vec_to_regs (shader=shader@entry=0x4785c0, cb=cb@entry=0x0, _data=_data@entry=0x0) at ../src/compiler/nir/nir_lower_vec_to_regs.c:259
#10 0x00007ffff6ffb50b in nir_to_rc_options (s=<optimized out>, screen=0x475bb0, options=0x7ffff7501028 <hwtcl_r500_options>) at ../src/gallium/drivers/r300/compiler/nir_to_rc.c:2458
#11 0x00007ffff6fe744e in r300_create_vs_state (pipe=0x728980, shader=0x7fffffffb550) at ../src/gallium/drivers/r300/r300_state.c:1962
#12 0x00007ffff694dec9 in st_create_common_variant (st=st@entry=0x7ef1f0, prog=prog@entry=0xf79e50, key=key@entry=0x7fffffffb830) at ../src/mesa/state_tracker/st_program.c:781
#13 0x00007ffff695109b in st_get_common_variant (st=st@entry=0x7ef1f0, prog=prog@entry=0xf79e50, key=key@entry=0x7fffffffb830) at ../src/mesa/state_tracker/st_program.c:834
#14 0x00007ffff6951601 in st_precompile_shader_variant (prog=0xf79e50, st=0x7ef1f0) at ../src/mesa/state_tracker/st_program.c:1320
#15 st_finalize_program (st=0x7ef1f0, prog=0xf79e50) at ../src/mesa/state_tracker/st_program.c:1421
#16 0x00007ffff6bdc39f in st_link_glsl_to_nir (shader_program=0x4172e0, ctx=0x7ef1f0) at ../src/mesa/state_tracker/st_glsl_to_nir.cpp:753
#17 st_link_shader (ctx=ctx@entry=0x7fffef0a9010, prog=prog@entry=0x4172e0) at ../src/mesa/state_tracker/st_glsl_to_nir.cpp:989
#18 0x00007ffff6b8a29b in link_program (no_error=<optimized out>, shProg=<optimized out>, ctx=<optimized out>) at ../src/mesa/main/shaderapi.c:1336
#19 link_program_error (ctx=0x7fffef0a9010, shProg=0x4172e0) at ../src/mesa/main/shaderapi.c:1445
#20 0x0000000000403e7c in main._omp_fn.0 () at run.c:846
#21 0x00007ffff7e0a286 in GOMP_parallel () from /lib64/libgomp.so.1
#22 0x000000000040298d in main (argc=<optimized out>, argv=<optimized out>) at run.c:672
```
This is how NIR looks just before:
```
nir_convert_from_ssa
shader: MESA_SHADER_VERTEX
source_sha1: {0x29b48658, 0xf5a27373, 0xd6272160, 0x1889e085, 0x00d29486}
name: GLSL1
label: shaders/gnome-shell-42/138.shader_test
internal: false
stage: 0
next_stage: 4
num_ubos: 1
inputs_read: 15-16
outputs_written: 0,32-38
subgroup_size: 1
bit_sizes_float: 0x20
bit_sizes_int: 0x21
first_ubo_is_default_ubo: true
flrp_lowered: true
inputs: 2
outputs: 8
uniforms: 14
decl_var shader_in INTERP_MODE_NONE none vec2 aPosition (VERT_ATTRIB_GENERIC0.xy, 0, 0)
decl_var shader_in INTERP_MODE_NONE none vec4 aColor (VERT_ATTRIB_GENERIC1.xyzw, 1, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 gl_Position (VARYING_SLOT_POS.xyzw, 0, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 final_color (VARYING_SLOT_VAR0.xyzw, 1, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 transformed_outside_outline (VARYING_SLOT_VAR1.xyzw, 2, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 transformed_outside_outline#0 (VARYING_SLOT_VAR2.xyzw, 3, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 transformed_outside_outline#1 (VARYING_SLOT_VAR3.xyzw, 4, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 transformed_inside_outline (VARYING_SLOT_VAR4.xyzw, 5, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 transformed_inside_outline#2 (VARYING_SLOT_VAR5.xyzw, 6, 0)
decl_var shader_out INTERP_MODE_NONE none vec4 transformed_inside_outline#3 (VARYING_SLOT_VAR6.xyzw, 7, 0)
decl_var ubo INTERP_MODE_NONE none vec4[14] uniform_0 (0, 0, 0)
decl_function main (0 params)
impl main {
con block b0: // preds:
32 %0 = load_const (0x00000000)
32x4 %5 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=7, component=0)
32x2 %1 = @load_input (%0 (0x0)) (base=0, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC0 slots=1) // aPosition
32x4 %3 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=4, component=0)
32x4 %6 = ffma %3, %1.xxxx, %5
32x4 %4 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=5, component=0)
32x4 %7 = ffma %4, %1.yyyy, %6
32x4 %9 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=1, component=0)
32x4 %10 = fmul %9, %7.yyyy
32x4 %8 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=0, component=0)
32x4 %11 = ffma %8, %7.xxxx, %10
32x4 %12 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=2, component=0)
32x4 %13 = ffma %12, %7.zzzz, %11
32x4 %14 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=3, component=0)
32x4 %15 = ffma %14, %7.wwww, %13
32x4 %2 = @load_input (%0 (0x0)) (base=1, range=1, component=0, dest_type=float32, io location=VERT_ATTRIB_GENERIC1 slots=1) // aColor
32x3 %16 = fmul %2.xyz, %2.www
32 %18 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=8, component=0)
32x4 %17 = vec4 %16.x, %16.y, %16.z, %2.w
32x4 %19 = fmul %17, %18.xxxx
32x4 %22 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=11, component=0)
32x2 %23 = fadd %22.xy, %22.zw
32x4 %24 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=12, component=0)
32x2 %25 = fadd %22.xy, %24.xy
32x2 %26 = vec2 %23.x, %22.y
32x2 %20 = load_const (0xbf800000, 0x3f800000) = (-1.000000, 1.000000)
32x2 %27 = ffma %24.zw, %20 (-1.000000, 1.000000), %26
32x4 %28 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=13, component=0)
32x2 %29 = fneg %28.xy
32x2 %30 = fabs %28.xy
32x2 %31 = fadd %23, %29
32x2 %32 = vec2 %22.x, %23.y
32x2 %21 = load_const (0x3f800000, 0xbf800000) = (1.000000, -1.000000)
32x2 %33 = ffma %28.zw, %21 (1.000000, -1.000000), %32
32 %34 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=9, component=0)
32x4 %36 = fneg %34.xxxx
32x4 %35 = vec4 %32.x, %26.y, %26.x, %32.y
32x4 %37 = ffma %36, %21 (1.000000, -1.000000).xxyy, %35
32x2 %40 = fabs %24.xy
32 %41 = fneg %40.y
32 %42 = seq %40.x, %41
32x4 %38 = vec4 %25.x, %25.y, %27.x, %27.y
32x4 %107 = fneg %38
32x4 %84 = mov %42.xxxx
32x4 %108 = ffma %107, %84, %38
32x4 %43 = vec4 %37.x, %37.y, %38.z, %38.w
32x4 %109 = ffma %43, %84, %108
32x2 %110 = seq %43.zw, %35.zy
32 %47 = fmul %110.x, %110.y
32x4 %87 = mov %47.xxxx
32x4 %88 = fneg %87
32 %86 = load_const (0x00000000 = 0.000000)
32x4 %89 = slt %88, %86 (0.000000).xxxx
32x4 %104 = fneg %109
32x4 %105 = ffma %104, %89, %109
32x4 %48 = vec4 %109.x, %109.y, %37.z, %43.y
32x4 %106 = ffma %48, %89, %105
32 %50 = fneg %30.y
32 %51 = seq %30.x, %50
32x4 %39 = vec4 %31.x, %31.y, %33.x, %33.y
32x4 %101 = fneg %39
32x4 %91 = mov %51.xxxx
32x4 %102 = ffma %101, %91, %39
32x4 %52 = vec4 %48.z, %37.w, %39.z, %39.w
32x4 %103 = ffma %52, %91, %102
32x2 %111 = seq %52.zw, %35.xw
32 %56 = fmul %111.x, %111.y
32x4 %94 = mov %56.xxxx
32x4 %95 = fneg %94
32 %93 = load_const (0x00000000 = 0.000000)
32x4 %96 = slt %95, %93 (0.000000).xxxx
32x4 %98 = fneg %103
32x4 %99 = ffma %98, %96, %103
32x4 %57 = vec4 %103.x, %103.y, %43.x, %52.y
32x4 %100 = ffma %57, %96, %99
32x2 %59 = @load_ubo_vec4 (%0 (0x0), %0 (0x0)) (access=speculatable, base=10, component=0)
32x4 %60 = fadd %37, %59.xyxy
32x4 %61 = fadd %106, %59.xyxy
32x4 %62 = fadd %100, %59.xyxy
32x4 %63 = ffma %3.xyxy, %60.xxzz, %5.xyxy
32x4 %64 = ffma %4.xyxy, %60.yyww, %63
32x4 %65 = ffma %3.xyxy, %61.xxzz, %5.xyxy
32x4 %66 = ffma %4.xyxy, %61.yyww, %65
32x4 %67 = ffma %3.xyxy, %62.xxzz, %5.xyxy
32x4 %68 = ffma %4.xyxy, %62.yyww, %67
32x4 %112 = ffma %3.xyxy, %35.xxzz, %5.xyxy
32x4 %113 = ffma %4.xyxy, %35.yyww, %112
32x2 %73 = ffma %3.xy, %38.xx, %5.xy
32x2 %74 = ffma %4.xy, %38.yy, %73
32x2 %75 = ffma %3.xy, %43.zz, %5.xy
32x2 %76 = ffma %4.xy, %43.ww, %75
32x2 %77 = ffma %3.xy, %39.xx, %5.xy
32x2 %78 = ffma %4.xy, %39.yy, %77
32x2 %79 = ffma %3.xy, %52.zz, %5.xy
32x2 %80 = ffma %4.xy, %52.ww, %79
@store_output (%15, %0 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_POS slots=1, xfb(), xfb2()) // gl_Position
@store_output (%19, %0 (0x0)) (base=1, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR0 slots=1, xfb(), xfb2()) // final_color
@store_output (%64, %0 (0x0)) (base=2, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR1 slots=1, xfb(), xfb2()) // transformed_outside_outline
@store_output (%66, %0 (0x0)) (base=3, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR2 slots=1, xfb(), xfb2()) // transformed_outside_outline
@store_output (%68, %0 (0x0)) (base=4, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR3 slots=1, xfb(), xfb2()) // transformed_outside_outline
32x4 %81 = vec4 %113.x, %113.y, %113.z, %113.w
@store_output (%81, %0 (0x0)) (base=5, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR4 slots=1, xfb(), xfb2()) // transformed_inside_outline
32x4 %82 = vec4 %74.x, %74.y, %76.x, %76.y
@store_output (%82, %0 (0x0)) (base=6, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR5 slots=1, xfb(), xfb2()) // transformed_inside_outline
32x4 %83 = vec4 %78.x, %78.y, %80.x, %80.y
@store_output (%83, %0 (0x0)) (base=7, range=1, wrmask=xyzw, component=0, src_type=float32, io location=VARYING_SLOT_VAR6 slots=1, xfb(), xfb2()) // transformed_inside_outline
// succs: b1
block b1:
}
```
CC @gfxstrand @alyssa I probably need to fix something in the r300 backend, but I thought I would ask first if you have any ideas as this might be obvious to you what goes wrong, before I start digging.
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10829
[bisected][regression] kitty fails to start due to `glfwWindowHint(GLFW_SRGB_...
2024-03-15T20:35:40Z
Patrik Plihal
[bisected][regression] kitty fails to start due to `glfwWindowHint(GLFW_SRGB_CAPABLE,true)`
since mesa 6a084e2b081882ff027e426e8faddbe1f5497614 the terminal app [kitty](https://github.com/kovidgoyal/kitty) 0.32.2 (or newer)
fails with
```
$ kitty
[075 21:17:57.069937] [glfw error 65544]: EGL: Failed to create window surface:...
since mesa 6a084e2b081882ff027e426e8faddbe1f5497614 the terminal app [kitty](https://github.com/kovidgoyal/kitty) 0.32.2 (or newer)
fails with
```
$ kitty
[075 21:17:57.069937] [glfw error 65544]: EGL: Failed to create window surface: Arguments are inconsistent
[075 21:17:57.075025] Traceback (most recent call last):
File "/usr/bin/../lib/kitty/kitty/main.py", line 561, in main
_main()
File "/usr/bin/../lib/kitty/kitty/main.py", line 553, in _main
run_app(opts, cli_opts, bad_lines)
File "/usr/bin/../lib/kitty/kitty/main.py", line 296, in __call__
_run_app(opts, args, bad_lines)
File "/usr/bin/../lib/kitty/kitty/main.py", line 268, in _run_app
window_id = create_os_window(
^^^^^^^^^^^^^^^^^
ValueError: Failed to create GLFWwindow
```
as mentioned in [kitty/issues/7174](https://github.com/kovidgoyal/kitty/issues/7174)
workarounds: launching with `KITTY_DISABLE_WAYLAND=1 kitty` or
compiling kitty without line 1080 in [kitty/glfw.c](https://github.com/kovidgoyal/kitty/blob/master/kitty/glfw.c#L1080)
```
if (!global_state.is_wayland || !is_nvidia_gpu_driver()) glfwWindowHint(GLFW_SRGB_CAPABLE, true);
```
---
sysinfo:
```
System:
Host: blackbox Kernel: 6.7.9-arch1-1 arch: x86_64 bits: 64 compiler: gcc
v: 13.2.1
Desktop: Sway v: 1.9 lm: greetd Distro: Arch Linux
CPU:
Info: 8-core model: AMD Ryzen 7 5700X bits: 64 type: MT MCP arch: Zen 3+
rev: 2 cache: L1: 512 KiB L2: 4 MiB L3: 32 MiB
Speed (MHz): avg: 1254 high: 4663 min/max: 550/4663 boost: enabled cores:
1: 4663 2: 550 3: 550 4: 550 5: 550 6: 4663 7: 550 8: 550 9: 550 10: 550
11: 550 12: 550 13: 550 14: 3600 15: 550 16: 550 bogomips: 108836
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Graphics:
Device-1: AMD Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
vendor: Tul / PowerColor AXRX driver: amdgpu v: kernel arch: RDNA-1 pcie:
speed: 16 GT/s lanes: 16 ports: active: DP-1 empty: DP-2,DP-3,HDMI-A-1
bus-ID: 0b:00.0 chip-ID: 1002:731f
Display: wayland server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
compositor: Sway v: 1.9 driver: gpu: amdgpu display-ID: 1
Monitor-1: DP-1 model: Dell UP2516D res: 2560x1440 dpi: 118
diag: 634mm (25")
API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
surfaceless: drv: radeonsi wayland: drv: radeonsi x11: drv: radeonsi
inactive: gbm
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd v: N/A glx-v: 1.4
direct-render: yes renderer: AMD Radeon RX 5700 XT (radeonsi navi10 LLVM
17.0.6 DRM 3.57 6.7.9-arch1-1) device-ID: 1002:731f
API: Vulkan v: 1.3.279 surfaces: xcb,xlib,wayland device: 0
type: discrete-gpu driver: mesa radv device-ID: 1002:731f
```
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10812
zink/anv: regression on piglit.spec.arb_shader_texture_image_samples.compiler...
2024-03-14T17:10:37Z
Mark Janes
zink/anv: regression on piglit.spec.arb_shader_texture_image_samples.compiler.fs-image-samples_frag
bisected to 90cf8d14d619967b2da7471d04bb20aa0665a482
```
/tmp/build_root/m64/lib/piglit/bin/glslparsertest /tmp/build_root/m64/lib/piglit/tests/spec/arb_shader_texture_image_samples/compiler/fs-image-samples.frag pass 1.50 GL_ARB_shader...
bisected to 90cf8d14d619967b2da7471d04bb20aa0665a482
```
/tmp/build_root/m64/lib/piglit/bin/glslparsertest /tmp/build_root/m64/lib/piglit/tests/spec/arb_shader_texture_image_samples/compiler/fs-image-samples.frag pass 1.50 GL_ARB_shader_image_load_store GL_ARB_shader_texture_image_samples
Successfully compiled fragment shader /tmp/build_root/m64/lib/piglit/tests/spec/arb_shader_texture_image_samples/compiler/fs-image-samples.frag: (no compiler output)stderrNIR validation failed after strip_tex_ms in ../src/gallium/drivers/zink/zink_compiler.c
6 errors:
shader: MESA_SHADER_FRAGMENT
source_sha1: {0x5a9048a5, 0x88d2f465, 0xdb98a3e7, 0x3809933f, 0x3b3cb794}
name: GLSL2
internal: false
stage: 4
next_stage: 4
num_images: 6
outputs_written: 2
images_used: 0x00000000'0000003f
msaa_images: 0x00000000'0000003f
subgroup_size: 1
uses_resource_info_query: true
bit_sizes_float: 0x20
bit_sizes_int: 0x20
first_ubo_is_default_ubo: true
flrp_lowered: true
io_lowered: true
inputs: 0
outputs: 1
uniforms: 0
decl_var shader_out INTERP_MODE_NONE none vec4 gl_FragColor (FRAG_RESULT_COLOR.xyzw, 0, 0)
decl_var image INTERP_MODE_NONE readonly writeonly none image2D i2D (0, 0, 0)
decl_var image INTERP_MODE_NONE readonly writeonly none image2DArray i2DArray (1, 1, 1)
decl_var image INTERP_MODE_NONE readonly writeonly none iimage2D ii2D (2, 2, 2)
decl_var image INTERP_MODE_NONE readonly writeonly none iimage2DArray ii2DArray (3, 3, 3)
decl_var image INTERP_MODE_NONE readonly writeonly none uimage2D ui2D (4, 4, 4)
decl_var image INTERP_MODE_NONE readonly writeonly none uimage2DArray ui2DArray (5, 5, 5)
decl_var push_const INTERP_MODE_NONE none struct gfx_pushconst
decl_function main (0 params)impl main {
con block b0: // preds:
32 %0 = deref_var &i2D (image image2DMS)
error: instr->type == instr->var->type (../src/compiler/nir/nir_validate.c:317)32 %1 = @image_deref_samples (%0) (image_dim=2D-MSAA, image_array=false, format=none, access=writeonly)
32 %2 = deref_var &i2DArray (image image2DMSArray)
error: instr->type == instr->var->type (../src/compiler/nir/nir_validate.c:317)32 %3 = @image_deref_samples (%2) (image_dim=2D-MSAA, image_array=true, format=none, access=writeonly)
32 %4 = iadd %1, %3
32 %5 = deref_var &ii2D (image iimage2DMS)
error: instr->type == instr->var->type (../src/compiler/nir/nir_validate.c:317)32 %6 = @image_deref_samples (%5) (image_dim=2D-MSAA, image_array=false, format=none, access=writeonly)
32 %7 = iadd %4, %6
32 %8 = deref_var &ii2DArray (image iimage2DMSArray)
error: instr->type == instr->var->type (../src/compiler/nir/nir_validate.c:317)32 %9 = @image_deref_samples (%8) (image_dim=2D-MSAA, image_array=true, format=none, access=writeonly)
32 %10 = iadd %7, %9
32 %11 = deref_var &ui2D (image uimage2DMS)
error: instr->type == instr->var->type (../src/compiler/nir/nir_validate.c:317)32 %12 = @image_deref_samples (%11) (image_dim=2D-MSAA, image_array=false, format=none, access=writeonly)
32 %13 = iadd %10, %12
32 %14 = deref_var &ui2DArray (image uimage2DMSArray)
error: instr->type == instr->var->type (../src/compiler/nir/nir_validate.c:317)32 %15 = @image_deref_samples (%14) (image_dim=2D-MSAA, image_array=true, format=none, access=writeonly)
32 %16 = iadd %13, %15
32 %17 = i2f32 %16
32x4 %19 = mov %17.xxxx
32 %20 = load_const (0x00000000)
@store_output (%19, %20 (0x0)) (base=0, range=1, wrmask=xyzw, component=0, src_type=float32, io location=FRAG_RESULT_COLOR slots=1, xfb(), xfb2()) // gl_FragColor
// succs: b1
block b1:
}
```
Mike Blumenkrantz
Mike Blumenkrantz
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10788
SDL 2 fails in Wayland mode: Failed to create temporary window: unable to cre...
2024-03-15T20:47:25Z
Shmerl
SDL 2 fails in Wayland mode: Failed to create temporary window: unable to create an EGL window surface (call to eglCreateWindowSurface failed, reporting an error of EGL_BAD_MATCH)
When running dosbox-staging with SDL in Wayland mode (`export SDL_VIDEODRIVER='wayland'`), it fails with such error:
```
2024-03-10 14:05:19.619 | SDL: Failed to create window: unable to create an EGL window surface (call to eglCreateWi...
When running dosbox-staging with SDL in Wayland mode (`export SDL_VIDEODRIVER='wayland'`), it fails with such error:
```
2024-03-10 14:05:19.619 | SDL: Failed to create window: unable to create an EGL window surface (call to eglCreateWindowSurface failed, reporting an error of EGL_BAD_MATCH)
2024-03-10 14:05:19.619 | OPENGL: Could not create OpenGL window, using 'texture' output mode
2024-03-10 14:05:19.631 | SDL: Failed to create temporary window: unable to create an EGL window surface (call to eglCreateWindowSurface failed, reporting an error of EGL_BAD_MATCH)
Stack trace:
6 0x4d54de _start + 46
5 0x7fd3c2366785 __libc_start_main + 133
4 0x7fd3c23666ca /lib/x86_64-linux-gnu/libc.so.6(+0x276ca) [0x7fd3c23666ca]
3 0x77b3b0 sdl_main(int, char**) + 5632
2 0x98a1a6 Config::Init() const + 214
1 0x77879e dosbox() [0x77879e]
0 0x776c81 dosbox() [0x776c81]
2024-03-10 14:05:19.631 | ABORT: SDL: Could not initialize video: unable to create an EGL window surface (call to eglCreateWindowSurface failed, reporting an error of EGL_BAD_MATCH)
```
It started happening only recently in Mesa-main:
```
OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 17.0.6, DRM 3.57, 6.8.0-rc7-dirty)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.1.0-devel (git-cc74a819e4)
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.1.0-devel (git-cc74a819e4)
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.1.0-devel (git-cc74a819e4)
```
It works fine for example with slightly earlier one (I'll try to find the exact offending change). I.e. for instance this one works fine (which is Mesa from around Feb 24, 2024.
```
OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 19.0.0, DRM 3.57, 6.8.0-rc7-dirty)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.1.0-devel (git-423add61e2)
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.1.0-devel (git-423add61e2)
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.1.0-devel (git-423add61e2)
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
```
* SDL version: 2.30.0
* Dosbox Staging: 0.81.0
* KDE Plasma 5.27.10
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10779
d3d12_resource.cpp:307:49: error: no matching function for call to 'ID3D12Hea...
2024-03-08T18:18:47Z
Vinson Lee
d3d12_resource.cpp:307:49: error: no matching function for call to 'ID3D12Heap::GetDesc()'
MinGW build error
```
../src/gallium/drivers/d3d12/d3d12_resource.cpp: In function 'bool init_texture(d3d12_screen*, d3d12_resource*, const pipe_resource*, ID3D12Heap*, uint64_t)':
../src/gallium/drivers/d3d12/d3d12_resource.cpp:307:49:...
MinGW build error
```
../src/gallium/drivers/d3d12/d3d12_resource.cpp: In function 'bool init_texture(d3d12_screen*, d3d12_resource*, const pipe_resource*, ID3D12Heap*, uint64_t)':
../src/gallium/drivers/d3d12/d3d12_resource.cpp:307:49: error: no matching function for call to 'ID3D12Heap::GetDesc()'
307 | capData.DestHeapProperties = heap->GetDesc().Properties;
| ~~~~~~~~~~~~~^~
In file included from ../src/gallium/drivers/d3d12/d3d12_common.h:33,
from ../src/gallium/drivers/d3d12/d3d12_bufmgr.h:31,
from ../src/gallium/drivers/d3d12/d3d12_resource.h:28,
from ../src/gallium/drivers/d3d12/d3d12_resource.cpp:24:
../subprojects/DirectX-Headers-1.0/include/directx/d3d12.h:4643:52: note: candidate: 'virtual D3D12_HEAP_DESC* ID3D12Heap::GetDesc(D3D12_HEAP_DESC*)'
4643 | virtual D3D12_HEAP_DESC *STDMETHODCALLTYPE GetDesc(
| ^~~~~~~
../subprojects/DirectX-Headers-1.0/include/directx/d3d12.h:4643:52: note: candidate expects 1 argument, 0 provided
```
Introduced with commit 55e377e9652cc2063a02d850cf59234506109847.
```
commit 55e377e9652cc2063a02d850cf59234506109847
Author: Sil Vilerino <sivileri@microsoft.com>
Date: Wed Aug 2 12:58:17 2023 -0400
d3d12: Add partial media, compute, graphics support with CORE and GENERIC feature levels
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27997>
```
Sil Vilerino
Sil Vilerino
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10747
[bisected][regression][zink][gen9] piglit failures on gen9 intel chips.
2024-03-08T17:28:45Z
ngcortes
[bisected][regression][zink][gen9] piglit failures on gen9 intel chips.
Looks like these failures began after !27867 got merged.
You can review the failures here: https://mesa-ci.01.org/gl_main/builds/5609/group/63a9f0ea7bb98050796b649e85481845
stderr seems to mention an unsupported format:
```
...
MESA: ...
Looks like these failures began after !27867 got merged.
You can review the failures here: https://mesa-ci.01.org/gl_main/builds/5609/group/63a9f0ea7bb98050796b649e85481845
stderr seems to mention an unsupported format:
```
...
MESA: error: zink: refusing to create possibly-srgb dmabuf due to missing driver support: PIPE_FORMAT_B8G8R8X8_SRGB not supported!
...
```
ngcortes
ngcortes
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10641
zink: piglit arb_internalformat_query2 failures on Intel
2024-02-25T17:18:38Z
Lionel Landwerlin
zink: piglit arb_internalformat_query2 failures on Intel
Bisected to commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/386450b10e9bfcc43fe4e1c51632f47abc30b1b2
```
bin/arb_internalformat_query2-internalformat-size-checks -auto -fbo
```
is failing on all Intel platforms on our CI (also...
Bisected to commit https://gitlab.freedesktop.org/mesa/mesa/-/commit/386450b10e9bfcc43fe4e1c51632f47abc30b1b2
```
bin/arb_internalformat_query2-internalformat-size-checks -auto -fbo
```
is failing on all Intel platforms on our CI (also on my TGL laptop). Not sure why this isn't seen on gitlab CI.
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10632
panforst: T604 issue with using u32 for flat varyings
2024-03-13T04:37:13Z
Alexandre Marquet
panforst: T604 issue with using u32 for flat varyings
In #10558, I reported that graphical artifacts when running `glxgears` on T604. As it turned out, this was not related to the main issue of #10558, as resolved in !27515.
![glxgears.png](/uploads/d5c54b29dd7eb719880a22fbdd17b1f8/glxgear...
In #10558, I reported that graphical artifacts when running `glxgears` on T604. As it turned out, this was not related to the main issue of #10558, as resolved in !27515.
![glxgears.png](/uploads/d5c54b29dd7eb719880a22fbdd17b1f8/glxgears-nocache.png){width=300 height=300}
I was able to track down the issue to commit 17589be72b4dd86b04a548a7ddd672ffc24d79da / a5ec1e7f75b841c514ee1a8ed5796744a65714c3. And indeed, forcing float32 for flat varyings solves the issue:
```diff
diff --git a/src/panfrost/midgard/midgard_compile.c b/src/panfrost/midgard/midgard_compile.c
index 2864b3195bc..a98b615a4f1 100644
--- a/src/panfrost/midgard/midgard_compile.c
+++ b/src/panfrost/midgard/midgard_compile.c
@@ -1270,7 +1270,7 @@ emit_varying_read(compiler_context *ctx, unsigned dest, unsigned offset,
*/
if (flat) {
assert(nir_alu_type_get_type_size(type) == 32);
- ins.op = midgard_op_ld_vary_32u;
+ ins.op = midgard_op_ld_vary_32;
} else {
assert(nir_alu_type_get_base_type(type) == nir_type_float);
diff --git a/src/panfrost/util/pan_collect_varyings.c b/src/panfrost/util/pan_collect_varyings.c
index b5cc72c51ab..543a27b26ca 100644
--- a/src/panfrost/util/pan_collect_varyings.c
+++ b/src/panfrost/util/pan_collect_varyings.c
@@ -114,7 +114,7 @@ walk_varyings(UNUSED nir_builder *b, nir_instr *instr, void *data)
* fragment shader instead.
*/
bool flat = (intr->intrinsic != nir_intrinsic_load_interpolated_input);
- nir_alu_type type = flat ? nir_type_uint : nir_type_float;
+ nir_alu_type type = nir_type_float;
/* Demote interpolated float varyings to fp16 where possible. We do not
* demote flat varyings, including integer varyings, due to various
```
But it does not sound right, or does it (I only have very superficial knowledge of how GPUs work under the hood)?
Would you have any insight on the cleanest way to solve this issue without impacting other midgard GPUs (assuming they are not affected)?
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10624
x11 apps on Xwayland unable to start with mesa 24
2024-02-27T22:41:07Z
Eduard Tolosa
x11 apps on Xwayland unable to start with mesa 24
### System information
- OS: (`cat /etc/os-release | grep "NAME"`): ArchLinux
- GPU: (`lspci -nn | grep VGA` or `lshw -C display -numeric`): 4070TiS
- Kernel version: (run `uname -a`): 6.7.5
- Mesa version: (`glxinfo -B | grep "OpenGL v...
### System information
- OS: (`cat /etc/os-release | grep "NAME"`): ArchLinux
- GPU: (`lspci -nn | grep VGA` or `lshw -C display -numeric`): 4070TiS
- Kernel version: (run `uname -a`): 6.7.5
- Mesa version: (`glxinfo -B | grep "OpenGL version string"`): 24.0.1
- Desktop manager and compositor: Gnome + Mutter + Wayland
### Describe the issue
X windows are unable to show; mutter-x11-frames process is dying immediately after spawning.
### Regression
Rolling back to 23.* makes it work again.
### Log files as attachment
[mybacktrace.txt](/uploads/8ba8dd40b7a8bd012e7ca44e11497f49/mybacktrace.txt)
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10609
anv: internal shader assertion with LLVM17
2024-02-22T16:56:41Z
Ian Romanick
anv: internal shader assertion with LLVM17
Any Vulkan workload (including both any CTS or fossilize-replay on any fossil) fails this assertion:
```
fossilize-replay: ../../SOURCE/master/src/intel/vulkan/anv_internal_kernels.c:184: compile_shader: Assertion `stats[stat_idx].spill...
Any Vulkan workload (including both any CTS or fossilize-replay on any fossil) fails this assertion:
```
fossilize-replay: ../../SOURCE/master/src/intel/vulkan/anv_internal_kernels.c:184: compile_shader: Assertion `stats[stat_idx].spills == 0' failed.
```
I bisected to:
```
b52e25d3a8eee702ff5d21e4cdb9a4dc0736282a is the first bad commit
commit b52e25d3a8eee702ff5d21e4cdb9a4dc0736282a
Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Date: Mon Nov 6 13:12:25 2023 +0200
anv: rewrite internal shaders using OpenCL
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797>
meson.build | 3 +-
src/intel/genxml/meson.build | 6 +-
src/intel/meson.build | 1 +
src/intel/shaders/generate.cl | 206 +++++++++++++
src/intel/shaders/generate_draws.cl | 77 +++++
src/intel/shaders/libintel_shaders.h | 127 ++++++++
src/intel/shaders/memcpy.cl | 23 ++
src/intel/shaders/meson.build | 63 ++++
src/intel/shaders/query_copy.cl | 72 +++++
src/intel/vulkan/anv_genX.h | 8 +
src/intel/vulkan/anv_internal_kernels.c | 336 ++++++---------------
src/intel/vulkan/anv_internal_kernels.h | 92 ++++--
src/intel/vulkan/anv_private.h | 14 -
src/intel/vulkan/anv_utrace.c | 10 +-
.../vulkan/genX_cmd_draw_generated_indirect.h | 77 +++--
src/intel/vulkan/genX_internal_kernels.c | 111 +++++++
src/intel/vulkan/genX_query.c | 20 +-
src/intel/vulkan/meson.build | 14 +-
.../vulkan/shaders/common_generated_draws.glsl | 160 ----------
src/intel/vulkan/shaders/common_query_copy.glsl | 105 -------
src/intel/vulkan/shaders/generated_draws.glsl | 201 ------------
src/intel/vulkan/shaders/interface.h | 121 --------
src/intel/vulkan/shaders/memcpy_compute.glsl | 64 ----
src/intel/vulkan/shaders/meson.build | 63 ----
src/intel/vulkan/shaders/query_copy_compute.glsl | 35 ---
src/intel/vulkan/shaders/query_copy_fragment.glsl | 33 --
26 files changed, 910 insertions(+), 1132 deletions(-)
create mode 100644 src/intel/shaders/generate.cl
create mode 100644 src/intel/shaders/generate_draws.cl
create mode 100644 src/intel/shaders/libintel_shaders.h
create mode 100644 src/intel/shaders/memcpy.cl
create mode 100644 src/intel/shaders/meson.build
create mode 100644 src/intel/shaders/query_copy.cl
create mode 100644 src/intel/vulkan/genX_internal_kernels.c
delete mode 100644 src/intel/vulkan/shaders/common_generated_draws.glsl
delete mode 100644 src/intel/vulkan/shaders/common_query_copy.glsl
delete mode 100644 src/intel/vulkan/shaders/generated_draws.glsl
delete mode 100644 src/intel/vulkan/shaders/interface.h
delete mode 100644 src/intel/vulkan/shaders/memcpy_compute.glsl
delete mode 100644 src/intel/vulkan/shaders/meson.build
delete mode 100644 src/intel/vulkan/shaders/query_copy_compute.glsl
delete mode 100644 src/intel/vulkan/shaders/query_copy_fragment.glsl
```
Lionel Landwerlin
Lionel Landwerlin
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10600
MTL raytracing regression
2024-02-13T10:10:38Z
Mark Janes
MTL raytracing regression
Several tests began failing on MTL:
```plaintext
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.large_offset
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.large_offset_multiple_invocations
dEQP-VK.compute.pipeline...
Several tests began failing on MTL:
```plaintext
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.large_offset
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.large_offset_multiple_invocations
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.multi_dispatch
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.multi_dispatch_reuse_command
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.multiple_groups
dEQP-VK.compute.pipeline.indirect_dispatch.gen_in_compute.multiple_groups_multiple_invocations
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.11_13_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.11_13_5
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.11_1_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.8_1_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.8_8_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.8_8_8
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_gpu.11_13_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_gpu.11_13_5
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_gpu.11_1_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_gpu.8_1_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_gpu.8_8_1
dEQP-VK.ray_tracing_pipeline.trace_rays_cmds_maintenance_1.indirect2_gpu.8_8_8
dEQP-VK.synchronization.op.single_queue.barrier.write_indirect_buffer_draw_indexed_read_indirect_buffer_draw_indexed.indirect_buffer
dEQP-VK.synchronization.op.single_queue.barrier.write_indirect_buffer_draw_read_indirect_buffer_draw.indirect_buffer
dEQP-VK.synchronization.op.single_queue.event.write_indirect_buffer_draw_indexed_read_indirect_buffer_draw_indexed.indirect_buffer
dEQP-VK.synchronization.op.single_queue.event.write_indirect_buffer_draw_read_indirect_buffer_draw.indirect_buffer
dEQP-VK.synchronization2.op.single_queue.barrier.write_indirect_buffer_dispatch_read_indirect_buffer_dispatch.indirect_buffer
dEQP-VK.synchronization2.op.single_queue.event.write_indirect_buffer_dispatch_read_indirect_buffer_dispatch.indirect_buffer
```
```plaintext
$ ./deqp-vk -n dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.8_1_1
Writing test log into TestResults.qpa
dEQP Core vulkan-cts-1.3.7.3-60-g612eb1142f463f89ba3061e971bf46c3f08ac4d3 (0x612eb114) starting..
target implementation = 'Default'
MESA-INTEL: warning: cannot initialize blitter engine
MESA-INTEL: warning: cannot initialize blitter engine
Test case 'dEQP-VK.ray_tracing_pipeline.trace_rays_cmds.indirect_gpu.8_1_1'..
Fail (Fail (failures=8))
DONE!
Test run totals:
Passed: 0/1 (0.0%)
Failed: 1/1 (100.0%)
Not supported: 0/1 (0.0%)
Warnings: 0/1 (0.0%)
Waived: 0/1 (0.0%)
```
```plaintext
d699600da1db483b142d71e777b3ed1bc6576a4a is the first bad commit
commit d699600da1db483b142d71e777b3ed1bc6576a4a
Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Date: Thu Jan 25 10:52:23 2024 +0200
anv: reduce cache flushing for indirect commands on Gfx12.5+
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27257>
```
Lionel Landwerlin
Lionel Landwerlin
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10550
regression/bisected commit 4de62731f4db56360026cbb6a3b8566f86f22466 broke HW ...
2024-02-13T17:52:15Z
Mikhail Gavrilov
regression/bisected commit 4de62731f4db56360026cbb6a3b8566f86f22466 broke HW acceleration in the Google Chrome
```plaintext
commit 4de62731f4db56360026cbb6a3b8566f86f22466
Author: Erik Faye-Lund <erik.faye-lund@collabora.com>
Date: Tue Jan 23 17:41:21 2024 +0100
mesa/main: add support for EXT_texture_storage
It's sometimes really,...
```plaintext
commit 4de62731f4db56360026cbb6a3b8566f86f22466
Author: Erik Faye-Lund <erik.faye-lund@collabora.com>
Date: Tue Jan 23 17:41:21 2024 +0100
mesa/main: add support for EXT_texture_storage
It's sometimes really, really useful if GL_BGRA8 can be used as a
sized internal format, and the combination of EXT_texture_storage
and EXT_texture_format_BGRA8888 allows this (only when using
texture-storage, which is good enough in some cases). Until now,
we've only implemented ARB_texture_storage, and not the EXT
version.
So let's implement the EXT version as well, so we get the benefit
of the interaction here. This pulls in a lot of other similar
interactions as well, which also seems useful.
...because the ARB version is created from the EXT version, let's move
the EXT function definitions to the EXT extension. These should probably
have been suffixed with ARB in the ARB-version, but things seems to have
just ended up kinda confused. Oh well.
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27222>
docs/features.txt | 2 +-
src/mapi/glapi/gen/ARB_texture_storage.xml | 27 ------------
src/mapi/glapi/gen/EXT_texture_storage.xml | 67 ++++++++++++++++++++++++++++++
src/mapi/glapi/gen/gl_API.xml | 3 ++
src/mapi/glapi/gen/meson.build | 1 +
src/mesa/main/extensions_table.h | 1 +
src/mesa/main/texstorage.c | 50 ++++++++++++++++++++++
src/mesa/state_tracker/st_format.c | 2 +-
8 files changed, 124 insertions(+), 29 deletions(-)
create mode 100644 src/mapi/glapi/gen/EXT_texture_storage.xml
```
[about-gpu-2024-02-02T12-17-18-473Z.txt](/uploads/7ed55acae9f1a645f50b74924094ceef/about-gpu-2024-02-02T12-17-18-473Z.txt)
[build-log.zip](/uploads/eb22379e02b27d4e9f5507ff6e8e8ec2/build.zip)
build options:
```
/usr/bin/meson setup --buildtype=plain --prefix=/usr --libdir=/usr/lib64 --libexecdir=/usr/libexec --bindir=/usr/bin --sbindir=/usr/sbin --includedir=/usr/include --datadir=/usr/share --mandir=/usr/share/man --infodir=/usr/share/info --localedir=/usr/share/locale --sysconfdir=/etc --localstatedir=/var --sharedstatedir=/var/lib --wrap-mode=nodownload --auto-features=enabled . redhat-linux-build -Dplatforms=x11,wayland -Ddri3=enabled -Dosmesa=true -Dgallium-drivers=swrast,virgl,nouveau,r300,crocus,i915,iris,svga,radeonsi,r600,freedreno,etnaviv,tegra,vc4,v3d,kmsro,lima,panfrost,zink -Dgallium-vdpau=enabled -Dgallium-omx=bellagio -Dgallium-va=enabled -Dgallium-xa=enabled -Dgallium-nine=true -Dgallium-opencl=icd -Dgallium-rusticl=true -Dvulkan-drivers=swrast,amd,intel,intel_hasvk,broadcom,freedreno,panfrost -Dvulkan-layers=device-select -Dshared-glapi=enabled -Dgles1=enabled -Dgles2=enabled -Dopengl=true -Dgbm=enabled -Dglx=dri -Degl=enabled -Dglvnd=true -Dintel-clc=enabled -Dmicrosoft-clc=disabled -Dllvm=enabled -Dshared-llvm=enabled -Dvalgrind=enabled -Dbuild-tests=false -Dselinux=true -Dvideo-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec,av1dec,av1enc,vp9dec -Dandroid-libbacktrace=disabled
```
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10482
Regression between 23.0.4 and 23.1.0: texture glitches in osgEarth
2024-02-06T22:54:11Z
Jeremy Moles
Regression between 23.0.4 and 23.1.0: texture glitches in osgEarth
I'm tracking down a bug/regression that recently appeared when RedHat updated their Mesa packages. I have confirmed that the issue was introduced and exists in ANY Mesa tag newer than 23.0.4; that is, 23.1.0 -\> 23.3.3. I have attached a...
I'm tracking down a bug/regression that recently appeared when RedHat updated their Mesa packages. I have confirmed that the issue was introduced and exists in ANY Mesa tag newer than 23.0.4; that is, 23.1.0 -\> 23.3.3. I have attached a trace file that SHOULD demonstrate the bug on any Mesa newer than 23.0.4. In the "working" scenario you'd see a simple earth model, nothing spectacular. However, in the "bug" scenario, there will be very obvious blue/white discoloration.
I've done some of my own testing inside a Mesa 23.1.0 tag locally, making changes and building/installing into \~/local (and setting LD_LIBRARY_PATH to ensure the "testing" build is found first). However, nothing I've tried so far has helped.
What I SUSPECT is the offending line in the shader is, essentially, when it copies a value out of `gl_MultiTexCoord0` to be used elsewhere, though I could be wrong. I'll continue to do my own testing in the interim, but any advice would be greatly appreciated.
Trace attached; should show obvious glitches/weirdness in Mesa 23.1.0 or higher. Thanks
[osgearth_viewer-mesa-23.1.0.trace](/uploads/b9c40bf174d94ba88b182211cc0e96c5/osgearth_viewer-mesa-23.1.0.trace)
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10428
Visual artifacts on radeon video card in latest 24.0 branch
2024-03-11T01:29:50Z
Marco Piazza
Visual artifacts on radeon video card in latest 24.0 branch
### Description
Latest mesa git self compiled has some trouble.
My gnome-shell (and GDM) flickers and many text are hidden until I pass over with the mouse.
### System information
```
inxi -GSC -xx
System:
Host: albireo Kernel: 6.6.7...
### Description
Latest mesa git self compiled has some trouble.
My gnome-shell (and GDM) flickers and many text are hidden until I pass over with the mouse.
### System information
```
inxi -GSC -xx
System:
Host: albireo Kernel: 6.6.7-bfq arch: x86_64 bits: 64 compiler: gcc
v: 12.2.0 Desktop: GNOME v: 45.2 tk: GTK v: 3.24.38 wm: gnome-shell dm: GDM3
Distro: Debian GNU/Linux jessie/sid
CPU:
Info: quad core model: AMD A4-5000 APU with Radeon HD Graphics bits: 64
type: MCP arch: Jaguar rev: 1 cache: L1: 256 KiB L2: 2 MiB
Speed (MHz): avg: 1057 high: 1098 min/max: 800/1500 boost: disabled cores:
1: 934 2: 1098 3: 1098 4: 1098 bogomips: 11977
Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
Device-1: AMD Kabini [Radeon HD 8330] vendor: Toshiba driver: amdgpu
v: kernel arch: GCN-2 ports: active: LVDS-1 empty: HDMI-A-1,VGA-1
bus-ID: 00:01.0 chip-ID: 1002:9832
Device-2: AMD Sun PRO [Radeon HD 8570A/8570M] vendor: Toshiba
driver: amdgpu v: kernel arch: GCN-1 pcie: speed: 2.5 GT/s lanes: 4
bus-ID: 01:00.0 chip-ID: 1002:6663 temp: 40.0 C
Device-3: IMC Networks TOSHIBA Web Camera - HD driver: uvcvideo type: USB
rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-4:4 chip-ID: 13d3:5606
Display: x11 server: X.Org v: 1.20.9 with: Xwayland v: 23.2.3
compositor: gnome-shell driver: X: loaded: amdgpu unloaded: modesetting
alternate: fbdev,vesa dri: radeonsi gpu: amdgpu display-ID: :0 screens: 1
Screen-1: 0 s-res: 1366x768 s-dpi: 96
Monitor-1: LVDS-1 mapped: LVDS model: LG Display 0x033a res: 1366x768
dpi: 101 diag: 395mm (15.5")
API: EGL v: 1.5 platforms: gbm: drv: N/A x11: drv: N/A
inactive: wayland,device
API: OpenGL v: 4.6 vendor: amd v: N/A glx-v: 1.4 es-v: 3.2
direct-render: yes renderer: AMD Radeon HD 8330 (radeonsi kabini LLVM
16.0.6 DRM 3.54 6.6.7-bfq) device-ID: 1002:9832
API: Vulkan v: 1.2.70 surfaces: xcb device: 0 type: integrated-gpu
driver: N/A device-ID: 1002:9832 device: 1 type: discrete-gpu driver: N/A
device-ID: 1002:6663 device: 2 type: cpu driver: N/A device-ID: 10005:0000
```
### Describe the issue
My gnome-shell screen has visual artifacts when usually it has none.
### Regression
Gnome-shell used to work as expected
### Extra information
It seems that the bug is releated to Wayland.
In fact usally gnome shell starts whith wayland rendering, but (as I can see in the command below now it start with Xorg rendering)
```
xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x54 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 2 outputs: 3 associated providers: 0 name:AMD Radeon HD 8330 @ pci:0000:00:01.0
Provider 1: id: 0x7c cap: 0xd, Source Output, Source Offload, Sink Offload crtcs: 0 outputs: 0 associated providers: 0 name:AMD Radeon HD 8500M Series @ pci:0000:01:00.0
```
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10339
BDW: Regression on dEQP-VK.create_device_unsupported_features
2023-12-27T22:35:01Z
Mark Janes
BDW: Regression on dEQP-VK.create_device_unsupported_features
The following tests regressed on Broadwell with eb5bb5c784e97c533e30b348e82e446ac0da59c8:
dEQP-VK.api.device_init.create_device_unsupported_features.vulkan12_features
dEQP-VK.api.device_init.create_device_unsupported_features.vulkan13_f...
The following tests regressed on Broadwell with eb5bb5c784e97c533e30b348e82e446ac0da59c8:
dEQP-VK.api.device_init.create_device_unsupported_features.vulkan12_features
dEQP-VK.api.device_init.create_device_unsupported_features.vulkan13_features
dEQP-VK.api.device_init.create_device_unsupported_features.vulkan11_features
Sample output:
```
Not returning VK_ERROR_FEATURE_NOT_PRESENT when creating device with feature shaderBufferInt64Atomics, which was reported as unsupported.
Not returning VK_ERROR_FEATURE_NOT_PRESENT when creating device with feature shaderSharedInt64Atomics, which was reported as unsupported.
Not returning VK_ERROR_FEATURE_NOT_PRESENT when creating device with feature descriptorIndexing, which was reported as unsupported.
Not returning VK_ERROR_FEATURE_NOT_PRESENT when creating device with feature shaderInputAttachmentArrayDynamicIndexing, which was reported as unsupported.
Not returning VK_ERROR_FEATURE_NOT_PRESENT when creating device with feature shaderUniformTexelBufferArrayDynamicIndexing, which was reported as unsupported.
...
Enabling unsupported features didn't return VK_ERROR_FEATURE_NOT_PRESENT.
```
Chia-I Wu
Chia-I Wu
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10338
Gen4 assertion `force_writemask_all' failed.
2024-03-07T20:24:21Z
Ian Romanick
Gen4 assertion `force_writemask_all' failed.
Shader-db run:
```
$ mesa 5b8ec015f27 intel_stub_gpu -p g4x ./run -j 1 crocus shaders/closed/enemy-territory-quake-wars/fp-10.shader_test
ATTENTION: default value of option allow_glsl_extension_directive_midshader overridden by environ...
Shader-db run:
```
$ mesa 5b8ec015f27 intel_stub_gpu -p g4x ./run -j 1 crocus shaders/closed/enemy-territory-quake-wars/fp-10.shader_test
ATTENTION: default value of option allow_glsl_extension_directive_midshader overridden by environment.
ATTENTION: default value of option allow_glsl_120_subset_in_110 overridden by environment.
ATTENTION: default value of option allow_glsl_builtin_variable_redeclaration overridden by environment.
ATTENTION: default value of option allow_glsl_compat_shaders overridden by environment.
Unknown drm_i915_query_item id=5
run: ../../SOURCE/master/src/intel/compiler/brw_fs_builder.h:132: brw::fs_builder brw::fs_builder::group(unsigned int, unsigned int) const: Assertion `force_writemask_all' failed.
=> CRASHED <= while processing these shaders:
shaders/closed/enemy-territory-quake-wars/fp-10.shader_test
```
Bisect result:
```
$ git bisect bad
5b8ec015f27e879438216f20198e907419ee2f13 is the first bad commit
commit 5b8ec015f27e879438216f20198e907419ee2f13
Author: Caio Oliveira <caio.oliveira@intel.com>
Date: Tue Nov 21 09:47:18 2023 -0800
intel/compiler: Don't use fs_visitor::bld in remaining places
The remaining users can simply create a new builder at_end() if needed.
In many places a new builder object is already being constructed, so
just give more specific instructions.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26323>
src/intel/compiler/brw_fs.cpp | 37 ++++++++++++-------------
src/intel/compiler/brw_fs_combine_constants.cpp | 2 +-
src/intel/compiler/brw_fs_nir.cpp | 1 +
src/intel/compiler/brw_fs_visitor.cpp | 10 ++++++-
src/intel/compiler/brw_lower_logical_sends.cpp | 2 +-
5 files changed, 29 insertions(+), 23 deletions(-)
```
Caio Oliveira
Caio Oliveira
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10327
mesa 23.3.1: 'gtk4-demo' misbehavior: bisected
2024-01-12T02:23:21Z
feng xiangjun
mesa 23.3.1: 'gtk4-demo' misbehavior: bisected
Previous issue: #10264
After the GPU hanging problem fixed in #10264, There is another problem for 'gtk4-demo'.
See attached picture:
![1.png](/uploads/799b650b03736b1164e65da168d51744/1.png)
![2.png](/uploads/5996de8b411ae870bf27afe...
Previous issue: #10264
After the GPU hanging problem fixed in #10264, There is another problem for 'gtk4-demo'.
See attached picture:
![1.png](/uploads/799b650b03736b1164e65da168d51744/1.png)
![2.png](/uploads/5996de8b411ae870bf27afea604e060a/2.png)
![3.png](/uploads/1a4837600db076747f1fa40cb80ee855/3.png)You can see the title bar's problem.
Bisected to: https://gitlab.freedesktop.org/mesa/mesa/-/commit/31b5f5a51f3a3d19600dd43bf6ab49bab98a9bbe
```plaintext
mesa$ git bisect bad
31b5f5a51f3a3d19600dd43bf6ab49bab98a9bbe is the first bad commit
commit 31b5f5a51f3a3d19600dd43bf6ab49bab98a9bbe
Author: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Date: Wed Aug 30 18:10:28 2023 -0400
```
After reverting this commit, all is OK.
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10295
Software rendering texture quality regression (anisotropic filtering) Mesa 21...
2024-01-08T09:10:56Z
Ulrich Hertlein
Software rendering texture quality regression (anisotropic filtering) Mesa 21.2 -> Mesa 23.1
### System information
- good: Mesa 21.2.6
- bad: Mesa 23.1.4
- OS: Ubuntu 20.04 / Rocky Linux 9
### Describe the issue
We've recently upgraded our server-side rendering containers to a newer Linux distro.
This upgraded the Mesa vers...
### System information
- good: Mesa 21.2.6
- bad: Mesa 23.1.4
- OS: Ubuntu 20.04 / Rocky Linux 9
### Describe the issue
We've recently upgraded our server-side rendering containers to a newer Linux distro.
This upgraded the Mesa version from 21.2.6 to 23.1.4.
With the new Mesa version, we've noticed a severe regression in the quality of texture rendering.
The issue is not related to the OS upgrade, only to the Mesa version that is used.
We've been able to create a minimal desktop reproduction app (SDL2, GLU, GL 2.1) that shows the effect and can be made available on request.
Through `git bisect` we've been able to trace the root cause to the introduction of anisotropic filtering back in 2021:
```
commit 0d4d7594d14c06168ab8c75f67d4b32b359552f8
Author: Dave Airlie <airlied@redhat.com>
Date: Mon Feb 8 12:37:40 2021 +1000
llvmpipe: enable GL_ARB_texture_filter_anisotropic
```
### Regression
- using software rendering:
- good version: renders the textures sharply as expected (see below)
- bad version: renders the textures blurry
- using hardware rendering: no noticeable difference
- textures are rendered using an orthographic camera
- min_filter=NEAREST, mag_filter=NEAREST, generate_mipmap=TRUE, max_anisotropy=4 (default, because extension is supported)
- quads are rendered facing the camera, i.e. not at an angle
### Screenshots
- the left half shows hardware rendering (Mesa Intel(R) UHD Graphics)
- the right half shows software rendering (llvmpipe, enabled via `LIBGL_ALWAYS_SOFTWARE=1`)
- good:
![mesa_21.2.6_anisotropic_hw_vs_sw](/uploads/51508c538d0b99296db24a7dbd5c7535/mesa_21.2.6_anisotropic_hw_vs_sw.png)
- bad:
![mesa_23.2.1_anisotropic_hw_vs_sw](/uploads/7f4ae89949adfb1d759ed13720515c41/mesa_23.2.1_anisotropic_hw_vs_sw.png)
Dave Airlie
Dave Airlie
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10286
!26307 broke some piglit tests with rusticl on radeonsi on Navi 14
2023-12-13T12:54:58Z
Michel Dänzer
!26307 broke some piglit tests with rusticl on radeonsi on Navi 14
E.g. `program@execute@builtin@builtin-float-remquo-1.0.generated`:
```
> Running kernel test: remquo_local float16
Using kernel test_16_remquo_local_float
Setting kernel arguments...
Running the kernel...
Validating results...
Expecting ...
E.g. `program@execute@builtin@builtin-float-remquo-1.0.generated`:
```
> Running kernel test: remquo_local float16
Using kernel test_16_remquo_local_float
Setting kernel arguments...
Running the kernel...
Validating results...
Expecting -0.900000 (0xbf666668) with tolerance 0.000000 (0 ulps), but got nan (0x7fc00000)
Error at float[1]
Argument 0: FAIL
Expecting 2 (0x2) with tolerance 0, but got 0 (0x0)
Error at int[1]
Argument 1: FAIL
PIGLIT: {"subtest": {"remquo_local float16" : "fail"}}
```
Bisected to https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26307/diffs?commit_id=17e01a9a9b743d89066ba0a42c841e9b7e7d0528.
/cc @karolherbst
https://gitlab.freedesktop.org/mesa/mesa/-/issues/10233
crocus: Assertion failures in NIR divergence analysis
2023-12-13T07:15:50Z
Ian Romanick
crocus: Assertion failures in NIR divergence analysis
While running shader-db on various Intel platforms, I get the following (or substantially similar) failures on Haswell, Ivy Bridge, and Sandybridge platforms.
```
con 32 %250 = @decl_reg () (num_components=4, num_array_elems=2, bit_s...
While running shader-db on various Intel platforms, I get the following (or substantially similar) failures on Haswell, Ivy Bridge, and Sandybridge platforms.
```
con 32 %250 = @decl_reg () (num_components=4, num_array_elems=2, bit_size=32, divergent=1)run: ../../SOURCE/master/src/compiler/nir/nir_divergence_analysis.c:632: visit_intrinsic: Assertion `!"" "\nNIR divergence analysis: Unhandled intrinsic."' failed.
=> CRASHED <= while processing these shaders:
shaders/closed/steam/tomb-raider/tressfx/94.shader_test
shaders/closed/steam/dex/132.shader_test
shaders/closed/steam/tomb-raider/tressfx/4382.shader_test
shaders/closed/steam/tomb-raider/tressfx/92.shader_test
shaders/closed/steam/dex/63.shader_test
shaders/closed/steam/tomb-raider/tressfx/96.shader_test
shaders/closed/steam/tomb-raider/ultra/4668.shader_test
shaders/closed/steam/tomb-raider/tressfx/100.shader_test
shaders/closed/steam/dex/117.shader_test
shaders/closed/steam/tomb-raider/ultra/7356.shader_test
shaders/closed/steam/tomb-raider/tressfx/150.shader_test
shaders/closed/steam/tomb-raider/tressfx/98.shader_test
shaders/closed/steam/tomb-raider/tressfx/86.shader_test
shaders/closed/steam/tomb-raider/tressfx/154.shader_test
shaders/closed/steam/tomb-raider/tressfx/90.shader_test
shaders/closed/steam/dex/126.shader_test
shaders/closed/steam/serious-sam-3/lowest/829.shader_test
shaders/closed/steam/tomb-raider/ultra/19560.shader_test
shaders/closed/steam/tomb-raider/ultra/19360.shader_test
shaders/closed/steam/tomb-raider/ultra/18928.shader_test
shaders/closed/steam/tomb-raider/tressfx/2744.shader_test
shaders/closed/steam/tomb-raider/normal/11974.shader_test
shaders/closed/steam/tomb-raider/ultra/18938.shader_test
shaders/closed/steam/tomb-raider/tressfx/88.shader_test
```
I bisected this to:
```
6dbb5f1e07b11be0cc6ac764bf1b51feaa7fa623 is the first bad commit
commit 6dbb5f1e07b11be0cc6ac764bf1b51feaa7fa623
Author: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Date: Thu Nov 16 21:24:31 2023 +0200
intel/fs: rerun divergence analysis prior to convert_from_ssa
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9964
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26235>
src/intel/compiler/brw_nir.c | 7 +++++++
1 file changed, 7 insertions(+)
```
My guess is that after all of the various lowerings have happened, there's some intrinsic that divergence analysis has never seen before.