01:00luc: <DMJC> on my laptop PRIME=1 is coming up as intel, PRIME=2 and PRIME=0 come up as AMD <- DRI_PRIME=2 and PRIME=0 looks to make no sense according to the Mesa doc https://docs.mesa3d.org/envvars.html#envvar-DRI_PRIME
01:02luc: neither the code, https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/loader/loader.c#L362
03:37simpleman: what is x
04:12CounterPillow: simpleman: https://en.wikipedia.org/wiki/X.Org_Server
04:13simpleman: many thank yous
05:17mareko: why do unused fall and fany NIR opcodes exist?
05:26mareko: alyssa: ^
07:35MrCooper: dviola: the system one should be picked by default; for an alternative one, I think you'll need to set LD_LIBRARY_PATH for glamor and LIBGL_DRIVERS_PATH for glx
07:35tzimmermann: airlied, do you still take PRs from drm-misc-next-fixes ?
07:48airlied: tzimmermann: yes will pull that together tomorrow
07:48tzimmermann: ok, thanks
07:59airlied: tzimmermann, mlankhorst : also if there are any drm-fixes stragglers might be good to get them, though probably won't merge those until after rc1
08:00tzimmermann: airlied, there's still last week's PR for drm-misc-next-fixes pending. can you merge it before i prepare this week's
08:00tzimmermann: ?
08:02airlied: tzimmermann: pushed now
08:02tzimmermann: thank you
09:19DMJC: ok this is really weird, got a WINE game, it works on 32-bit X11 on NVIDIA closed source, but on AMD/Intel only works on 16-Bit X11.
10:05alyssa: mareko: for non-integer (float-only) hardware
10:05alyssa: which I think is all vec4
10:06alyssa: no booleans on float-only hardware
10:06alyssa: instead of flt, we have slt which returns b2f32(flt)
10:06alyssa: and install of ball/bany we have fall/fany which return b2f32(ball/bany)
10:07alyssa: now, why they would be /unused/ is a different question.
10:07alyssa: they don't actually look unused, though
10:08alyssa: It looks like the relevant backends set lower_vector_cmp, which gets them lowered to vectorized float compares in "interesting" ways for opt_lagebraic
10:08alyssa: and they're produced by bool to float
10:10alyssa: with the boolean versions bany/ball at least nominally produced by glsl-to-ir
10:10alyssa: how true that actually is is unclear
10:11alyssa: at any rate, all() in GLSL will become ball after glsl-to-nir, which becomes fall after lower bool to float, which becomes some vectorized alu after opt_algebraic
10:12alyssa: possibly the right call is to fold those lowerings together, turn ball/bany into the alu directly in opt_algebraic
10:12alyssa: and then delete the opcodes
10:12alyssa: not exactly high on my todo list, they're not hurting anything existing
10:31DMJC: I found the issue with my WINE game
10:31DMJC: 24-bit OpenGL support. Found a config file and changed 24 to 32 boom it works.
10:31DMJC: must be a throwback to the bad old days of 24-bit colour X11
10:50MrCooper: when bytes were precious
10:55DMJC: I'll let the patch authors know so they can either add an option or default to 32-bit colour.
10:56DMJC: So atm, Wing Commander 1-4/Privateer 2 runs in WINE, and 5/Secret Ops runs with an adjusted ntdll/heap.c
10:56mlankhorst:thought i386 compiled in protected when he heard 16-bit x11
11:02dviola: MrCooper: thanks
11:04dviola: I think I'd like to file a bug first, not sure if I should do so under https://gitlab.freedesktop.org/mesa/mesa or https://gitlab.freedesktop.org/virgl/virglrenderer though
11:23dviola: I think I'll file it under mesa, I've seen a couple of virgl ones there
14:18MrCooper: the OpenGL pixel unpack machinery really can't ignore the alpha channel and return 1.0 instead, can it?
14:18zmike: is there context here?
14:19emersion: it's just an OpenGL API question, no?
14:19emersion: i don't know the answer
14:19MrCooper: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1131 could use this to force alpha to 1.0 with glTexSubImage
14:20MrCooper: but AFAICT there's no way to achieve that
14:22zmike: texsubimage still uploads a buffer, so it depends if the underlying driver is able to use a true RGBX format for the use case or is using RGBA to emulate
14:23MrCooper: that's the thing, there's no RGBX for the glTexSubImage format parameter, only RGBA or RGB (which means 3 bytes per pixel)
14:23MrCooper: anyway gotta run, bbl
14:23zmike: right, I'm talking internally
14:24zmike: potentially in the case of real RGBX it could take RGB? a lot of it depends on the individual driver mechanics/handling
14:24pq: you can't do GL_RGB, GL_UNSIGNED_INT_8_8_8_8?
14:24MrCooper: nope, spec explicitly excludes that
14:24pq: awesome
14:25zmike: in general I think the answer to your query is "no"
14:25MrCooper: zmike: what's needed there is loading 4 bytes per pixel, but ignoring the alpha byte and storing 1.0 instead in the texture image
14:26zmike: it seems like that would come down to driver mechanics and whether the driver is aware that the image is RGBX and is then able to ignore alpha
14:26zmike: mesa/st can be made to do whatever drivers can do in one way or another
14:26emersion: i force alpha=1 in a shader personally
14:26pq: do you need the texture to have a real alpha channel?
14:29emersion: MrCooper: https://www.khronos.org/opengl/wiki/Texture#Swizzle_mask maybe
14:29zmike: you can follow try_pbo_upload_common() through to the driver entrypoints for the current handling
14:30zmike: I guess you'd want to change templ.swizzle_a = PIPE_SWIZZLE_W; in certain cases
14:30emersion: GLES3 has GL_TEXTURE_SWIZZLE_A
14:30zmike: ah wait nvm it's a texel buffer
14:30zmike: so this is all invalid
14:31zmike: it'd have to be done in the pbo upload shader from st_pbo_get_upload_fs
14:32MrCooper: pq: yes
14:32zmike: which doesn't appear to be format-specific, so another variant would be added there
14:32MrCooper: zmike: driver mechanics are irrelevant for Xwayland if there's no GL API to get at them
14:33zmike: you're talking about swapchain images or ?
14:35penguin42: it does
14:35emersion: hm, right, i was assuming shader access but maybe that's not the case…
14:58kchibisov: Who is expected to use tearing control, I'd assume mesa?
15:01emersion: yes
15:01emersion: there's a MR lost in limbo
15:01emersion: note, EGL has no knob for this (yet)
15:01emersion: there are MRs for this too
15:04kchibisov: Oh, sorry, wrong channel.
15:26dviola: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9321
15:40karolherbst: any of the iris devs some time to give this a proper thought? I kinda need this for CL subgroups unless somebody comes up with a better idea: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22893/diffs?commit_id=f01eb8dc3b9b4e9ad17ad17500af886ea587f664 I know alyssa already reviewed it, but I'm still curious what iris devs are thinking as I think it's a bit sketchy myself
15:50alyssa: r-b
16:05zmike: my first thought is why is this a ctx method and not a screen method
17:14MrCooper: zmike: glTexSubImage2D, uploading texel data from a PBO or plain system memory to a texture image (with an alpha-ful internal format, but alpha must always end up as 1.0 in this specific case for correctness)
17:15zmike: MrCooper: I was looking through the specs and I don't think there's any way to (legally) do it
17:15zmike: but with e.g., a MESA extension it would be possible to either add matching functions that ignore alpha or set a property on image creation that forces alpha to 1.0 in all cases
17:15zmike: internally it would be very easy to handle in mesa
17:32anholt_: DavidHeidelberg[m]: you've been doing manual rules changes recently, and it seems that scheduled pipelines are no longer running the manual jobs.
17:59DavidHeidelberg[m]: anholt_: I'll check it
18:56karolherbst: zmike: because... cso creation/whatever is all context method
18:57karolherbst: long term I think we want to force all drivers to support shareable shaders and move this to screen, but....
18:57karolherbst: in any case, I kinda need to force drivers to finalize the compilation and it's really annoying in iris
19:25HdkR: `/usr/bin/ld: warning: src/glx/libGLX_mesa.so.0.0.0 has a LOAD segment with RWX permissions` :thonking:
20:11jenatali: David Heidelberg: Has anyone tried to see if the Windows runners are working again? I assume it was just a transient problem