ChanServ changed the topic of #etnaviv to: #etnaviv - the home of the reverse-engineered Vivante GPU driver - Logs https://oftc.irclog.whitequark.org/etnaviv
mwalle has joined #etnaviv
lynxeye has joined #etnaviv
frieder has joined #etnaviv
frieder has quit []
frieder has joined #etnaviv
mvlad has joined #etnaviv
pcercuei has joined #etnaviv
mvlad has quit [Remote host closed the connection]
<lynxeye> austriancoder: Are you planning on working on full GLES3 support on GC2000? Reason I'm asking is that I suspect that there are some bugs in the halti0 ETC2 patch/unpatch code when the transfer doesn't update the whole miplevel, but all that code is dead for spec compliant apps until GC2000 exposes GLES3. Personally I feel like GC3000+ is a much more reasonable target for GLES3 and it would allow us to get rid of the ETC2 workaround
<lynxeye> , instead of sinking time into fixing the corner cases. What do you think?
<cphealy> GC2000 is emulating other GLES3 features as it's not GLES3 HW feature complete, right?
frieder has quit [Remote host closed the connection]
<lynxeye> cphealy: It's not black and white, but a spectrum. Only halti5 (mostly GC7000) added all the features to support GLES3 without any emulation, i.o.w. with minimal effort from the driver side. Lower halti versions require gradually more features emulated with halti0 aka GC2000 being the first one that has just enough features in hardware to support GLES3 with lots of emulation done on the driver side.
<cphealy> Ahh, so even GC3000 requires some level of emulation?
<pH5> I thought even GC7000 would require some amount of emulation, e.g. 32-bit float rgba renderbuffers? I only see 2-component 32f modes in rnndb.
<lynxeye> cphealy: Yep, afaik GC3000 can't do sRGB rendering and RG render targets, which are mandatory for GLES3.
<lynxeye> pH5: Right, those use 2 MRT slots. But for that one you could argue that the hardware is designed to work that way. At least you don't need to take an extra expensive path to implement them like using XRGB buffers to implement RG render targets.
<lynxeye> So depends on your definition of emulation. ;)
<cphealy> tnx for the detail @lynxeye
<lynxeye> pH5: Also, aren't 32bpc float rendertargets a gles 3.2 feature? For now I'm just concerned about base gles3.0.
f_ has joined #etnaviv
lynxeye has quit [Quit: Leaving.]
<bl4ckb0ne> is there any doc (from constructor or reverse engineering) regarding flat/smooth shading ? I saw this https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/drivers/etnaviv/etnaviv_rasterizer.c?ref_type=heads#L48 but it doesn't looks like its used down the line
<austriancoder> bl4ckb0ne: register docs are here https://github.com/etnaviv/etna_viv/tree/master/rnndb what soc are you targeting?
<bl4ckb0ne> thanks
<bl4ckb0ne> GC7000 rev 6069
<austriancoder> bl4ckb0ne: I have some not yet pushed bits for rnndb for this topic
<bl4ckb0ne> anything interesting in for this case?
<austriancoder> yes .. interpolation modes ..
<bl4ckb0ne> huh neat
<austriancoder> dinner is calling but I can push the rnndb changes tomorrow
f_ has quit [Ping timeout: 480 seconds]
<bl4ckb0ne> sounds good, thanks
<bl4ckb0ne> anything i can do to help in the meantime?
<austriancoder> keep in mind that this are just the register definitions .. the driver (state emit, linker, ..) does not make use of it
<austriancoder> and flat/smooth shading is broken for etnaviv - I think - on all models
<bl4ckb0ne> thats what i understood while grepping the driver
<austriancoder> great
<austriancoder> a good starting point would be to fix this line: bool interpolate_always = true; - found in etnaviv_compiler_nir.c
<bl4ckb0ne> ill get on that, thanks
f_ has joined #etnaviv
f_ has quit [Ping timeout: 480 seconds]
karolherbst has joined #etnaviv
pcercuei has quit [Quit: Lost terminal]