This patch is needed to help implement half-float texturing and rendering for the vc4 driver in mesa. This small patch introduces the cpp value for the RGBA64 texture. A future patch will include updates to vc4_render_cl.c to handle HDR color stores. --- drivers/gpu/drm/vc4/vc4_validate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/vc4/vc4_validate.c b/drivers/gpu/drm/vc4/vc4_validate.c index 2db485abb186..29a4a21b5864 100644 --- a/drivers/gpu/drm/vc4/vc4_validate.c +++ b/drivers/gpu/drm/vc4/vc4_validate.c @@ -646,6 +646,9 @@ reloc_tex(struct vc4_exec_info *exec, case VC4_TEXTURE_TYPE_S8: cpp = 1; break; + case VC4_TEXTURE_TYPE_RGBA64: + cpp = 8; + break; case VC4_TEXTURE_TYPE_ETC1: /* ETC1 is arranged as 64-bit blocks, where each block is 4x4 * pixels. @@ -657,7 +660,6 @@ reloc_tex(struct vc4_exec_info *exec, case VC4_TEXTURE_TYPE_BW1: case VC4_TEXTURE_TYPE_A4: case VC4_TEXTURE_TYPE_A1: - case VC4_TEXTURE_TYPE_RGBA64: case VC4_TEXTURE_TYPE_YUV422R: default: DRM_DEBUG("Texture format %d unsupported\n", type);
Nick Kreeger nick.kreeger@gmail.com writes:
This patch is needed to help implement half-float texturing and rendering for the vc4 driver in mesa. This small patch introduces the cpp value for the RGBA64 texture. A future patch will include updates to vc4_render_cl.c to handle HDR color stores.
We'll need a GET_PARAM ioctl param to say "we support RGBA64 textures" and use that from vc4_screen.c's format checking, otherwise new Mesa on old kernels will try to expose RGBA64 textures and fail at rendering time. If we're introducing a GET_PARAM, we probably want to just do half float rendering and texturing at the same time.
dri-devel@lists.freedesktop.org