01:26 bl4ckb0ne: is there a piglit test doing cubemap blit somewhere
01:39 bl4ckb0ne: couldnt find one so I made it
02:50 bl4ckb0ne: all framebuffer attachment should have the same Zoffset and cubemapface right?
14:57 tacokoneko: hello i am trying to use the Venus VirtIO-GPU driver with crosvm on Xorg Gentoo as this directs https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/docs/drivers/venus.rst and I am able to run and see the crosvm example_desktop, and also partially boot my own Arch Linux guest when Venus is disabled, but when I try to enable Venus with my Arch Linux guest crosvm immediately crashes. This is my script without Venus
14:57 tacokoneko: https://termbin.com/i9ce which prints this https://termbin.com/bhmg and this is my script with Venus https://termbin.com/ad0k which prints this https://termbin.com/7o9n
15:20 tacokoneko: If i set context-types=virgl like this https://termbin.com/rxum, I see this https://termbin.com/dccab: the guest fully boots and is usable via the crosvm serial terminal and crosvm no longer crashes, but there are virtio-gpu errors in the kernel log and the crosvm window is completely black, though it reads inputs.
18:46 Company: so, I have a very innocent question
18:47 Company: say I have a texture array in my Vulkan GLSL: sampler2D textures[10];
18:48 Company: and I index it using some dynamically uniform variable: color = texture (textures[id]);
18:48 Company: now I make one of those textures a YUV texture
18:48 Company: am I doing something wrong now or should the compiler figure that out?
18:51 Company: because I don't remember reading that the Ycbcr stuff forbids that, but I might have just missed it
18:58 dj-death: Company: if id is non-uniform you need a special intrinsic
18:58 Company: it is uniform
18:58 Company: it usually works fine, the only issue I have is that Mesa doesn't seem to emit the code for the Ycbcr conversion
18:59 dj-death: Company: how is your descriptor set layout?
18:59 dj-death: it needs to have immutable samplers for yuv conversions
18:59 Company: as it should be: 10 immutable samplers
19:00 Company: that's all checked by the validation layers
19:01 Company: if I switch from textures[id] to if (id == 0) textures[0] else if (id == 1) textures[1] else if... then the YUV lookup works
19:01 Company: the old trick to turn dynamically uniform texture lookups into constant expression lookups
19:01 Company: but I thought that shouldn't be necessary with Vulkan anymore
19:03 dj-death: should be okay
19:03 dj-death: what driver?
19:03 Company: AMD and Intel
19:04 Company: actually, I didn't test if that fixed it on Intel yet, but I'm pretty confident
19:06 dj-death: would have to debug it
19:06 dj-death: I'm pretty sure our vulkan driver should handle it
19:06 dj-death: but some code was moved to the vulkan runtime
19:06 dj-death: maybe a bug was introduced
19:07 Company: I checked 22.0, 22.2, 23.1 and main
19:07 dj-death: oh wait
19:07 Company: they're all giving me red
19:07 dj-death: no the index needs to be a constant
19:08 Company: is that spec'd somewhere?
19:08 dj-death: the lowering code cannot handle dynamic stuff
19:08 Company: or is that a bug/missing feature in Mesa?
19:10 dj-death: https://registry.khronos.org/vulkan/specs/1.3/html/chap15.html#interfaces-resources-descset
19:10 dj-death: If the combined image sampler enables sampler Y′CBCR conversion, it must be indexed only by constant integral expressions when aggregated into arrays in shader code, irrespective of the shaderSampledImageArrayDynamicIndexing feature.
19:11 Company: that is well hidden
19:11 Company: thx
19:11 dj-death: like everything in the spec
19:11 Company: so I'll do the if() dance
19:11 dj-death: and because there is no VU, no validation
19:12 dj-death: ...
19:12 Company: yeah, the dynamically uniform stuff is really easy to screw up