Skip to content
  • Gert Wollny's avatar
    virgl: Add support for glGetMultisample · 8cb5a194
    Gert Wollny authored
    
    
    Use caps to obtain the multisample sample positions for up to 16
    positions and implement the according Gallium interface.
    
    This implemenation (plus its counterpart in virglrenderer) assume that
    the fixed sample position are always the same for a given number of samples
    over the whole live time of a qemu session. It also assumes that sample
    series are only given for 2, 4, 8, and 16 samples, and for intermediate
    numbers N of samples the next higher supported set from above list is picked
    and the sample positions for the first N samples are returned accordingly.
    
    Fixes (when run on GL host):
      dEQP-GLES31.functional.texture.multisample.samples_1.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_2.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_3.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_4.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_8.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_10.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_12.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_13.sample_position
      dEQP-GLES31.functional.texture.multisample.samples_16.sample_position
    
      v2: remove unrelated chunk (thanks Ilia Mirkin)
      v3: - also return positions for intermediate sample counts
          - fix unused varible warning
          - update description
      v4: explain better what this patch assumes and how it handles sample numbers
          that are not directly advertised (thanks go to Erik Faye-Lund for making
          me aware that this should be documented)
    
    Signed-off-by: default avatarGert Wollny <gert.wollny@collabora.com>
    Reviewed-by: default avatarErik Faye-Lund <erik.faye-lund@collabora.com>
    8cb5a194