Message ID | 20190603004017.7114-1-imirkin@alum.mit.edu (mailing list archive) |
---|---|
Headers | show |
Series | Add C8, 30bpp and FP16 support to modetest | expand |
On Sun, Jun 02, 2019 at 08:40:08PM -0400, Ilia Mirkin wrote: > This series improves the pattern generation logic to support additional > formats, as well as a new "gradient" pattern (see patch comments on why > I found it useful). > > Furthermore, these formats are piped through to modetest, including the > ability to set a gamma table, which is necessary for the C8 indexed > format. > > This was tested on nouveau, and used for bring-up of the C8, XB30, and > FP16 formats on the NVIDIA hardware that supports these. Does nouveau also work with igt tests for this stuff? We do have support for interactive testing (i.e. "human pls check yourself" kind of tests) in igt, so ideally we could merge everything into one place. Long-term at least ... -Daniel > > Ilia Mirkin (10): > util: add C8 format, support it with SMPTE pattern > util: fix MAKE_RGBA macro for 10bpp modes > util: add gradient pattern > util: add fp16 format support > util: add cairo drawing for 30bpp formats when available > modetest: don't pretend that atomic mode includes a format > modetest: add an add_property_optional variant that does not print > errors > modetest: add C8 support to generate SMPTE pattern > modetest: add the ability to specify fill patterns on the commandline > modetest: add FP16 format support > > tests/modetest/buffers.c | 13 ++ > tests/modetest/modetest.c | 109 ++++++++-- > tests/util/format.c | 7 + > tests/util/pattern.c | 432 +++++++++++++++++++++++++++++++++++++- > tests/util/pattern.h | 7 + > 5 files changed, 543 insertions(+), 25 deletions(-) > > -- > 2.21.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
On Mon, Jun 3, 2019 at 3:32 AM Daniel Vetter <daniel@ffwll.ch> wrote: > > On Sun, Jun 02, 2019 at 08:40:08PM -0400, Ilia Mirkin wrote: > > This series improves the pattern generation logic to support additional > > formats, as well as a new "gradient" pattern (see patch comments on why > > I found it useful). > > > > Furthermore, these formats are piped through to modetest, including the > > ability to set a gamma table, which is necessary for the C8 indexed > > format. > > > > This was tested on nouveau, and used for bring-up of the C8, XB30, and > > FP16 formats on the NVIDIA hardware that supports these. > > Does nouveau also work with igt tests for this stuff? We do have support > for interactive testing (i.e. "human pls check yourself" kind of tests) in > igt, so ideally we could merge everything into one place. Long-term at > least ... nouveau has no special exclusions for programs that start with the letters "igt", so presumably it should be OK with the basic tests. However it was my impression that igt was targeted at automated testing, and all the tests basically required crc, which is questionable whether it exists in the hw in a manner usable by such tests, and definitely not supported by nouveau in any case. As a result, I haven't really taken much of a look. Having something flexible like modetest has been really useful in development. Being able to run with different formats, messing with resolutions, scaling parameters for overlays, different patterns -- these things have all been helpful in validating that the new features implemented actually work as expected. I plan on extending it further to cover HDR, as part of my bringup of HDR on nouveau. As an example, pre-GF119 FP16 support expects a 0..1024-valued input instead of 0..1 (something which we did not previously know). I was able to guess that by changing the pattern in the code to generate larger numbers, after seeing a black display with the 0..1 pattern. (I may have also messed with the gamma ramp to see if it was "working" or not - I forget already.) Having a tool that makes things like that simple to investigate is pretty valuable to me. -ilia
On Sun, Jun 2, 2019 at 8:40 PM Ilia Mirkin <imirkin@alum.mit.edu> wrote: > > This series improves the pattern generation logic to support additional > formats, as well as a new "gradient" pattern (see patch comments on why > I found it useful). > > Furthermore, these formats are piped through to modetest, including the > ability to set a gamma table, which is necessary for the C8 indexed > format. > > This was tested on nouveau, and used for bring-up of the C8, XB30, and > FP16 formats on the NVIDIA hardware that supports these. Just to follow up, I've successfully tested on an Intel SKL with C8 and XB30/XR30 as well (and confirmed that the GAMMA_LUT gets unset in a sequence of C8 followed by XB30). FP16 was not available on the kernel I am currently using (and perhaps not the HW?) -ilia > > Ilia Mirkin (10): > util: add C8 format, support it with SMPTE pattern > util: fix MAKE_RGBA macro for 10bpp modes > util: add gradient pattern > util: add fp16 format support > util: add cairo drawing for 30bpp formats when available > modetest: don't pretend that atomic mode includes a format > modetest: add an add_property_optional variant that does not print > errors > modetest: add C8 support to generate SMPTE pattern > modetest: add the ability to specify fill patterns on the commandline > modetest: add FP16 format support > > tests/modetest/buffers.c | 13 ++ > tests/modetest/modetest.c | 109 ++++++++-- > tests/util/format.c | 7 + > tests/util/pattern.c | 432 +++++++++++++++++++++++++++++++++++++- > tests/util/pattern.h | 7 + > 5 files changed, 543 insertions(+), 25 deletions(-) > > -- > 2.21.0 >
On Mon, Jun 03, 2019 at 04:57:43PM -0400, Ilia Mirkin wrote: > On Sun, Jun 2, 2019 at 8:40 PM Ilia Mirkin <imirkin@alum.mit.edu> wrote: > > > > This series improves the pattern generation logic to support additional > > formats, as well as a new "gradient" pattern (see patch comments on why > > I found it useful). > > > > Furthermore, these formats are piped through to modetest, including the > > ability to set a gamma table, which is necessary for the C8 indexed > > format. > > > > This was tested on nouveau, and used for bring-up of the C8, XB30, and > > FP16 formats on the NVIDIA hardware that supports these. > > Just to follow up, I've successfully tested on an Intel SKL with C8 > and XB30/XR30 as well (and confirmed that the GAMMA_LUT gets unset in > a sequence of C8 followed by XB30). FP16 was not available on the > kernel I am currently using (and perhaps not the HW?) https://patchwork.freedesktop.org/series/61345/ or a slightly older version: git://github.com/vsyrjala/linux.git fp16_scanout_4 in case you want to test it. > > -ilia > > > > > Ilia Mirkin (10): > > util: add C8 format, support it with SMPTE pattern > > util: fix MAKE_RGBA macro for 10bpp modes > > util: add gradient pattern > > util: add fp16 format support > > util: add cairo drawing for 30bpp formats when available > > modetest: don't pretend that atomic mode includes a format > > modetest: add an add_property_optional variant that does not print > > errors > > modetest: add C8 support to generate SMPTE pattern > > modetest: add the ability to specify fill patterns on the commandline > > modetest: add FP16 format support > > > > tests/modetest/buffers.c | 13 ++ > > tests/modetest/modetest.c | 109 ++++++++-- > > tests/util/format.c | 7 + > > tests/util/pattern.c | 432 +++++++++++++++++++++++++++++++++++++- > > tests/util/pattern.h | 7 + > > 5 files changed, 543 insertions(+), 25 deletions(-) > > > > -- > > 2.21.0 > >
On Mon, 3 Jun 2019 at 01:40, Ilia Mirkin <imirkin@alum.mit.edu> wrote: > > This series improves the pattern generation logic to support additional > formats, as well as a new "gradient" pattern (see patch comments on why > I found it useful). > > Furthermore, these formats are piped through to modetest, including the > ability to set a gamma table, which is necessary for the C8 indexed > format. > > This was tested on nouveau, and used for bring-up of the C8, XB30, and > FP16 formats on the NVIDIA hardware that supports these. > > Ilia Mirkin (10): > util: add C8 format, support it with SMPTE pattern I did not verify the numbers in this patch, but it looks reasonable: Acked-by: Emil Velikov <emil.velikov@collabora.com> > util: fix MAKE_RGBA macro for 10bpp modes > util: add gradient pattern > util: add fp16 format support > util: add cairo drawing for 30bpp formats when available > modetest: don't pretend that atomic mode includes a format There a small, would be great but not required, comment here (part of which you addressed with in 08/10) > modetest: add an add_property_optional variant that does not print > errors > modetest: add C8 support to generate SMPTE pattern > modetest: add the ability to specify fill patterns on the commandline > modetest: add FP16 format support > Patches 2-10 are Reviewed-by: Emil Velikov <emil.velikov@collabora.com> -Emil
On Thu, 6 Jun 2019 at 16:54, Emil Velikov <emil.l.velikov@gmail.com> wrote: > > On Mon, 3 Jun 2019 at 01:40, Ilia Mirkin <imirkin@alum.mit.edu> wrote: > > > > This series improves the pattern generation logic to support additional > > formats, as well as a new "gradient" pattern (see patch comments on why > > I found it useful). > > > > Furthermore, these formats are piped through to modetest, including the > > ability to set a gamma table, which is necessary for the C8 indexed > > format. > > > > This was tested on nouveau, and used for bring-up of the C8, XB30, and > > FP16 formats on the NVIDIA hardware that supports these. > > > > Ilia Mirkin (10): > > util: add C8 format, support it with SMPTE pattern > I did not verify the numbers in this patch, but it looks reasonable: > Acked-by: Emil Velikov <emil.velikov@collabora.com> > > > util: fix MAKE_RGBA macro for 10bpp modes > > util: add gradient pattern > > util: add fp16 format support > > util: add cairo drawing for 30bpp formats when available > > modetest: don't pretend that atomic mode includes a format > There a small, would be great but not required, comment here (part of > which you addressed with in 08/10) > Grr scratch that part about 08/10 - I misread the format_str parsing. -Emil