01:22nyef: ... DRI3 + Present appear to completely remove any semblance of stereo support that existed in DRI2. /-:
01:23imirkin: probably because no one used it in DRI2 and keith didn't want to write more things that never were going to see the light of day
01:23imirkin: but ... you can just start with making it work with DRI2 and then move on to fixing the DRI3/whatever protocols later.
01:23nyef: Okay, and the multibuf extension may be an option.
01:24imirkin: unfortunately the GL end of it is only spec'd for ES, not for desktop GL
01:25imirkin: but you could probably map the EGL_multiview stuff onto GL_STEREO
01:25imirkin: er, not GL_STEREO obviously
01:25imirkin: but ... imho you should worry about that AFTER you have a sample application that talks X or whatever protocol and displays 2 eyes worth of content in a window (or even full screen)
01:27nyef: ... It'll take a couple of hours at worst to hack up an SMS emulator enough to emulate the 3D glasses into separate buffers and display them both.
01:28imirkin: SMS emulator?
01:28nyef: SEGA Master System.
01:28imirkin: i remember that :)
01:28mjg59: It's no Virtual Boy
01:29imirkin: i somehow ended up with one of those *and* a megadrive
01:29imirkin: [aka genesis in the us]
01:29nyef: No, it's no Virtual Boy. LCD shutter glasses giving 30fps to each eye? Eesh.
01:30imirkin: i don't remember any semblance of 3d stuff on sega master...
01:31mjg59: imirkin: http://segaretro.org/3-D_Glasses
01:32nyef: It was an add-on. Some thing that plugged into the card slot, and a cable that ran to a set of really ugly glasses with small LCD panels.
01:32nyef: Yeah, that thing.
01:32orbea: interesting, didn't know this existed... http://segaretro.org/3-D_Glasses
01:32imirkin: i guess i wasn't cool enough for those
01:32imirkin: esp in 1987
01:33mjg59: The tech for that was pretty common
01:33imirkin: *gasp*, 30 years ago
01:33nyef: Anyway, I can *get* a video source with separate left and right eye images. That's easy enough. But I think that my current implementation is using DGA. (-:
01:33nyef: Or, failing DGA, SHM.
01:34imirkin: nyef: start with 2 static images in a window on the screen
01:34imirkin: nyef: move up from there :)
01:35nyef: Sure. My point is, getting/generating the image data is the easy bit.
03:13imirkin: mwk: do you know how BIND_TIC2 works on nvc0? does it come out in $t32? $t16? something else? (in unlinked tsc mode)
04:02mwk: imirkin: no clue
04:39mooch2: mwk: reworked my context switching AGAIN, based on your hwtests
04:39mooch2: currently, it's only emulated for nv3
05:01imirkin: i tried to do the whole glsl opt disable thing that marek recently added
05:01imirkin: and that *kills* our gpr allocs ;(
05:05imirkin: looks like it's a scheduling issue
05:05imirkin: CONST loads get propagated with some additional opts
05:05imirkin: and so live ranges are reduced
05:07imirkin: on the bright side, i just noticed a simple opt we should be doing.
05:08imirkin: and it's probably time for me to finally write a trivial scheduler that solves issues like these.
05:08imirkin: (without attempting to solver much larger issues)
05:10imirkin: if you shl a value by 6, not much point in and'ing it with 0xfffffff0...
05:22nyef: That's... a variant of modular arithmetic that I hadn't considered.
05:25imirkin: it appears to happen a bunch with address calculations
05:26imirkin: i doubt it'll be a strong lift in perf, but ... may as well
06:29orbea: imirkin: in case you are interested, the problem with pcsx2 from the other day was that my iso was patched so their CRC hack was not recognized, that is easy enough to remedy. Though the underlying hack is explained by Gregory here which is more interesting. https://github.com/PCSX2/pcsx2/issues/1762#issuecomment-272225674
07:55inglor: Hi all, when trying to load Shadow Tactics with nouveau it core dumps without errors.
08:07gnurou: hey! could someone give a ack for the Nouveau part of https://lists.freedesktop.org/archives/mesa-dev/2017-January/140701.html ? I am trying to get this in for 17.0...
12:16pmoreau: Yeah! Got my IRC client running using Windows Linux Subsystem. :-)
12:17karolherbst: pmoreau: :D
12:20pmoreau: Next step is the mail client, but... that will have to wait a bit for now.
12:21karolherbst: why are you using windows to begin with?
12:24Calinou: why not use a native Windows client?
12:25pmoreau: karolherbst: Cause my CUDA kernels are performing differently between Windows and Linux, and I am trying to debug for someone using Windows
12:25pmoreau: Calinou: Just because it was fun to try, and I like my Linux client :-)
12:29karolherbst: pmoreau: ... why do they perform differently to begin with :D
12:29pmoreau: Different compilers? I don't know.
14:40imirkin: nyef: skeggsb pulled in your patch =] will hopefully be in the next fixes pull he sends out.
14:40imirkin: gnurou: reply sent
14:40imirkin: inglor: i don't suppose you've tried looking at the coredump?
15:14inglor: I did
15:15inglor: and https://ptpb.pw/4qCY
15:15inglor: useless with all the ?? :D
15:15inglor: Archlinux doesn't like debug symbols
15:18imirkin: looks like an assert in libX11 somewhere
15:18imirkin: either way, time to get some debug symbols :)
16:20nyef: imirkin: I saw the notification for the patch being accepted. At this point, I'm thinking to send the HDMI stereo patch series out on Tuesday, so that they aren't coming out on a weekend and giving me some time to try and sort out a bit more hardware coverage.
16:26inglor: boohoo big project to recompile lib32 libs for debug symbols
16:35imirkin_: inglor: or use gentoo with FEATURES=splitdebug :)
16:53nyef: Well, that was fun. Screwed up a test script to check the HDMI infoframe registers on my main system, which caused a lockup, then realized that my ext3 root filesystem is in fact mounted ext2 for some reason.
16:56imirkin_: boo :(
16:56imirkin_: having a separate test system is really ideal for development that causes hangs...
16:57imirkin_: this is why i tend to avoid such development - i have no such second system
16:58nyef: Yeah, I have a second and *third* system here to test with, but they're both gt215, and I needed some information on gk104, which means my primary system.
16:58nyef: How does that go? "Everybody has a system in which to run tests. Some people are lucky enough to have an entirely separate system in which to run production."
16:59nyef: Also, if I hadn't forgotten the base offset, it would have worked.
16:59imirkin_: i prefer "i don't test often, but when i do, it's in production" :)
17:31nyef: Score! Just kicked an HDMI panel on my gk104 to 3D:SBSH mode.
17:32nyef: And without breaking HDMI audio, even better.
17:34nyef: Using emacs with a vertical split on a side-by-side 3D mode is somewhat disorienting, btw. One buffer displayed to each eye.
17:38RSpliet: nyef: Impressive!
17:38imirkin_: nyef: do a horizontal split and see if it's any better :)
17:38nyef: imirkin_: Hah! No. (-:
17:39nyef: RSpliet: Thank you.
17:58nyef: So, a couple of minor tweaks to the method payload building, the gk104 support, and figuring out a better way to determine when to enable stereo, and the patche series should be as good as it's getting without a round of feedback or more hardware.
19:04haagch: gnurou: did you see that renderonly doesn't work with x.org 1.19 anymore?
19:05haagch: at least the version from your repo
19:59pmoreau: Doh! It was Git switching to 8 hex characters for printing short SHA1s that broke the image generation script, as it would fail to find the correct drm-next commit upon which to build Nouveau. :-D
20:01imirkin_: haagch: what device are you targeting?
20:01imirkin_: TK1 or TX1?
20:02haagch: chromebook with tk1
20:02imirkin_: ah ok. when/if you get it working, i'd be curious to know whether compute works properly on there or not
20:02imirkin_: i suspect that some very minor things may need adjusting on the mesa side
20:03imirkin_: unfortunately my TK1 board only stays on for like 5 minutes at a time
20:03imirkin_: [and tends to die whenever i try to do anything with it]
20:03pmoreau: That's unfortunate… :-/
20:04haagch: compute? any test cases?
20:04imirkin_: haagch: just in general. it'll be binary - either it'll work fine or it totally won't work at all
20:04imirkin_: (like we'll be generating code for the wrong generation of hw, or we'll be using the wrong compute class or something else like that)
20:07haagch: you mean compute shader?
20:09karolherbst: pmoreau: the kernel needs 8 digits now :p
20:10karolherbst: ohh right
20:10karolherbst: you fixed that
20:10karolherbst: huh, 8 should have been fine though
20:10karolherbst: ohh, I see
20:16imirkin_: haagch: oh, and another thing to check is perf counters
20:16imirkin_: you can access them via GALLIUM_HUD
20:17imirkin_: we might be exposing the wrong set ;)
20:35pmoreau: karolherbst: ;-)
20:56haagch: this is a bit annoying: https://www.youtube.com/watch?v=wSUC9Euvwvk
20:57haagch: wow, the whole recording freezes for seconds while the camera focuses
21:05haagch: oh, the renderonly branch was updated
21:12inglor: imirkin_: got some debug symbols and a new backtrace: http://ix.io/1PZg
22:04imirkin_: inglor: heh. so it's erroring in glXCreateContextAttribsARB - doesn't get too far
22:05imirkin_: inglor: i guess it gets an error. i've had some limited experience debugging this stuff, but really what you want to do is grab the parameters being sent over.
22:05imirkin_: inglor: you can try to do this with x11trace
22:11haagch: imirkin_: no compute shader extension supported in latest mesa git
22:12imirkin_: haagch: wtf? pastebin glxinfo?
22:12imirkin_: [or eglinfo or whatever]
22:13imirkin_: on the bright side ASTC is supported :)
22:14imirkin_:is reading through code now
22:15imirkin_: for some reason images aren't supported
22:19haagch: is there some automatic reclocking support in nouveau that can be enabled?
22:19imirkin_: but manual should work
22:19haagch: yes, but it's annoying
22:19imirkin_: i don't understand why you don't get image_load_store.
22:19imirkin_: you should.
22:22karolherbst: haagch: it is WIP
22:43pmoreau: What the heck! I haven’t rebased, nor have I modified that portion of the code for quite some time, but somehow it broke since last week…
22:45imirkin_: haagch: can you trace through and figure out why you're not getting image_load_store on context creation? i can't think of anything...
22:47imirkin_: haagch: you're getting counters + ssbo's ... but not images. very odd.
22:47haagch: https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/state_tracker/st_extensions.c#n445 here?
22:47imirkin_: case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
22:47imirkin_: if (class_3d >= NVE4_3D_CLASS)
22:47imirkin_: return NVC0_MAX_IMAGES;
22:47pmoreau: hakzsam: Would `mov b32 $r0 c0[0x0]; mov b32 $r1 c0[0x4]` be better than a `ld b64 $r0d c0[0x0]`, as the movs have a fixed latency?
22:47imirkin_: that should be returning NVC0_MAX_IMAGES for you, since NVEA_3D_CLASS >= NVE4_3D_CLASS
22:55pmoreau: … I can only blame myself for forgetting to initialise a variable…
22:55imirkin_: pmoreau: i think blob prefers them to be split up
22:55pmoreau: It’s quite interesting how long it took before biting me back: litteraly several months, and that path was always being used!
22:55imirkin_: pmoreau: there's a setting in the target which controls the load size
22:56pmoreau: For CONST movs, or loads in general?
22:56imirkin_: pmoreau: dunno. i think for LDC vs MOV. you can't load other things via MOV
22:57imirkin_: since i think on maxwell, LDC requires a barrier while MOV does not
22:58pmoreau: It does IIRC
22:59pmoreau: Do you have any advice on using the util_hash_table from Mesa, with ints as key and data? Cause I am currently casting from pointers to int, and back, but it doesn’t feel right
23:00pmoreau: I had a look at other drivers, and they seemed to do the same…
23:00imirkin_: yeah, i think that's pretty standard
23:43haagch: wow, 30 minutes for a nouveau only mesa build
23:43haagch: the k1 is really not very fast
23:43imirkin_: feel the power!
23:44imirkin_: haagch: i'm sure --disable-gallium-llvm would have made it much faster
23:45imirkin_: and unless you plan to run the one application in existence that uses glRenderMode(), the llvm thing totally doesn't matter
23:46imirkin_: [iirc old versions of blender used it... now they just use TF]
23:48haagch: gdb segfaulted...
23:48imirkin_: you're running glxinfo right?
23:48imirkin_: and *gdb* segfaults?
23:48imirkin_: oh wait
23:48imirkin_: i think that's expected
23:48imirkin_: it's not a segfault
23:49imirkin_: just run "continue"
23:49imirkin_: it's a SIGILL
23:49haagch: no, gdb segfaulted
23:49haagch: it returns NVC0_MAX_IMAGES
23:50imirkin_: can you check if glxinfo is reporting ARB_shader_image_load_store with your build?
23:51imirkin_: coz perhaps your original build was from before hakzsam's patches to enable some support on maxwell
23:51imirkin_: which i think inadvertently fixed some PIPE_CAP_GLSL stuff
23:51imirkin_: [although hm, again, doesn't explain the lack of image_load_store]
23:53haagch: oh wait, with this build i get compute shaders
23:53imirkin_: ok cool
23:54haagch: OpenGL 4.3
23:54imirkin_: so just something broken about the other build.
23:54imirkin_: you should actually have all the exts for GL 4.5, we just don't flip it on
23:54imirkin_: because it was requested that we do not do that.
23:55haagch: by whom?
23:55imirkin_: by people who have to ship nouveau and potentially face Khronos's wrath
23:55haagch: hm, with my release build from before I get OpenGL 4.3 now too. I could have sworn it's the exact same build that gave me 4.1 before...
23:56imirkin_: allegedly they get mad if you claim to support 4.4 or 4.5 but haven't passed the CTS suite, and don't care about 4.3 and lower? sounds fishy to me, but wtvr.
23:57imirkin_: and i don't have access to CTS, so it's difficult to fix the failures.
23:58imirkin_: and unlike dEQP, when a CTS test fails it helpfully provides the info of "this test has failed" rather than dEQP's more verbose output