[Libre-soc-bugs] [Bug 230] Video opcode development and discussion

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Dec 15 08:01:40 GMT 2020


https://bugs.libre-soc.org/show_bug.cgi?id=230

--- Comment #52 from Jacob Lifshay <programmerjake at gmail.com> ---
(In reply to cand from comment #50)
> > Note that 1555 and 565 are both in the list of formats required by Vulkan.
> 
> I think you misread the tables, like I did at first. Only the ones with a
> tickmark, cross or double-cross are required, the formats with nothing are
> optional. So 5-6-5 is mandatory, 5-5-5-1 not.

VK_FORMAT_A1R5G5B5_UNORM_PACK16 is mandatory. I just re-checked.

> > 2-10-10-10
> 
> This does not require the variable widths; as you use a 32b register and
> shift out 10*3 bits, the last two are naturally handled.
> 
> I suppose the question now is whether 5-6-5 (and possible other
> different-width formats required) should be hardcoded or used through the
> variable-width instr.

Since we need formats to be dynamically-selectable (effectively required by
Vulkan since we want to avoid recompiling shaders or having too many variant
shaders) the texture load instruction(s) will need to support all the different
formats, so, we might as well hard-wire the decoders for those formats at least
for the texture load instruction, maybe also for framebuffer read/write and
copy ops too. Those can probably share instructions.

So, I think variable shifts will be needed for other stuff, but we should just
use the dedicated texture read instructions here.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list