<div dir="ltr">That is now fixed.  Each added entry point in my history passes make check now.<br><br>Thanks.<br><br>Laura<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 30, 2014 at 2:21 PM, Anuj Phogat <span dir="ltr"><<a href="mailto:anuj.phogat@gmail.com" target="_blank">anuj.phogat@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Your adsa-textures branch on fdo fails make check.<br>
<div><div class="h5"><br>
On Tue, Dec 16, 2014 at 6:52 AM, Laura Ekstrand <<a href="mailto:laura@jlekstrand.net">laura@jlekstrand.net</a>> wrote:<br>
> 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.<br>
><br>
> 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<br>
>         void _mesa_generate_texture_mipmap(struct gl_context *ctx, struct gl_texture_object *texObj, GLenum target, bool dsa).<br>
> 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.<br>
><br>
> 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.<br>
><br>
> 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.<br>
><br>
> Laura Ekstrand (41):<br>
>   glapi: Added ARB_direct_state_access.xml file.<br>
>   main: Created a standard function that looks up a texture object by<br>
>     its ID and throws INVALID_OPERATION if the ID isn't in the hash<br>
>     table.<br>
>   i965: intel_tex_image.c now accepts TEXTURE_CUBE_MAP as a valid<br>
>     target.<br>
>   main: Moved _mesa_lock_texture and _mesa_unlock_texture to texobj.h<br>
>     from teximage.h.<br>
>   main: Moved _mesa_get_current_tex_object from teximage.c to texobj.c.<br>
>   main: Changed _mesa_alloc_texture_storage to<br>
>     _mesa_AllocTextureStorage_sw.<br>
>   main: Renamed _mesa_get_teximage to _mesa_GetTexImage_sw.<br>
>   main: Renamed _mesa_get_compressed_teximage to<br>
>     _mesa_GetCompressedTexImage_sw.<br>
>   main: Removed trailing whitespace in texstate.c.<br>
>   main: Added entry point for glCreateTextures.<br>
>   main: Added entry points for glTextureStorage*D.<br>
>   main: Added entry points for glTextureSubImage*D.<br>
>   main: Corrected comment on _mesa_is_zero_size_texture.<br>
>   main: Added entry point for BindTextureUnit.<br>
>   main: set_tex_parameteri now handles errors according to the OpenGL<br>
>     4.5 Specification.<br>
>   main: set_tex_parameterf now handles errors according to the OpenGL<br>
>     4.5 Specification.<br>
>   main: Added get_texobj_by_name in texparam.c.<br>
>   main: Added entry point for glTextureParameterf.<br>
>   main: Added entry point for glTextureParameterfv.<br>
>   main: Added entry point for glTextureParameteri.<br>
>   main: Added entry points for glTextureParameteriv, Iiv, Iuiv.<br>
>   main: legal_get_tex_level_parameter_target now handles<br>
>     GL_TEXTURE_CUBE_MAP.<br>
>   main: Added entry points for glGetTextureLevelParameteriv, fv.<br>
>   main: Added entry point for glGetTextureParameterfv.<br>
>   main: Added entry points for glGetTextureParameteriv, Iiv, and Iuiv.<br>
>   main: Fixed some comments in texparam.c<br>
>   main: Added entry points for CopyTextureSubImage*D.<br>
>   main: Nameless texture creation and deletion. Does not affect normal<br>
>     creation and deletion paths.<br>
>   main: Added entry point for glGetTextureImage.<br>
>   main: Added entry point for glGetCompressedTextureImage.<br>
>   main: Added entry points for glCompressedTextureSubImage*D.<br>
>   main: Added entry point for glGenerateTextureMipmap.<br>
>   main: Added entry points for glTextureStorage2DMultisample and<br>
>     glTextureStorage3DMultisample.<br>
>   main: Fixed _mesa_texture_image_multisample so that it updates the<br>
>     texObj->Immutable flag correctly.<br>
>   main: Added entry point for glTextureBuffer.<br>
>   main: Deleted trailing whitespaces in texobj.c.<br>
>   main: Fixed whitespace errors in teximage.h and teximage.c.<br>
>   main: Refactor in teximage.c to handle NULL from<br>
>     _mesa_get_current_tex_object.<br>
>   main: glDeleteTextures now throws GL_INVALID_VALUE if n is negative.<br>
>   main: Checking for cube completeness in GetTextureImage.<br>
>   main: Checking for cube completeness in TextureSubImage.<br>
><br>
>  src/mapi/glapi/gen/ARB_direct_state_access.xml |  271 ++++++<br>
>  src/mapi/glapi/gen/Makefile.am                 |    1 +<br>
>  src/mapi/glapi/gen/gl_API.xml                  |    6 +-<br>
>  src/mesa/drivers/common/driverfuncs.c          |    4 +-<br>
>  src/mesa/drivers/common/meta.c                 |    2 +-<br>
>  src/mesa/drivers/dri/i965/intel_tex.c          |    2 +-<br>
>  src/mesa/drivers/dri/i965/intel_tex_copy.c     |    1 +<br>
>  src/mesa/drivers/dri/i965/intel_tex_image.c    |    1 +<br>
>  src/mesa/drivers/dri/swrast/swrast.c           |    1 +<br>
>  src/mesa/main/extensions.c                     |    1 +<br>
>  src/mesa/main/genmipmap.c                      |   73 +-<br>
>  src/mesa/main/genmipmap.h                      |    6 +<br>
>  src/mesa/main/texgetimage.c                    |  497 ++++++++---<br>
>  src/mesa/main/texgetimage.h                    |   33 +-<br>
>  src/mesa/main/teximage.c                       | 1096 +++++++++++++++++-------<br>
>  src/mesa/main/teximage.h                       |  133 ++-<br>
>  src/mesa/main/texobj.c                         |  397 ++++++++-<br>
>  src/mesa/main/texobj.h                         |   48 +-<br>
>  src/mesa/main/texparam.c                       |  758 ++++++++++++----<br>
>  src/mesa/main/texparam.h                       |   84 +-<br>
>  src/mesa/main/texstate.c                       |   22 +-<br>
>  src/mesa/main/texstate.h                       |   39 +-<br>
>  src/mesa/main/texstorage.c                     |  213 +++--<br>
>  src/mesa/main/texstorage.h                     |   39 +-<br>
>  src/mesa/state_tracker/st_cb_texture.c         |   12 +-<br>
>  25 files changed, 2971 insertions(+), 769 deletions(-)<br>
>  create mode 100644 src/mapi/glapi/gen/ARB_direct_state_access.xml<br>
><br>
> --<br>
> 2.1.0<br>
><br>
</div></div>> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br></div>