alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
nerdboy has quit [Ping timeout: 245 seconds]
warpme_ has quit [Quit: Connection closed for inactivity]
robertfoss has quit [Ping timeout: 268 seconds]
robertfoss has joined #panfrost
stikonas has quit [Remote host closed the connection]
vstehle has quit [Ping timeout: 265 seconds]
pH5 has quit [Ping timeout: 246 seconds]
pH5 has joined #panfrost
megi has quit [Ping timeout: 265 seconds]
nerdboy has joined #panfrost
Elpaulo has quit [Quit: Elpaulo]
karolherbst has quit [Read error: Connection reset by peer]
karolherbst has joined #panfrost
davidlt has joined #panfrost
vstehle has joined #panfrost
cyrozap has quit [Quit: Client quit]
cyrozap has joined #panfrost
<tomeu> alyssa: lots of interesting stuff here: https://lava.collabora.co.uk/scheduler/job/2103979/log_file/plain
<tomeu> but there's also lots of noise because of pipe_resource_reference accessing dst even if it's NULL
<tomeu> that in itself should be harmless, but I wonder if it's also happening at times when panfrost thinks it has a resource, but hasn't
<tomeu> alyssa: some interesting stuff I have fished out: ../src/gallium/drivers/panfrost/pan_job.c:1130:64: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'"}
<tomeu> #0 0xacf953d6 in pan_pack_color ../src/gallium/drivers/panfrost/pan_job.c:1130"}
<tomeu> #1 0xacf953d6 in panfrost_batch_clear ../src/gallium/drivers/panfrost/pan_job.c:1204"}
<tomeu> #3 0x4c3d0e in deqp::gles2::TestCaseWrapper::iterate(tcu::TestCase*) (/deqp/modules/gles2/deqp-gles2+0x2ad0e)"}
<tomeu> #2 0xaae3226a in st_Clear ../src/mesa/state_tracker/st_cb_clear.c:513"}
<tomeu> #4 0x828cf2 in tcu::TestSessionExecutor::iterateTestCase(tcu::TestCase*) (/deqp/modules/gles2/deqp-gles2+0x38fcf2)"}
tomeu has quit [Excess Flood]
<HdkR> lol
tomeu has joined #panfrost
<tomeu> crap, sorry
<HdkR> oops :D
<tomeu> too much coffee
<tomeu> alyssa: don't get this one:
<tomeu> ../mesa/src/gallium/drivers/panfrost/pan_job.c:1130:64: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
<tomeu> oh, int
<tomeu> should be uint
<tomeu> guess the compiler needs to be hinted that the result of the | is an uint
<HdkR> This is just UB tracking right?
<HdkR> Left shifting through the sign bit is technically UB :P
<tomeu> yeah, but there should be no sign bit
<HdkR> That's why you use uint for the type instead of int :)
<icecream95> Why can't we have a compilation option to make types unsigned by default?
<HdkR> eh
<HdkR> I just try not to use "int" type
<tomeu> oh, that's an arg to a function with an uint32 param
<tomeu> the compiler appears to need some further help to not use a signed int as a temp
<HdkR> tomeu: With a const?
<HdkR> So something like `255 << val`?
<HdkR> So just use the u suffix? :)
<tomeu> a cast seems to have been enough
<HdkR> tomeu: put a `u` suffix on the shift amount and it should be fine
<HdkR> Will keep it as unsigned
<tomeu> ah, that must have been it
<tomeu> makes more sense
<tomeu> thanks!
<HdkR> NP
yann has quit [Ping timeout: 240 seconds]
pH5 has quit [Remote host closed the connection]
guillaume_g has joined #panfrost
icecream95 has quit [Ping timeout: 250 seconds]
yann has joined #panfrost
abordado has joined #panfrost
karolherbst has quit [Ping timeout: 252 seconds]
raster has joined #panfrost
megi has joined #panfrost
karolherbst has joined #panfrost
<tomeu> HdkR: making the shift constant u didn't help, btw
karolherbst has quit [Client Quit]
<HdkR> tomeu: Huh, does that macro actually return int or something?
<HdkR> `float_to_ubyte`
<HdkR> seemed like it shouldn't...
<robmur01> AFAICS that will need an explicit cast, since float_to_ubyte() returns uint8_t
<robmur01> TBH I'm surprised that even an implicit promotion to int is happening
<HdkR> Yea, bit curious
<robmur01> in principle I'd expect all 4 shifts to compile to constant 0
<robmur01> (oh, except the <<0, duh)
<tomeu> there's a bunch of explicit casts in src/util/format/u_format_yuv.c that seem to be due to that
karolherbst has joined #panfrost
karolherbst has quit [Client Quit]
karolherbst has joined #panfrost
warpme_ has joined #panfrost
abordado_ has joined #panfrost
abordado has quit [Ping timeout: 250 seconds]
abordado_ is now known as abordado
davidlt has quit [Ping timeout: 268 seconds]
rhyskidd has joined #panfrost
davidlt has joined #panfrost
raster has quit [Ping timeout: 240 seconds]
raster has joined #panfrost
m][sko has joined #panfrost
<urjaman> bit ops (shifts, and, or etc) promote chars/uchars to an int
<urjaman> i know that too well from AVR coding
<HdkR> Ah, I think I remember that messing with me in the spec before as well...
karolherbst has quit [Remote host closed the connection]
karolherbst has joined #panfrost
<alyssa> tomeu: Beep.
m][sko has quit [Remote host closed the connection]
guillaume_g has quit [Quit: Konversation terminated!]
guillaume_g has joined #panfrost
guillaume_g has quit [Client Quit]
guillaume_g has joined #panfrost
<alyssa> tomeu: Ok a bunch of those look like legitimate bugs, but not the ones causing our current flake .
raster has quit [Remote host closed the connection]
raster has joined #panfrost
m][sko has joined #panfrost
m][sko has quit [Remote host closed the connection]
<robmur01> urjaman: right you are, those good old "usual integer conversions" again...
<tomeu> alyssa: most of the stuff I fixed locally seem harmless, but with so much noise...
<alyssa> tomeu: Yeah.
nerdboy has quit [Ping timeout: 268 seconds]
<alyssa> Probably worth it to clear the noise at any rate.
<alyssa> The more static analysis, the better~
<tomeu> yeah, wonder what others will think though
<tomeu> some of the stuff is clearly harmless and removing the UB makes the code a bit more verbose
<alyssa> That's ok.
<tomeu> so it's a tradeoff not everybody may agree with
<alyssa> I mean
<alyssa> others are using UBSAN too, they'll need the fixes eventually..
<alyssa> Speaking of there's some noise on coverity worth combing through.
<alyssa> Though the UBSAN issues seem more important
<HdkR> asan + ubsan is good coverage
<HdkR> memsan seems to be a bit too aggressive on my project
<HdkR> Complains about unaligned accesses
<karolherbst> HdkR: on a GPU that would be fatal :p
<HdkR> karolherbst: Time to emit a bunch of 8bit loads and glue them together :P
<karolherbst> yep
urjaman has quit [Ping timeout: 250 seconds]
<HdkR> I'll probably clean up the alignments as I go, but not super high priority here :)
urjaman has joined #panfrost
<HdkR> msan also has the unfortunate side-effect that some STL things aren't msan free
<HdkR> er, msan clean
davidlt has quit [Ping timeout: 246 seconds]
raster has quit [Quit: Gettin' stinky!]
sravn has quit [Ping timeout: 268 seconds]
sravn has joined #panfrost
<alyssa> tomeu: Do you think maybe I should add that one test to the skip file, since otherwise my massive MR fixes a huge number of real world (nondeqp) issues?
<alyssa> and we likely need other code i.e. your ubsan fixes to figure it out so might as well merge now?
<tomeu> alyssa: yeah, I agree
guillaume_g has quit [Quit: Konversation terminated!]
karolherbst has quit [Ping timeout: 245 seconds]
davidlt has joined #panfrost
yann has quit [Ping timeout: 246 seconds]
jschwart has joined #panfrost
yann has joined #panfrost
icecream95 has joined #panfrost
stikonas has joined #panfrost
jschwart has quit [Ping timeout: 250 seconds]
megi has quit [Quit: WeeChat 2.6]
megi has joined #panfrost
nerdboy has joined #panfrost
leinax has joined #panfrost
abordado has quit [Ping timeout: 240 seconds]
davidlt has quit [Ping timeout: 252 seconds]
robmur01 has quit [Read error: Connection reset by peer]
robmur01_ has joined #panfrost
cwabbott has quit [Remote host closed the connection]
cwabbott has joined #panfrost
hanetzer has quit [Remote host closed the connection]
hanetzer has joined #panfrost
karolherbst has joined #panfrost
leinax has quit [Remote host closed the connection]