1. 30 May, 2018 1 commit
  2. 25 Apr, 2018 1 commit
  3. 12 Oct, 2017 1 commit
  4. 10 Oct, 2017 2 commits
    • Eric Anholt's avatar
      mesa: Expose GL_OES_required_internalformat on GLES contexts. · c16a7443
      Eric Anholt authored
      
      
      This extension is effectively a backport of GLES3's internalformat
      handling to GLES 1/2.  It guarantees that sized internalformats specified
      for textures and renderbuffers have at least the specified size stored.
      That's a pretty minimal requirement, so I think it can be dummy_true and
      exposed as a standard in Mesa.
      
      As a side effect, it also allows GL_RGB565 to be specified as a texture
      format, not just as a renderbuffer.  Mesa had previously been allowing 565
      textures, which angered DEQP in the absence of this extension being
      exposed.
      
      v2: Allow 2101010rev with sized internalformats even on GLES3, citing the
          extension spec.  Extend extension checks for GLES2 contexts exposing
          with texture_float, texture_half_float, and texture_rg.
      v3: Fix ALPHA/LUMINANCE/LUMINANCE_ALPHA error checking (GLES3 CTS
          failures)
      v4: Mark GL_RGB10 non-color-renderable on ES, fix A/L/LA errors on GLES2
          with float formats.
      Reviewed-by: default avatarNicolai Hähnle <nicolai.haehnle@amd.com>
      c16a7443
    • Eric Anholt's avatar
      mesa: Only expose GLES's EXT_texture_type_2_10_10_10_REV if supported in HW. · cee5585d
      Eric Anholt authored
      
      
      Previously, we were downconverting to 8888 automatically if the hardware
      didn't suport it.  However, with the advent of
      GL_OES_required_internalformat, we have to actually store the
      internalformats we advertise support for.  And, it seems rather
      disingenuous to advertise the extension if we don't actually support it.
      
      v2: Throw an error when using the format on ES2 without the extension present.
      Reviewed-by: default avatarNicolai Hähnle <nicolai.haehnle@amd.com>
      cee5585d
  5. 27 Jan, 2017 1 commit
  6. 09 Nov, 2016 1 commit
  7. 07 Sep, 2016 1 commit
  8. 12 Jul, 2016 1 commit
  9. 08 Jul, 2016 1 commit
  10. 03 May, 2016 3 commits
  11. 23 Apr, 2016 1 commit
  12. 19 Mar, 2016 1 commit
  13. 08 Mar, 2016 1 commit
  14. 03 Mar, 2016 3 commits
  15. 19 Feb, 2016 1 commit
  16. 28 Nov, 2015 1 commit
  17. 21 Oct, 2015 1 commit
  18. 08 Oct, 2015 1 commit
    • Jason Ekstrand's avatar
      mesa: Correctly handle GL_BGRA_EXT in ES3 format_and_type checks · 6ad9ebb0
      Jason Ekstrand authored
      
      
      The EXT_texture_format_BGRA8888 extension (which mesa supports
      unconditionally) adds a new format and internal format called GL_BGRA_EXT.
      Previously, this was not really handled at all in
      _mesa_ex3_error_check_format_and_type.  When the checks were tightened in
      commit f15a7f3c, we accidentally tightened things too far and GL_BGRA_EXT
      would always cause an error to be thrown.
      
      There were two primary issues here.  First, is that
      _mesa_es3_effective_internal_format_for_format_and_type didn't handle the
      GL_BGRA_EXT format.  Second is that it blindly uses _mesa_base_tex_format
      which returns GL_RGBA for GL_BGRA_EXT.  This commit fixes both of these
      issues as well as adds explicit checks that GL_BGRA_EXT is only ever used
      with GL_BGRA_EXT and GL_UNSIGNED_BYTE.
      Signed-off-by: default avatarJason Ekstrand <jason.ekstrand@intel.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92265
      
      Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
      Cc: "11.0" <mesa-stable@lists.freedesktop.org>
      6ad9ebb0
  19. 28 Sep, 2015 2 commits
    • Eduardo Lima Mitev's avatar
      mesa: Use the effective internal format instead for validation · 5edd9961
      Eduardo Lima Mitev authored
      
      
      When validating format+type+internalFormat for texture pixel operations
      on GLES3, the effective internal format should be used if the one
      specified is an unsized internal format. Page 127, section "3.8 Texturing"
      of the GLES 3.0.4 spec says:
      
          "if internalformat is a base internal format, the effective internal
           format is a sized internal format that is derived from the format and
           type for internal use by the GL. Table 3.12 specifies the mapping of
           format and type to effective internal formats. The effective internal
           format is used by the GL for purposes such as texture completeness or
           type checks for CopyTex* commands. In these cases, the GL is required
           to operate as if the effective internal format was used as the
           internalformat when specifying the texture data."
      
      v2: Per the spec, Luminance8Alpha8, Luminance8 and Alpha8 should not be
      considered sized internal formats. Return the corresponding unsize format
      instead.
      
      v4: * Improved comments in
            _mesa_es3_effective_internal_format_for_format_and_type().
          * Splitted patch to separate chunk about reordering of
            error_check_subtexture_dimensions() error check, which is not directly
            related with this patch.
      v5: Dropped the splitted patch because it was actually a work around 3
          dEQP tests that are buggy:
      
          dEQP-GLES2.functional.negative_api.texture.texsubimage2d_neg_offset
          dEQP-GLES2.functional.negative_api.texture.texsubimage2d_offset_allowed
          dEQP-GLES2.functional.negative_api.texture.texsubimage2d_neg_wdt_hgt
      
      Cc: "11.0" <mesa-stable@lists.freedesktop.org>
      Reviewed-by: default avatarJason Ekstrand <jason.ekstrand@intel.com>
      Tested-by: default avatarMark Janes <mark.a.janes@intel.com>
      5edd9961
    • Eduardo Lima Mitev's avatar
      mesa: Move _mesa_base_tex_format() from teximage to glformats files · c6bf1cd1
      Eduardo Lima Mitev authored
      
      
      This function will be needed as part of validating the combination of format,
      type and internal format of texture pixel operations, which happens in
      glformats files. Specifically, we want to be able to obtain the base format
      of a resolved effective internal format, to compare it with the original
      internal format passed.
      
      Also, since this function deals solely with GL formats, it fits better in
      glformats where the rest of similar format functionality rests.
      
      The function is moved as-is, without any modification.
      
      Cc: "11.0" <mesa-stable@lists.freedesktop.org>
      Reviewed-by: default avatarJason Ekstrand <jason.ekstrand@intel.com>
      Tested-by: default avatarMark Janes <mark.a.janes@intel.com>
      c6bf1cd1
  20. 19 Sep, 2015 1 commit
  21. 18 Sep, 2015 1 commit
    • Tapani Pälli's avatar
      mesa: fix errors when reading depth with glReadPixels · afa1efdc
      Tapani Pälli authored
      OpenGL ES 3.0 spec 3.7.2 "Transfer of Pixel Rectangles" specifies
      DEPTH_COMPONENT, UNSIGNED_INT as a valid couple, validation for
      internal format is checked by is_float_depth().
      
      Fix regression caused by 81d2fd91
      
       in:
         ES3-CTS.gtf.GL3Tests.packed_pixels.packed_pixels
      
      Test uses GL_DEPTH_COMPONENT, UNSIGNED_INT only when GL_NV_read_depth
      extension is present.
      
      v2: change check in _mesa_error_check_format_and_type to be explicit
          for ES 2.0+, desktop OpenGL does not allow this behaviour + uses
          this function for both glReadPixels and glDrawPixels validation.
          (No Piglit regressions seen with v2.)
      Signed-off-by: default avatarTapani Pälli <tapani.palli@intel.com>
      Reviewed-by: default avatarAnuj Phogat <anuj.phogat@gmail.com>
      Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> [v1]
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92009
      Cc: "10.6 11.0" <mesa-stable@lists.freedesktop.org>
      afa1efdc
  22. 01 Sep, 2015 3 commits
  23. 26 Aug, 2015 2 commits
  24. 12 Aug, 2015 1 commit
  25. 24 Jul, 2015 2 commits
  26. 20 Jul, 2015 1 commit
  27. 10 Jun, 2015 2 commits
  28. 26 May, 2015 1 commit
  29. 14 Apr, 2015 1 commit