I think you don't have to check luminance. Returning just the alpha bits should be fine.
Marek On Mon, Sep 10, 2018 at 4:33 PM, Marek Olšák <mar...@gmail.com> wrote: > Reviewed-by: Marek Olšák <marek.ol...@amd.com> > > Marek > > On Mon, Sep 10, 2018 at 6:39 AM, Gert Wollny <gw.foss...@gmail.com> wrote: >> From: Gert Wollny <gert.wol...@collabora.com> >> >> Gallium may pick L16A16_FLOAT to represent GL_INTENSITY16F if no intensity >> format is provided by the driver. However, when calling >> >> glGetTexLevelParameteriv(..., GL_TEXTURE_INTENSITY_SIZE, ...) >> >> mesa will return a zero size because the actually used format has no >> intensity channel and as a fallback only the sizes of the red/green >> channels are checked. >> >> Also checking for LA sizes in the allocated texture resolves this problem. >> >> Fixes (on virgl): >> ext_framebuffer_multisample-fast-clear GL_ARB_texture_float * >> >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=107832 >> >> Signed-off-by: Gert Wollny <gert.wol...@collabora.com> >> --- >> src/mesa/main/texparam.c | 7 +++++++ >> 1 file changed, 7 insertions(+) >> >> diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c >> index b5d86d64d5..643a349328 100644 >> --- a/src/mesa/main/texparam.c >> +++ b/src/mesa/main/texparam.c >> @@ -1426,6 +1426,13 @@ get_tex_level_parameter_image(struct gl_context *ctx, >> _mesa_get_format_bits(texFormat, >> GL_TEXTURE_GREEN_SIZE)); >> } >> + if (*params == 0 && pname == GL_TEXTURE_INTENSITY_SIZE) { >> + /* Gallium may store intensity as LA */ >> + *params = MIN2(_mesa_get_format_bits(texFormat, >> + >> GL_TEXTURE_LUMINANCE_SIZE), >> + _mesa_get_format_bits(texFormat, >> + GL_TEXTURE_ALPHA_SIZE)); >> + } >> } >> else { >> *params = 0; >> -- >> 2.16.4 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev