Your adsa-textures branch on fdo fails make check.

On Tue, Dec 16, 2014 at 6:52 AM, Laura Ekstrand <la...@jlekstrand.net> wrote:
> This implements all of the texture functions for ARB_direct_state_access, 
> with the exception of glTextureBufferRange.  There is an outstanding bug on 
> the specification for glTextureBufferRange. Fortunately, glTextureBufferRange 
> shares its implementation with glTextureBuffer and will be trivial to add 
> once the bug is fixed.
>
> Most of the implementation work involved abstracting the internals of the 
> traditional GL functions and writing the DSA functions on top of these 
> abstractions.  For instance, to implement GenerateTextureMipmap, most of the 
> functionality of GenerateMipmap was moved to a function
>         void _mesa_generate_texture_mipmap(struct gl_context *ctx, struct 
> gl_texture_object *texObj, GLenum target, bool dsa).
> GenerateMipmap and GenerateTextureMipmap were then implemented on top of this 
> function as thin layers that get the context and the relevant texture object. 
>  One exciting byproduct of the creation of these backend abstractions is the 
> potential for driver internals (such as meta) to use nameless texture 
> objects.  These objects could be created, used, and deleted without costly 
> hash table lookups.  Moreover, the backend abstractions avoid the use of 
> GET_CURRENT_CONTEXT(ctx), allowing driver internals to pass in a different 
> context if desired.
>
> For this reason, most of the backend abstractions were exposed to the rest of 
> Mesa and given a name of the form _mesa_[DSA_function_name_in_snake_case]. To 
> avoid confusion between the backend function names and those of software 
> fallbacks, software fallbacks were renamed in the form 
> _mesa_[Driver_function_name]_sw.  For instance, the backend for TexStorage2D 
> and TextureStorage2D is named _mesa_texture_storage.  To avoid confusion with 
> the software fallback _mesa_alloc_texture_storage, the software fallback was 
> renamed to _mesa_AllocTextureStorage_sw.
>
> ARB_direct_state_access allows the user to create and pass around objects 
> with the effective target of GL_TEXTURE_CUBE_MAP.  This causes some 
> unfortunate complexities in the implementation of TextureSubImage*D and 
> GetTextureImage, and there is an outstanding bug on how these implementations 
> should act if the user fails to provide enough storage for his or her cube 
> map. In the meantime, TextureSubImage*D and GetTextureImage throw 
> GL_INVALID_OPERATION if this happens.
>
> Laura Ekstrand (41):
>   glapi: Added ARB_direct_state_access.xml file.
>   main: Created a standard function that looks up a texture object by
>     its ID and throws INVALID_OPERATION if the ID isn't in the hash
>     table.
>   i965: intel_tex_image.c now accepts TEXTURE_CUBE_MAP as a valid
>     target.
>   main: Moved _mesa_lock_texture and _mesa_unlock_texture to texobj.h
>     from teximage.h.
>   main: Moved _mesa_get_current_tex_object from teximage.c to texobj.c.
>   main: Changed _mesa_alloc_texture_storage to
>     _mesa_AllocTextureStorage_sw.
>   main: Renamed _mesa_get_teximage to _mesa_GetTexImage_sw.
>   main: Renamed _mesa_get_compressed_teximage to
>     _mesa_GetCompressedTexImage_sw.
>   main: Removed trailing whitespace in texstate.c.
>   main: Added entry point for glCreateTextures.
>   main: Added entry points for glTextureStorage*D.
>   main: Added entry points for glTextureSubImage*D.
>   main: Corrected comment on _mesa_is_zero_size_texture.
>   main: Added entry point for BindTextureUnit.
>   main: set_tex_parameteri now handles errors according to the OpenGL
>     4.5 Specification.
>   main: set_tex_parameterf now handles errors according to the OpenGL
>     4.5 Specification.
>   main: Added get_texobj_by_name in texparam.c.
>   main: Added entry point for glTextureParameterf.
>   main: Added entry point for glTextureParameterfv.
>   main: Added entry point for glTextureParameteri.
>   main: Added entry points for glTextureParameteriv, Iiv, Iuiv.
>   main: legal_get_tex_level_parameter_target now handles
>     GL_TEXTURE_CUBE_MAP.
>   main: Added entry points for glGetTextureLevelParameteriv, fv.
>   main: Added entry point for glGetTextureParameterfv.
>   main: Added entry points for glGetTextureParameteriv, Iiv, and Iuiv.
>   main: Fixed some comments in texparam.c
>   main: Added entry points for CopyTextureSubImage*D.
>   main: Nameless texture creation and deletion. Does not affect normal
>     creation and deletion paths.
>   main: Added entry point for glGetTextureImage.
>   main: Added entry point for glGetCompressedTextureImage.
>   main: Added entry points for glCompressedTextureSubImage*D.
>   main: Added entry point for glGenerateTextureMipmap.
>   main: Added entry points for glTextureStorage2DMultisample and
>     glTextureStorage3DMultisample.
>   main: Fixed _mesa_texture_image_multisample so that it updates the
>     texObj->Immutable flag correctly.
>   main: Added entry point for glTextureBuffer.
>   main: Deleted trailing whitespaces in texobj.c.
>   main: Fixed whitespace errors in teximage.h and teximage.c.
>   main: Refactor in teximage.c to handle NULL from
>     _mesa_get_current_tex_object.
>   main: glDeleteTextures now throws GL_INVALID_VALUE if n is negative.
>   main: Checking for cube completeness in GetTextureImage.
>   main: Checking for cube completeness in TextureSubImage.
>
>  src/mapi/glapi/gen/ARB_direct_state_access.xml |  271 ++++++
>  src/mapi/glapi/gen/Makefile.am                 |    1 +
>  src/mapi/glapi/gen/gl_API.xml                  |    6 +-
>  src/mesa/drivers/common/driverfuncs.c          |    4 +-
>  src/mesa/drivers/common/meta.c                 |    2 +-
>  src/mesa/drivers/dri/i965/intel_tex.c          |    2 +-
>  src/mesa/drivers/dri/i965/intel_tex_copy.c     |    1 +
>  src/mesa/drivers/dri/i965/intel_tex_image.c    |    1 +
>  src/mesa/drivers/dri/swrast/swrast.c           |    1 +
>  src/mesa/main/extensions.c                     |    1 +
>  src/mesa/main/genmipmap.c                      |   73 +-
>  src/mesa/main/genmipmap.h                      |    6 +
>  src/mesa/main/texgetimage.c                    |  497 ++++++++---
>  src/mesa/main/texgetimage.h                    |   33 +-
>  src/mesa/main/teximage.c                       | 1096 
> +++++++++++++++++-------
>  src/mesa/main/teximage.h                       |  133 ++-
>  src/mesa/main/texobj.c                         |  397 ++++++++-
>  src/mesa/main/texobj.h                         |   48 +-
>  src/mesa/main/texparam.c                       |  758 ++++++++++++----
>  src/mesa/main/texparam.h                       |   84 +-
>  src/mesa/main/texstate.c                       |   22 +-
>  src/mesa/main/texstate.h                       |   39 +-
>  src/mesa/main/texstorage.c                     |  213 +++--
>  src/mesa/main/texstorage.h                     |   39 +-
>  src/mesa/state_tracker/st_cb_texture.c         |   12 +-
>  25 files changed, 2971 insertions(+), 769 deletions(-)
>  create mode 100644 src/mapi/glapi/gen/ARB_direct_state_access.xml
>
> --
> 2.1.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to