07:31 fotonzade: hello
11:05 karolherbst: nice, we indeed have some out of bounds reads inside nvkm_gpuobj_memcpy_to
11:05 karolherbst: meaning where length isn't a multiple of 4
11:06 karolherbst: so we end up writing garbage into the GPU
11:06 karolherbst: because we always write 32 bits at once
11:07 karolherbst: and secboot is the only thing actually using it
11:07 karolherbst: skeggsb? any thoughts on that?
11:07 karolherbst: might explain some secboot fails
13:54 karolherbst: imirkin: random idea: "balancing" the constant part out of a mul+add instruction tree, so if you have ((a+5)*3+2)*3 we could convert that to a*9+51?
13:54 karolherbst: no idea if we do something like that
13:54 karolherbst: but that could potentially help with tex/image instructions, where we could fold the add into the r encoding
13:54 karolherbst: uhm *field
13:58 karolherbst: well the main idea would be to have a add(a, imm) so that operations could check that the add has a constant src
16:56 gdk: hello, does anyone know the difference between vertex program A and B on maxwell?
16:57 gdk: vertex program B seems to be the most commonly used one
22:06 pendingchaos: karolherbst: I'm fine with releasing wip changes for some compute invocations counter stuff if you're interested btw
22:06 pendingchaos: they should work fine except that they have a serious bug in them that I haven't figured out
22:06 pendingchaos: though from looking at the logs, it seems demmt didn't decode compute stuff on Pascal properly? so maybe a better method than macros could be used
22:08 karolherbst: pendingchaos: I didn't looked into the trace in detal, just that the a compute shader didn't show up
22:08 karolherbst: which should be kind of there if you want to test if invoked compute shaders gets counted :)
22:33 karolherbst: pendingchaos: well as long as they fix the CTS tests, I am quite fine with any change :D
22:35 pendingchaos: I've only used them with a modified piglit test, so I don't know if it'll work with the CTS
22:35 pendingchaos: it might though if you're lucky
22:35 pendingchaos: there is also a workaround that seems to work fine, though I'm not sure why it works
22:54 karolherbst: pendingchaos: well, probably a good idea to push those somewhere, so I or somebody else dan take a look
22:54 karolherbst: pendingchaos: btw, here is the list of remaining fails for pascal: https://trello.com/c/r056ZtSR/24-cts-master-461x-khronos-mustpass-gl44-master-status
22:54 karolherbst: it isn't _that_ much
22:54 karolherbst: and pipeline_statistics_query is optional
22:55 karolherbst: "shader_image_load_store.non-layered_binding" is a painful one to fix, because that tests 3d images
23:07 pendingchaos: karolherbst: done: https://github.com/pendingchaos/mesa/commit/45d5e8e8607d5f8337385a34faff3414ee1ec81d
23:09 karolherbst: pendingchaos: did you test if this works with the buffer way of doing those counters?
23:10 pendingchaos: you mean whether it works with glDispatchIndirect? yes I have
23:11 karolherbst: I mean, there are basically two ways to fetch those counter values
23:12 karolherbst: or so I think, let me check the CTS test
23:13 pendingchaos: oh, I think it just does glGetQueryObject or something
23:13 pendingchaos: not the query buffer object stuff
23:14 pendingchaos: should work fine though
23:15 karolherbst: yeah, the query buffer object thing
23:15 karolherbst: In the past I was simply trying to cheat and counted it on the API side, but obviously that didn't work :)
23:16 pendingchaos: to keep things simple, it just writes into memory where a QUERY_GET would instead
23:16 karolherbst: pendingchaos: in the CTS
23:16 karolherbst: external/openglcts/modules/gl/gl4cPipelineStatisticsQueryTests.cpp
23:16 karolherbst: PipelineStatisticsQueryTestFunctional2
23:17 karolherbst: PipelineStatisticsQueryTestFunctional2::executeTest should contain the actual overview of what gets tested
23:18 karolherbst: but yeah, I could just test your patch later
23:18 karolherbst: I am just currently doing a piglit run on my nir patches
23:18 karolherbst: pendingchaos: anyway, feel free to write piglit tests for the query buffer object stuff :)
23:18 karolherbst: I actually wrote my first real OpenGL code like this weekend :D
23:19 pendingchaos: this is the workaround btw: https://github.com/pendingchaos/mesa/commit/45d5e8e8607d5f8337385a34faff3414ee1ec81d#diff-7abeedaa0b93facf3a04318f630ede06R137
23:35 Lyude: anyone seen this on kepler recently?
23:35 Lyude: https://gist.github.com/nrr/d1690c1048f08c2b5d5c417c3ca9c8d4
23:36 Lyude: ( nrr ^ )
23:41 pendingchaos: I just realized that this might be why it doesn't work 100% the time: https://hastebin.com/inoxagageh.txt
23:42 pendingchaos: and I should really get to bed now
23:54 imirkin: karolherbst: it's not the 3d that's annoying. it's the fact that you have to stick the layer offset somewhere.
23:56 karolherbst: imirkin: so it's not like all the layers aren't stored after each other?
23:58 imirkin: well, maxwell+ handles 3d images fine
23:58 imirkin: with the tiling
23:58 imirkin: the problem is that it's binding a 2d layer of a 3d image
23:59 imirkin: but we have no way of representing that right now
23:59 imirkin: with a 2d array, we just bump up the start address
23:59 imirkin: but that won't work for a 3d texture
23:59 imirkin: in regular GL, you can't cast between 2d and 3d textures, so this doesn't come up