~ubuntu-branches/ubuntu/natty/mesa/natty-proposed

« back to all changes in this revision

Viewing changes to src/gallium/auxiliary/pipebuffer/pb_buffer.h

  • Committer: Bazaar Package Importer
  • Author(s): Robert Hooker, Robert Hooker, Christopher James Halse Rogers
  • Date: 2010-09-14 08:55:40 UTC
  • mfrom: (1.2.28 upstream)
  • Revision ID: james.westby@ubuntu.com-20100914085540-m4fpl0hdjlfd4jgz
Tags: 7.9~git20100909-0ubuntu1
[ Robert Hooker ]
* New upstream git snapshot up to commit 94118fe2d4b1e5 (LP: #631413)
* New features include ATI HD5xxx series support in r600, and a vastly
  improved glsl compiler.
* Remove pre-generated .pc's, use the ones generated at build time
  instead.
* Remove all references to mesa-utils now that its no longer shipped
  with the mesa source.
* Disable the experimental ARB_fragment_shader option by default on
  i915, it exposes incomplete functionality that breaks KDE compositing
  among other things. It can be enabled via driconf still. (LP: #628930).

[ Christopher James Halse Rogers ]
* debian/patches/04_osmesa_version.diff:
  - Refresh for new upstream
* Bugs fixed in this release:
  - Fixes severe rendering corruption in Unity on radeon (LP: #628727,
    LP: #596292, LP: #599741, LP: #630315, LP: #613694, LP: #599741).
  - Also fixes rendering in gnome-shell (LP: #578619).
  - Flickering in OpenGL apps on radeon (LP: #626943, LP: #610541).
  - Provides preliminary support for new intel chips (LP: #601052).
* debian/rules:
  - Update configure flags to match upstream reshuffling.
  - Explicitly remove gallium DRI drivers that we don't want to ship.
* Update debian/gbp.conf for this Maverick-specific packaging
* libegl1-mesa-dri-x11,kms: There are no longer separate kms or x11 drivers
  for EGL, libegl1-mesa-drivers now contains a single driver that provides
  both backends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
#include "util/u_debug.h"
49
49
#include "util/u_inlines.h"
50
50
#include "pipe/p_defines.h"
51
 
#include "pipe/p_state.h"
52
51
 
53
52
 
54
53
#ifdef __cplusplus
58
57
 
59
58
struct pb_vtbl;
60
59
struct pb_validate;
61
 
 
 
60
struct pipe_fence_handle;
 
61
 
 
62
 
 
63
#define PB_USAGE_CPU_READ  (1 << 0)
 
64
#define PB_USAGE_CPU_WRITE (1 << 1)
 
65
#define PB_USAGE_GPU_READ  (1 << 2)
 
66
#define PB_USAGE_GPU_WRITE (1 << 3)
 
67
#define PB_USAGE_UNSYNCHRONIZED (1 << 10)
 
68
#define PB_USAGE_DONTBLOCK (1 << 9)
 
69
 
 
70
#define PB_USAGE_CPU_READ_WRITE \
 
71
   ( PB_USAGE_CPU_READ | PB_USAGE_CPU_WRITE )
 
72
#define PB_USAGE_GPU_READ_WRITE \
 
73
   ( PB_USAGE_GPU_READ | PB_USAGE_GPU_WRITE )
 
74
#define PB_USAGE_WRITE \
 
75
   ( PB_USAGE_CPU_WRITE | PB_USAGE_GPU_WRITE )
62
76
 
63
77
/**
64
78
 * Buffer description.
83
97
 */
84
98
struct pb_buffer 
85
99
{
86
 
   struct pipe_buffer base;
 
100
   /* This used to be a pipe_buffer struct:
 
101
    */
 
102
   struct {
 
103
      struct pipe_reference  reference;
 
104
      unsigned               size;
 
105
      unsigned               alignment;
 
106
      unsigned               usage;
 
107
   } base;
87
108
 
88
109
   /**
89
110
    * Pointer to the virtual function table.
106
127
 
107
128
   /** 
108
129
    * Map the entire data store of a buffer object into the client's address.
109
 
    * flags is bitmask of PIPE_BUFFER_FLAG_READ/WRITE. 
 
130
    * flags is bitmask of PB_USAGE_CPU_READ/WRITE. 
110
131
    */
111
132
   void *(*map)( struct pb_buffer *buf, 
112
133
                 unsigned flags );
138
159
};
139
160
 
140
161
 
141
 
static INLINE struct pipe_buffer *
142
 
pb_pipe_buffer( struct pb_buffer *pbuf )
143
 
{
144
 
   assert(pbuf);
145
 
   return &pbuf->base;
146
 
}
147
 
 
148
 
 
149
 
static INLINE struct pb_buffer *
150
 
pb_buffer( struct pipe_buffer *buf )
151
 
{
152
 
   assert(buf);
153
 
   /* Could add a magic cookie check on debug builds.
154
 
    */
155
 
   return (struct pb_buffer *)buf;
156
 
}
157
 
 
158
162
 
159
163
/* Accessor functions for pb->vtbl:
160
164
 */