1. 10 Sep, 2011 1 commit
  2. 02 Sep, 2011 1 commit
  3. 26 Aug, 2011 1 commit
  4. 11 Jul, 2011 1 commit
  5. 08 Jul, 2011 4 commits
  6. 07 Jul, 2011 1 commit
  7. 06 Jun, 2011 1 commit
  8. 05 Apr, 2011 1 commit
  9. 02 Apr, 2011 1 commit
  10. 16 Mar, 2011 1 commit
  11. 11 Mar, 2011 1 commit
  12. 05 Mar, 2011 1 commit
  13. 02 Mar, 2011 1 commit
  14. 28 Feb, 2011 1 commit
  15. 26 Jan, 2011 1 commit
  16. 09 Dec, 2010 1 commit
  17. 02 Dec, 2010 1 commit
    • Roland Scheidegger's avatar
      gallium: support for array textures and related changes · 4c700146
      Roland Scheidegger authored
      resources have a array_size parameter now.
      get_tex_surface and tex_surface_destroy have been renamed to create_surface
      and surface_destroy and moved to context, similar to sampler views (and
      create_surface now uses a template just like create_sampler_view). Surfaces
      now really should only be used for rendering. In particular they shouldn't be
      used as some kind of 2d abstraction for sharing a texture. offset/layout fields
      don't make sense any longer and have been removed, width/height should go too.
      surfaces and sampler views now specify a layer range (for texture resources),
      layer is either array slice, depth slice or cube face.
      pipe_subresource is gone array slices (or cube faces) are now treated the same
      as depth slices in transfers etc. (that is, they use the z coord of the
      respective functions).
      
      Squashed commit of the following:
      
      commit a45bd509
      Merge: 1aeca287 32e1e591
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Dec 2 04:32:06 2010 +0100
      
          Merge remote branch 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/drivers/i915/i915_resource_texture.c
          	src/gallium/drivers/i915/i915_state_emit.c
          	src/gallium/drivers/i915/i915_surface.c
      
      commit 1aeca287
      Merge: 912f042e 6f7c8c3c
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Dec 2 00:37:11 2010 +0100
      
          Merge remote branch 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/state_trackers/vega/api_filters.c
          	src/gallium/state_trackers/vega/api_images.c
          	src/gallium/state_trackers/vega/mask.c
          	src/gallium/state_trackers/vega/paint.c
          	src/gallium/state_trackers/vega/renderer.c
          	src/gallium/state_trackers/vega/st_inlines.h
          	src/gallium/state_trackers/vega/vg_context.c
          	src/gallium/state_trackers/vega/vg_manager.c
      
      commit 912f042e
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Dec 1 03:01:55 2010 +0100
      
          gallium: even more compile fixes after merge
      
      commit 6fc95a58
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Dec 1 00:22:26 2010 +0100
      
          gallium: some fixes after merge
      
      commit a8d5ffae
      Merge: f7a202fd 2da02e75
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Tue Nov 30 23:41:26 2010 +0100
      
          Merge remote branch 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/drivers/i915/i915_state_emit.c
          	src/gallium/state_trackers/vega/api_images.c
          	src/gallium/state_trackers/vega/vg_context.c
      
      commit f7a202fd
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Nov 24 19:19:32 2010 +0100
      
          gallium: even more fixes/cleanups after merge
      
      commit 6895a7f9
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Nov 24 03:07:36 2010 +0100
      
          gallium: more compile fixes after merge
      
      commit af0501a5
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Tue Nov 23 19:24:45 2010 +0100
      
          gallium: lots of compile fixes after merge
      
      commit 0332003c
      Merge: 26c6346b b6b91fa0
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Tue Nov 23 17:02:26 2010 +0100
      
          Merge remote branch 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/auxiliary/gallivm/lp_bld_sample.c
          	src/gallium/auxiliary/util/u_blit.c
          	src/gallium/auxiliary/util/u_blitter.c
          	src/gallium/auxiliary/util/u_inlines.h
          	src/gallium/auxiliary/util/u_surface.c
          	src/gallium/auxiliary/util/u_surfaces.c
          	src/gallium/docs/source/context.rst
          	src/gallium/drivers/llvmpipe/lp_rast.c
          	src/gallium/drivers/nv50/nv50_state_validate.c
          	src/gallium/drivers/nvfx/nv04_surface_2d.c
          	src/gallium/drivers/nvfx/nv04_surface_2d.h
          	src/gallium/drivers/nvfx/nvfx_buffer.c
          	src/gallium/drivers/nvfx/nvfx_miptree.c
          	src/gallium/drivers/nvfx/nvfx_resource.c
          	src/gallium/drivers/nvfx/nvfx_resource.h
          	src/gallium/drivers/nvfx/nvfx_state_fb.c
          	src/gallium/drivers/nvfx/nvfx_surface.c
          	src/gallium/drivers/nvfx/nvfx_transfer.c
          	src/gallium/drivers/r300/r300_state_derived.c
          	src/gallium/drivers/r300/r300_texture.c
          	src/gallium/drivers/r600/r600_blit.c
          	src/gallium/drivers/r600/r600_buffer.c
          	src/gallium/drivers/r600/r600_context.h
          	src/gallium/drivers/r600/r600_screen.c
          	src/gallium/drivers/r600/r600_screen.h
          	src/gallium/drivers/r600/r600_state.c
          	src/gallium/drivers/r600/r600_texture.c
          	src/gallium/include/pipe/p_defines.h
          	src/gallium/state_trackers/egl/common/egl_g3d_api.c
          	src/gallium/state_trackers/glx/xlib/xm_st.c
          	src/gallium/targets/libgl-gdi/gdi_softpipe_winsys.c
          	src/gallium/targets/libgl-gdi/libgl_gdi.c
          	src/gallium/tests/graw/tri.c
          	src/mesa/state_tracker/st_cb_blit.c
          	src/mesa/state_tracker/st_cb_readpixels.c
      
      commit 26c6346b
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Mon Aug 2 19:37:21 2010 +0200
      
          fix more merge breakage
      
      commit b30d87c6
      Merge: 9461bf3c 1f1928db
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Mon Aug 2 19:15:38 2010 +0200
      
          Merge remote branch 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/drivers/llvmpipe/lp_rast.c
          	src/gallium/drivers/llvmpipe/lp_rast_priv.h
          	src/gallium/drivers/r300/r300_blit.c
          	src/gallium/drivers/r300/r300_screen_buffer.c
          	src/gallium/drivers/r300/r300_state_derived.c
          	src/gallium/drivers/r300/r300_texture.c
          	src/gallium/drivers/r300/r300_texture.h
          	src/gallium/drivers/r300/r300_transfer.c
          	src/gallium/drivers/r600/r600_screen.c
          	src/gallium/drivers/r600/r600_state.c
          	src/gallium/drivers/r600/r600_texture.c
          	src/gallium/drivers/r600/r600_texture.h
          	src/gallium/state_trackers/dri/common/dri1_helper.c
          	src/gallium/state_trackers/dri/sw/drisw.c
          	src/gallium/state_trackers/xorg/xorg_exa.c
      
      commit 9461bf3c
      Merge: 17492d70 0eaccb30
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Jul 15 20:13:45 2010 +0200
      
          Merge commit 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/auxiliary/util/u_blitter.c
          	src/gallium/drivers/llvmpipe/lp_rast.c
          	src/gallium/drivers/llvmpipe/lp_surface.c
          	src/gallium/drivers/r300/r300_render.c
          	src/gallium/drivers/r300/r300_state.c
          	src/gallium/drivers/r300/r300_texture.c
          	src/gallium/drivers/r300/r300_transfer.c
          	src/gallium/tests/trivial/quad-tex.c
      
      commit 17492d70
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Fri Jun 18 10:58:08 2010 +0100
      
          gallium: rename element_offset/width fields in views to first/last_element
      
          This is much more consistent with the other fields used there
          (first/last level, first/last layer).
          Actually thinking about removing the ugly union/structs again and
          rename first/last_layer to something even more generic which could also
          be used for buffers (like first/last_member) without inducing headaches.
      
      commit 1b717a28
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Jun 17 14:46:09 2010 +0100
      
          gallium: remove PIPE_SURFACE_LAYOUT_LINEAR definition
      
          This was only used by the layout field of pipe_surface, but this
          driver internal stuff is gone so there's no need for this driver independent
          layout definition neither.
      
      commit 10cb644b
      Merge: 5691db96 c85971da
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Jun 17 12:20:41 2010 +0100
      
          Merge commit 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/docs/source/glossary.rst
          	src/gallium/tests/graw/fs-test.c
          	src/gallium/tests/graw/gs-test.c
      
      commit 5691db96
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Jun 17 11:29:03 2010 +0100
      
          st/wgl: fix interface changes bugs
      
      commit 2303ec32
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Jun 16 19:42:32 2010 +0100
      
          gallium: adapt code to interface changes...
      
      commit dcae4f58
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Jun 16 19:42:05 2010 +0100
      
          gallium: separate depth0 and array_size in the resource itself.
      
          These fields are still mutually exclusive (since no 3d array textures exist)
          but it ultimately seemed to error-prone to adapt all code accept the new
          meaning of depth0 (drivers stick that into hardware regs, calculate mipmap
          sizes etc.). And it isn't really cleaner anyway.
          So, array textures will have depth0 of 1, but instead use array_size,
          3D textures will continue to use depth0 (and have array_size of 1). Cube
          maps also will use array_size to indicate their 6 faces, but since all drivers
          should just be fine by inferring this themselves from the fact it's a cube map
          as they always used to nothing should break.
      
      commit 621737a6
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Jun 16 17:47:38 2010 +0100
      
          gallium: adapt code to interface changes
      
          There are still usages of pipe_surface where pipe_resource should be used,
          which should eventually be fixed.
      
      commit 2d17f5ef
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Wed Jun 16 17:46:14 2010 +0100
      
          gallium: more interface changes
      
          In particular to enable usage of buffers in views, and ability to use a
          different pipe_format in pipe_surface.
          Get rid of layout and offset parameter in pipe_surface - the former was
          not used in any (public) code anyway, and the latter should either be computed
          on-demand or driver can use subclass of pipe_surface.
          Also make create_surface() use a template to be more consistent with
          other functions.
      
      commit 71f885ee
      Merge: 3232d11f 8ad410dc
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Mon Jun 14 14:19:51 2010 +0100
      
          Merge commit 'origin/master' into gallium-array-textures
      
          Conflicts:
          	src/gallium/auxiliary/util/u_box.h
          	src/gallium/drivers/nv50/nv50_surface.c
          	src/gallium/drivers/nvfx/nvfx_surface.c
          	src/gallium/drivers/r300/r300_blit.c
          	src/gallium/drivers/r300/r300_texture.c
          	src/gallium/drivers/r300/r300_transfer.c
          	src/gallium/drivers/r600/r600_blit.c
          	src/gallium/drivers/r600/r600_screen.h
          	src/gallium/include/pipe/p_state.h
      
      commit 3232d11f
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Mon Jun 14 11:40:04 2010 +0100
      
          mesa/st: adapt to interface changes
      
          still need to fix pipe_surface sharing
          (as that is now per-context).
          Also broken is depth0 handling - half the code assumes
          this is also used for array textures (and hence by extension
          of that cube maps would have depth 6), half the code does not...
      
      commit f433b7f7
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Mon Jun 14 11:35:52 2010 +0100
      
          gallium: fix a couple of bugs in interface chnage fixes
      
      commit 818366b2
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:42:11 2010 +0200
      
          targets: adapt to interface changes
      
          Yes even that needs adjustments...
      
      commit 66c511ab
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:41:13 2010 +0200
      
          tests: adapt to interface changes
      
          Everything needs to be fixed :-(.
      
      commit 6b494635
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:39:50 2010 +0200
      
          st: adapt non-rendering state trackers to interface changes
      
          might not be quite right in all places, but they really don't want
          to use pipe_surface.
      
      commit 00c4289a
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:38:48 2010 +0200
      
          winsys: adapt to interface changes
      
      commit 39d85855
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:26:54 2010 +0200
      
          st/python: adapt to interface changes
      
          don't think that will work, sorry.
      
      commit 6e9336bc
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:26:07 2010 +0200
      
          st/vega: adapt to interface changes
      
      commit e07f2ae9
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:25:56 2010 +0200
      
          st/xorg: adapt to interface changes
      
      commit 05531c10
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:24:53 2010 +0200
      
          nv50: adapt to interface changes
      
      commit 97704f38
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:24:45 2010 +0200
      
          nvfx: adapt to interface changes
      
      commit a8a9c93d
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:24:01 2010 +0200
      
          i965g: adapt to interface changes
      
      commit 0dde2095
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:22:38 2010 +0200
      
          i915g: adapt to interface changes
      
      commit 5cac9bee
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:20:58 2010 +0200
      
          svga: adapt to interface changes
      
          resource_copy_region still looking fishy.
          Was not very suited to unified zslice/face approach...
      
      commit 08b5a6af
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:20:01 2010 +0200
      
          rbug: adapt to interface changes
      
          Not sure if that won't need changes elsewhere?
      
      commit c9fd24b1
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:19:31 2010 +0200
      
          trace: adapt to interface changes
      
      commit ed84e010
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:19:21 2010 +0200
      
          failover: adapt to interface changes
      
      commit a1d4b4a2
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:19:12 2010 +0200
      
          identity: adapt to interface changes
      
      commit a8dd73e2
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:18:55 2010 +0200
      
          softpipe: adapt to interface changes
      
      commit a8860858
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:18:44 2010 +0200
      
          llvmpipe: adapt to interface changes
      
      commit 70523f6d
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:18:14 2010 +0200
      
          r600g: adapt to interface changes
      
      commit 3f4bc72b
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:18:05 2010 +0200
      
          r300g: adapt to interface changes
      
      commit 5d353b55
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:17:37 2010 +0200
      
          cell: adapt to interface changes
      
          not even compile tested
      
      commit cf5d0360
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:14:59 2010 +0200
      
          util: adapt to interface changes
      
          amazing how much code changes just due to some subtle interface changes?
      
      commit dc98d713
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Sat Jun 12 02:12:40 2010 +0200
      
          gallium: more interface fail, docs
      
          this also changes flush_frontbuffer to use a pipe_resource instead of
          a pipe_surface - pipe_surface is not meant to be (or at least no longer)
          an abstraction for standalone 2d images which get passed around.
          (This has also implications for the non-rendering state-trackers.)
      
      commit 08436d27
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Jun 10 17:42:52 2010 +0200
      
          gallium: fix array texture interface changes bugs, docs
      
      commit 4a4d9276
      Author: Roland Scheidegger <sroland@vmware.com>
      Date:   Thu Jun 3 22:02:44 2010 +0200
      
          gallium: interface changes for array textures and related cleanups
      
          This patch introduces array textures to gallium (note they are not immediately
          usable without the associated changes to the shader side).
          Also, this abandons pipe_subresource in favor of using level and layer
          parameters since the distinction between several faces (which was part of
          pipe_subresource for cube textures) and several z slices (which were not part
          of pipe_subresource but instead part of pipe_box where appropriate for 3d
          textures) is gone at the resource level.
          Textures, be it array, cube, or 3d, now use a "unified" set of parameters,
          there is no distinction between array members, cube faces, or 3d zslices.
          This is unlike d3d10, whose subresource index includes layer information for
          array textures, but which considers all z slices of a 3d texture to be part
          of the same subresource.
          In contrast to d3d10, OpenGL though reuses old 2d and 3d function entry points
          for 1d and 2d array textures, respectively, which also implies that for instance
          it is possible to specify all layers of a 2d array texture at once (note that
          this is not possible for cube maps, which use the 2d entry points, although
          it is possible for cube map arrays, which aren't supported yet in gallium).
          This should possibly make drivers a bit simpler, and also get rid of mutually
          exclusive parameters in some functions (as z and face were exclusive), one
          potential downside would be that 3d array textures could not easily be supported
          without reverting this, but those are nowhere to be seen.
      
          Also along with adjusting to new parameters, rename get_tex_surface /
          tex_surface_destroy to create_surface / surface_destroy and move them from
          screen to context, which reflects much better what those do (they are analogous
          to create_sampler_view / sampler_view_destroy).
      
          PIPE_CAP_ARRAY_TEXTURES is used to indicate if a driver supports all of this
          functionality (that is, both sampling from array texture as well as use a range
          of layers as a render target, with selecting the layer from the geometry shader).
      4c700146
  18. 05 Nov, 2010 1 commit
  19. 23 Oct, 2010 1 commit
  20. 22 Oct, 2010 1 commit
  21. 12 Oct, 2010 1 commit
  22. 14 Sep, 2010 1 commit
    • Luca Barbieri's avatar
      gallium: introduce get_shader_param (ALL DRIVERS CHANGED) (v3) · a508d2dd
      Luca Barbieri authored
      Changes in v3:
      - Also change trace, which I forgot about
      
      Changes in v2:
      - No longer adds tessellation shaders
      
      Currently each shader cap has FS and VS versions.
      
      However, we want a version of them for geometry, tessellation control,
      and tessellation evaluation shaders, and want to be able to easily
      query a given cap type for a given shader stage.
      
      Since having 5 duplicates of each shader cap is unmanageable, add
      a new get_shader_param function that takes both a shader cap from a
      new enum and a shader stage.
      
      Drivers with non-unified shaders will first switch on the shader
      and, within each case, switch on the cap.
      
      Drivers with unified shaders instead first check whether the shader
      is supported, and then switch on the cap.
      
      MAX_CONST_BUFFERS is now per-stage.
      The geometry shader cap is removed in favor of checking whether the
      limit of geometry shader instructions is greater than 0, which is also
      used for tessellation shaders.
      
      WARNING: all drivers changed and compiled but only nvfx tested
      a508d2dd
  23. 20 Aug, 2010 1 commit
  24. 29 Jun, 2010 1 commit
  25. 08 Jun, 2010 1 commit
  26. 05 Jun, 2010 1 commit
    • Dave Airlie's avatar
      mesa/st: add support for EXT_texture_swizzle. · 42ebe3df
      Dave Airlie authored
      This passes on r300g, the only bit I'm not really sure about is the handling
      of the sampler_view in st_atom_texture.c, I unreference it there if the swizzle
      value changes and I also have to create a new set of functions to create a new
      one since the u_sampler.c ones don't handle swizzle so much.
      
      adds r300g + softpipe enables, I think other drivers could pass easily enough.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      42ebe3df
  27. 28 May, 2010 2 commits
  28. 24 May, 2010 1 commit
  29. 17 May, 2010 1 commit
  30. 12 May, 2010 2 commits
  31. 29 Apr, 2010 1 commit
  32. 17 May, 2010 1 commit
  33. 25 Apr, 2010 1 commit
  34. 24 Apr, 2010 1 commit
  35. 23 Apr, 2010 1 commit