[Mesa-dev] [PATCH 00/57] Finish enabling ARB_direct_state_access

Fredrik Höglund fredrik at kde.org
Mon May 11 10:27:03 PDT 2015


This is a respin of Laura's FBO patches.  I've rebased them, fixed
the issues I found, and added my R-b tags.  Note that there is a total
of 57 patches, so I'm only posting the ones that don't already have R-b
tags, and the ones that are candidates for the stable branches.  But
all the patches are available in my arb-direct-state-access branch at:

    git://people.freedesktop.org/~fredrik/mesa arb-direct-state-access

There is one issue however.  The plan was to only expose the extension
in the core profile, but it turns out that several of the piglit tests
that have been written for the extension depend on the compatibility
profile.  Some of those tests would have to be completely rewritten
to work with the core profile.  The only DSA functions that behave
differently in the compatibility profile, however, are the VAO functions,
and those implement both the core and the compatibility behavior.  We
also have the piglit tests to prove that.  So in this series I'm enabling
the extension in both profiles.  It's easier to do that than it is
to rewrite the piglit tests.

If there are no objections I hope to land this series before the freeze
on Friday.

Fredrik Höglund (18):
      main: Require that the texture exists in framebuffer_texture
      mesa: Generate GL_INVALID_VALUE in framebuffer_texture when layer < 0
      mesa: Add an extension flag for ARB_direct_state_access
      mesa: Make GL_TEXTURE_CUBE_MAP valid in FramebufferTextureLayer
      mesa: Add ARB_direct_state_access checks in XFB functions
      mesa: Add ARB_direct_state_access checks in buffer object functions
      mesa: Add ARB_direct_state_access checks in FBO functions
      mesa: Add ARB_direct_state_access checks in renderbuffer functions
      mesa: Add ARB_direct_state_access checks in texture functions
      mesa: Add ARB_direct_state_access checks in VAO functions
      mesa: Add ARB_direct_state_access checks in sampler object functions
      mesa: Add ARB_direct_state_access checks in program pipeline functions
      mesa: Add ARB_direct_state_access checks in query object functions
      i915: Enable ARB_direct_state_access
      i965: Enable ARB_direct_state_access
      st/mesa: Enable ARB_direct_state_access
      docs: Update the ARB_direct_state_access status
      docs/relnotes: Mark off ARB_direct_state_access for 10.6

Laura Ekstrand (39):
      main: Add utility function _mesa_lookup_framebuffer_err.
      main: Add glCreateFramebuffers.
      main: Add utility function _mesa_lookup_renderbuffer_err.
      main: Rename framebuffer renderbuffer software fallback.
      main: Add entry point for NamedFramebufferRenderbuffer.
      main: Fix the indentation in framebuffer_texture
      main: Fix an error generated by FramebufferTexture
      main: Split framebuffer_texture.
      main: Refactor get_texture_for_framebuffer.
      main: Fix indentation in get_texture_for_framebuffer.
      main: Add entry points for glNamedFramebufferTexture[Layer].
      main: Major refactor of get_texture_for_framebuffer.
      main: Fix indents in former get_texture_for_framebuffer functions.
      main: Add entry point for CheckNamedFramebufferStatus.
      main: Add entry point GetNamedFramebufferAttachmentParameteriv.
      main: Fix whitespace in blit.c
      main: Refactor glBlitFramebuffer.
      main: Refactor _mesa_update_framebuffer.
      main: Refactor _mesa_[update|get]_clamp_vertex_color.
      main: Refactor _mesa_[update|get]_clamp_fragment_color.
      main: Refactor _mesa_get_clamp_read_color.
      main: Refactor _mesa_update_draw_buffer_bounds.
      main: Add entry point for BlitNamedFramebuffer.
      main: _mesa_blit_framebuffer updates its arbitrary framebuffers.
      main: Complete error conditions for glInvalidate*Framebuffer.
      main: Refactor invalidate_framebuffer_storage.
      main: Add entry points for InvalidateNamedFramebuffer[Sub]Data.
      main: Fake entry point for glClearNamedFramebufferiv.
      main: Fake entry point for glClearNamedFramebufferuiv.
      main: Fake entry point for glClearNamedFramebufferfv.
      main: Fake entry point for glClearNamedFramebufferfi.
      main: Add stubs for [Get]NamedFramebufferParameteri[v].
      main: Refactor _mesa_drawbuffers.
      main: Refactor _mesa_DrawBuffer.
      main: Add entry point for NamedFramebufferDrawBuffer.
      main: Refactor _mesa_ReadBuffer.
      main: Add entry point for NamedFramebufferReadBuffer.
      main: Refactor DrawBuffers.
      main: Add entry point for NamedFramebufferDrawBuffers.

 docs/GL3.txt                                   |    4 +-
 docs/relnotes/10.6.0.html                      |    1 +
 src/mapi/glapi/gen/ARB_direct_state_access.xml |  129 ++
 src/mapi/glapi/gen/ARB_framebuffer_object.xml  |    2 +-
 src/mesa/drivers/common/driverfuncs.c          |    2 +-
 src/mesa/drivers/common/meta.c                 |    3 +-
 src/mesa/drivers/dri/i915/i830_vtbl.c          |    4 +-
 src/mesa/drivers/dri/i915/i915_vtbl.c          |    4 +-
 src/mesa/drivers/dri/i915/intel_extensions.c   |    1 +
 src/mesa/drivers/dri/i915/intel_fbo.c          |    2 +-
 src/mesa/drivers/dri/i965/intel_extensions.c   |    1 +
 src/mesa/drivers/dri/nouveau/nouveau_fbo.c     |    2 +-
 src/mesa/drivers/dri/r200/r200_state.c         |    4 +-
 src/mesa/drivers/dri/radeon/radeon_common.c    |    4 +-
 src/mesa/drivers/dri/radeon/radeon_fbo.c       |    2 +-
 src/mesa/drivers/dri/radeon/radeon_state.c     |    4 +-
 src/mesa/main/arrayobj.c                       |   22 +
 src/mesa/main/blend.c                          |   37 +-
 src/mesa/main/blend.h                          |   16 +-
 src/mesa/main/blit.c                           |  219 ++-
 src/mesa/main/blit.h                           |   13 +
 src/mesa/main/bufferobj.c                      |  105 ++
 src/mesa/main/buffers.c                        |  261 +++-
 src/mesa/main/buffers.h                        |   29 +-
 src/mesa/main/clear.c                          |  106 ++
 src/mesa/main/clear.h                          |   16 +
 src/mesa/main/context.c                        |    5 +-
 src/mesa/main/extensions.c                     |    2 +-
 src/mesa/main/fbobject.c                       | 1408 ++++++++++++++-----
 src/mesa/main/fbobject.h                       |   81 +-
 src/mesa/main/framebuffer.c                    |   23 +-
 src/mesa/main/framebuffer.h                    |    7 +-
 src/mesa/main/genmipmap.c                      |    7 +
 src/mesa/main/get.c                            |    8 +-
 src/mesa/main/mtypes.h                         |    1 +
 src/mesa/main/pipelineobj.c                    |    6 +
 src/mesa/main/queryobj.c                       |    7 +
 src/mesa/main/readpix.c                        |    4 +-
 src/mesa/main/samplerobj.c                     |    7 +
 src/mesa/main/state.c                          |    4 +-
 src/mesa/main/tests/dispatch_sanity.cpp        |   18 +
 src/mesa/main/texenv.c                         |    2 +-
 src/mesa/main/texgetimage.c                    |   14 +
 src/mesa/main/teximage.c                       |   74 +
 src/mesa/main/texobj.c                         |   14 +
 src/mesa/main/texparam.c                       |   86 +-
 src/mesa/main/texstorage.c                     |    7 +
 src/mesa/main/transformfeedback.c              |   42 +
 src/mesa/main/varray.c                         |   64 +
 src/mesa/program/prog_statevars.c              |    4 +-
 src/mesa/state_tracker/st_cb_fbo.c             |    2 +-
 src/mesa/state_tracker/st_extensions.c         |    3 +
 src/mesa/swrast/s_texrender.c                  |    2 +-
 53 files changed, 2318 insertions(+), 577 deletions(-)



More information about the mesa-dev mailing list