RG can't be used to represent intensity, because RG uses swizzle RG01, while intensity uses RRRR.
Marek On Wed, Sep 5, 2018 at 4:36 AM, Gert Wollny <[email protected]> wrote: > From: Gert Wollny <[email protected]> > > Gallium picked R16G16_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. > > Picking an RG format instead of the LA format 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 <[email protected]> > --- > src/mesa/state_tracker/st_format.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/mesa/state_tracker/st_format.c > b/src/mesa/state_tracker/st_format.c > index 16a18c272d..b16ab9ea02 100644 > --- a/src/mesa/state_tracker/st_format.c > +++ b/src/mesa/state_tracker/st_format.c > @@ -1448,9 +1448,9 @@ static const struct format_mapping format_map[] = { > }, > { > { GL_INTENSITY16F_ARB, 0 }, > - { PIPE_FORMAT_I16_FLOAT, PIPE_FORMAT_L16A16_FLOAT, > + { PIPE_FORMAT_I16_FLOAT, PIPE_FORMAT_R16G16_FLOAT, > PIPE_FORMAT_I32_FLOAT, PIPE_FORMAT_R16G16B16A16_FLOAT, > - PIPE_FORMAT_L32A32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } > + PIPE_FORMAT_R32G32_FLOAT, PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } > }, > { > { GL_LUMINANCE16F_ARB, 0 }, > @@ -1491,7 +1491,7 @@ static const struct format_mapping format_map[] = { > }, > { > { GL_INTENSITY32F_ARB, 0 }, > - { PIPE_FORMAT_I32_FLOAT, PIPE_FORMAT_L32A32_FLOAT, > + { PIPE_FORMAT_I32_FLOAT, PIPE_FORMAT_R32G32_FLOAT, > PIPE_FORMAT_R32G32B32A32_FLOAT, 0 } > }, > { > -- > 2.16.4 > > _______________________________________________ > mesa-dev mailing list > [email protected] > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
