Message ID | 20181101044227.5517-1-nick.kreeger@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Add RGBA64 texture cpp for vc4 driver. | expand |
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.
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);