<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)"}
<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]