ChanServ changed the topic of #lima to: Development channel for open source lima driver for ARM Mali4** GPUs - Kernel has landed in mainline, userspace driver is part of mesa - Logs at https://people.freedesktop.org/~cbrill/dri-log/index.php?channel=lima and https://freenode.irclog.whitequark.org/lima - Contact ARM for binary driver support!
buzzmarshall has quit [Read error: Connection reset by peer]
chewitt has joined #lima
chewitt has quit [Quit: Zzz..]
chewitt has joined #lima
Barada has joined #lima
megi has quit [Ping timeout: 240 seconds]
_whitelogger has joined #lima
dddddd has quit [Remote host closed the connection]
<anarsoul> btw opengl2 renderer in ioq3 almost works
<anarsoul> it definitely needs depth reload though
<anarsoul> and job pipelining
<rellla> anarsoul: do you have any mali deqp test at hand which uses depth reload?
<anarsoul> nope
<rellla> should this be handled like the viewport reload is done?
<anarsoul> maybe check fixes list for panfrost depth reload mr?
<anarsoul> rellla: it should be handled similar to color buffer reload (wallpapering)
<anarsoul> basically whenever we do wallpapering we should also reload depth
<anarsoul> rellla: the point is that we likely can't dump what blob does (since it doesn't reload depth)
<anarsoul> I'll maybe experiment with it sometime this or next week
<anarsoul> rellla: you want to try to implement it yourself?
<anarsoul> I can guide you if you've got some time :)
<rellla> i searching for an "easy" task :p
<anarsoul> that's actually easy enough
<anarsoul> I'd say implementing gl_FragDepth should take just few hours
<anarsoul> after it's done wiring depth reload is easy
<rellla> basically i want to fix this damn remaining test http://imkreisrum.de/deqp/depth_stencil_400/result_single.xml
<anarsoul> drop it for now? :)
<anarsoul> and get back to it later with fresh mind
<rellla> and find out, why some more tests fail on 450...
<anarsoul> 0x0C [3] depth test
<anarsoul> we have 8 + 4 bits not decoded
<rellla> they aren't set by the blob
<anarsoul> so there should be block of 4 bits that select a register to take depth from and a register to take stencil from
<anarsoul> and there should be 2 bits that enable writing depth and writing stencil by fragment shader
<anarsoul> you'll have to experiment with it
<anarsoul> beside that
<anarsoul> add st_depth and st_stencil (start with depth) ops to ppir
<rellla> we have the upper 16bits of 0x1C [7] stencil test set by the blob sometimes
<anarsoul> basically st_depth should be similar to st_col
<anarsoul> just use different reg (e.g. $1 for depth)
<anarsoul> then just handle FRAG_RESULT_DEPTH for ppir_compile_nir for output variables
<anarsoul> and in nir_intrinsic_store_output
<anarsoul> I'd start with ppir changes first and make sure it produces reasonable result
<anarsoul> you'll need to add flags to lima_fs_shader_state indicating whether it writes depth and stencil
<rellla> thanks for guiding, i'll see if i can start working on it :)
<anarsoul> and then if either of these flags are set modify 0x0C [3] depth test to enable write of depth and/or stencil and indicate registers that they should be taken from
<anarsoul> rellla: if you're not starting it sometime this week I'll just do it :)
<rellla> feel free to do it, i'll let you know, if i have found out sth interesting ;)
yann|work has quit [Ping timeout: 265 seconds]
<MoeIcenowy> anarsoul: is there anything that writes to stencil?
<MoeIcenowy> I only know FragDepth...
<anarsoul> gl_FragStencil
<anarsoul> it has writes_depth and writes_stencil
megi has joined #lima
yann|work has joined #lima
<rellla> anarsoul: the way you described above is for implementing gl_FragDepth, isn't it? but that's only in spec for glsl1.10/OpenGL2.0 and not for glslES1.00/OpenGLES2.0!? so at least this shouldn't be the showstopper for the failing deqp tests?
megi has quit [*.net *.split]
ezequielg has quit [*.net *.split]
MoeIcenowy has quit [*.net *.split]
bshah has quit [*.net *.split]
warpme_ has quit [*.net *.split]
cyrozap has quit [*.net *.split]
Viciouss has quit [*.net *.split]
ddevault has quit [*.net *.split]
UnivrslSuprBox has quit [*.net *.split]
lvrp16 has quit [*.net *.split]
austriancoder has quit [*.net *.split]
afaerber has quit [*.net *.split]
marex-cloud has quit [*.net *.split]
z3ntu_ has quit [*.net *.split]
wiewo has quit [*.net *.split]
narmstrong has quit [*.net *.split]
arti has quit [*.net *.split]
rellla has quit [*.net *.split]
UnivrslSuprBox has joined #lima
marex-cloud has joined #lima
wiewo has joined #lima
afaerber has joined #lima
lvrp16 has joined #lima
austriancoder has joined #lima
tlwoerner has quit [*.net *.split]
Net147_ has quit [*.net *.split]
minicom has quit [*.net *.split]
rellla has joined #lima
megi has joined #lima
bshah has joined #lima
MoeIcenowy has joined #lima
warpme_ has joined #lima
ezequielg has joined #lima
Viciouss has joined #lima
ddevault has joined #lima
cyrozap has joined #lima
narmstrong has joined #lima
arti has joined #lima
marex-cloud has quit [Ping timeout: 242 seconds]
lvrp16 has quit [Ping timeout: 242 seconds]
austriancoder has quit [Ping timeout: 242 seconds]
Net147 has joined #lima
ric96 has quit [Ping timeout: 256 seconds]
lvrp16 has joined #lima
ric96 has joined #lima
austriancoder has joined #lima
chewitt has quit [Read error: Connection reset by peer]
chewitt has joined #lima
buzzmarshall has joined #lima
warpme_ has quit [Quit: Connection closed for inactivity]
Barada has quit [Quit: Barada]
dddddd has joined #lima
tlwoerner has joined #lima
warpme_ has joined #lima
minicom has joined #lima
yann|work has quit [Ping timeout: 268 seconds]
ecloud has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
ecloud has joined #lima
<anarsoul> rellla: gl_FragDepth shouldn't be a stopper, but missing depth reload is
<anarsoul> the idea is to reload depth with the same wallpapering technique, just use different shader that samples depth texture and writes depth
yann|work has joined #lima
warpme_ has quit [Quit: Connection closed for inactivity]
<MoeIcenowy> anarsoul: so the "reload" here means filling the internal tiled buffer?
<MoeIcenowy> anarsoul: I'm going to run a grep on the blob dumps of the "unknown bits 4-15"
<anarsoul> MoeIcenowy: yes
<anarsoul> MoeIcenowy: good luck, but I doubt blob does it :)
<MoeIcenowy> anarsoul: it's still running, but multiple bits are used
<MoeIcenowy> for bit 4-7 only 0x..30 is known
<MoeIcenowy> for bit 8-11 [46c] are seen
<MoeIcenowy> for 12-15 [12469]
<MoeIcenowy> at least these bits are not an untouched zone
<MoeIcenowy> oh the 0x30 is only seen when bit 8-15 is not set
<MoeIcenowy> and there're examples that the 4-15 bits are 0
UnivrslSuprBox has quit [*.net *.split]
afaerber has quit [*.net *.split]
wiewo has quit [*.net *.split]
afaerber has joined #lima
wiewo has joined #lima
UnivrslSuprBox has joined #lima
<MoeIcenowy> is it possible to retrieve a fragment shader attached to the RSW in a dump?
<MoeIcenowy> I doubt Z reload happens at fbo/dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_depth_component16/dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebi
<MoeIcenowy> nd_rbo_rgb565_depth_component16.dump.0001
<MoeIcenowy> yes it is.
<MoeIcenowy> the fragment shader matches pp_reload_program in lima
<MoeIcenowy> but the RSW sets 0x00000c00 at depth_test
<MoeIcenowy> corresponding S reload in stencil_index8 test sets 0x00001400 and uses another shader
<MoeIcenowy> which starts to be different at the 7th word
<MoeIcenowy> (counting from 1)
warpme_ has joined #lima
<MoeIcenowy> Z reload texture uses the mysterious texel format 0x32
<MoeIcenowy> which might be read the whole 32-bit as an integer?
<MoeIcenowy> (and then directly feed to the Z buf
champagneg has quit [Quit: WeeChat 2.3]
champagneg has joined #lima
buzzmarshall has quit [Remote host closed the connection]
<MoeIcenowy> BTW there's an EXT that exports gl_FragDepthEXT on GLES2
<MoeIcenowy> so I start to wonder whether ARM doesn't export it
<MoeIcenowy> s/whether/why/
<MoeIcenowy> maybe it cannot suit general shaders, only reloading?
buzzmarshall has joined #lima
<anarsoul> MoeIcenowy: I'll check it later today
<anarsoul> MoeIcenowy: cool
<anarsoul> so looks like 0xc00 forces fs to write depth
<anarsoul> and in this case it's taken from reg 0 if shader is the same as pp_reload_program
<anarsoul> I'm not sure what is texel format 0x32
<anarsoul> it should work for generic shaders as well :)
<anarsoul> since there's no magic in reload shader
warpme_ has quit [Quit: Connection closed for inactivity]