Description
Things we would need to do for sure:
-
Add the RGBA16f format to
src/gallium/drivers/vc4/vc4_formats.c
based on RGBA16f inV3D_IDENT1
bit 24 -
Add "is a float texture" to the texture shader key (
v3d_setup_shared_key()
) -
Update the kernel's
vc4_validate.c
to know about RGBA64's texture cpp. -
Use "is a float texture" to do two texture loads per sample and unpack 16f instead of 8-bit unorm in vc4_program.c.
-
Add "is a float render target" to the FS key
-
Use "is a float render target" to do two writes to the render target with 16f components instead of one with 8-bit unorm components.
-
Update the kernel's
vc4_render_cl.c
to know about "HDR" color stores. -
Apply workaround for HW-2619 and HW-2645 noted in the HW specifications at https://docs.broadcom.com/docs/12358545