1. 13 Jul, 2018 5 commits
    • Gert Wollny's avatar
      Correct name of msaa_positions variable · 4fb77af0
      Gert Wollny authored
      4fb77af0
    • 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: Erik Faye-Lund's avatarErik Faye-Lund <erik.faye-lund@collabora.com>
      8cb5a194
    • Gert Wollny's avatar
      virgl: Allow RGB32* textures only as buffer object · be82fb58
      Gert Wollny authored
      When requesting a textur of the internal format GL_RGB32F Gallium will
      try to allocate a renderable texture and returns RGBA32F or RGBX32F, but
      when one requests GL_RGB32I or GL_RGB32UI the according 3-component
      texture will be returned. This leads to problems later, when one wants
      to use glCopyImageSubData to copy data between these textures that
      should be compatible, but way virgl and Gallium  handle this the latter
      fails with an assertion, because the per-texel bit size is different.
      
      By allowing the GL_RGB32* only for texture buffers these problems are
      avoided without losing the ARB_tbo_rgb32 extension (thanks Ilia Mirkin).
      be82fb58
    • Gert Wollny's avatar
      Expose ARB_copy_image if host supports it · 24c92876
      Gert Wollny authored
      24c92876
    • Gert Wollny's avatar
      mesa/main: clean only first LOD when the texture is rectangular or extern · b42d7752
      Gert Wollny authored
      Rectangular and extern textures don't support mip-maps, but when
      a texture allocation fails, then clear_texture_fields tried to clean all
      LOSs, which would fire an assertion further down the call chain in
      set_tex_image. Consequently, restrict the number of LODs to be cleaned
      to just level 0 for these textures.
      b42d7752
  2. 07 Jul, 2018 1 commit
  3. 05 Jul, 2018 4 commits
  4. 22 Jun, 2018 1 commit
  5. 20 Jun, 2018 1 commit
    • Gurchetan Singh's avatar
      Add VIRGL_BIND_SHADER_BUFFER · 08fe40dd
      Gurchetan Singh authored
      The guest needs to always mark SSBOs as unclean, since it's possible
      the shader can write to them without doing a transfer.
      
      We don't necessarily need to add VIRGL_BIND_SHADER_BUFFER, and we can
      do this just with PIPE_BIND_SHADER_BUFFER, but this seemed most
      consistent with prior commits.
      
      With some host side changes too, fixes:
          dEQP-GLES31.functional.shaders.builtin_var.compute.num_work_groups
      
      Change-Id: Iafb5ab6bdb4483806709641a5c6f769b0679e636
      08fe40dd
  6. 18 Jun, 2018 21 commits
  7. 17 Jun, 2018 1 commit
  8. 16 Jun, 2018 6 commits