<H1>News</H1>
-<h2>March 26, 2010</h2>
+<h2>March 28, 2010</h2>
<p>
<a href="relnotes-7.7.1.html">Mesa 7.7.1</a> is released. This is a bug-fix
release fixing issues found in the 7.7 release.
<body bgcolor="#eeeeee">
-<H1>Mesa 7.7.1 Release Notes / March 26, 2010</H1>
+<H1>Mesa 7.7.1 Release Notes / March 28, 2010</H1>
<p>
Mesa 7.7.1 is a bug-fix release.
<h2>MD5 checksums</h2>
<pre>
-tbd
+3ab0638cfa7ce8157337a229cf0db2c4 MesaLib-7.7.1.tar.gz
+46664d99e03f1e3ac078a7fea02af115 MesaLib-7.7.1.tar.bz2
+4e73ba8abb59aff79485eb95d7cefff7 MesaLib-7.7.1.zip
+bf1b108983995f7a712cf3343df1c918 MesaDemos-7.7.1.tar.gz
+aeb39645d80d656e0adebaa09e5bcd03 MesaDemos-7.7.1.tar.bz2
+01c49b7454fd292244eaf8bdc6ed8cf0 MesaDemos-7.7.1.zip
+37ec6386693dcb6dc770d1efd63a7a93 MesaGLUT-7.7.1.tar.gz
+1e16c85282f843791a21f7bc7b6a1ca8 MesaGLUT-7.7.1.tar.bz2
+d352c9e36a8e4d1059f4abc017b131e0 MesaGLUT-7.7.1.zip
</pre>
<body bgcolor="#eeeeee">
-<H1>Mesa 7.8 Release Notes / March 26, 2010</H1>
+<H1>Mesa 7.8 Release Notes / March 28, 2010</H1>
<p>
Mesa 7.8 is a new development release.
<h2>MD5 checksums</h2>
<pre>
-tbd
+5fcfde5383eccb3e9fd665f08a0ea59b MesaLib-7.8.tar.gz
+85cb891eecb89aae4fdd3499cccd934b MesaLib-7.8.tar.bz2
+754f39593006effc1c8ec3c27c2f1296 MesaLib-7.8.zip
+c3869c29fa6c3dbdd763f7428d271e12 MesaDemos-7.8.tar.gz
+9fe8ec184c7f78691e43c4c0a7f97d56 MesaDemos-7.8.tar.bz2
+063a96947f7b83d4ad789c6cf291b184 MesaDemos-7.8.zip
+5f4246756b7daaddb4fb3f970cad1e28 MesaGLUT-7.8.tar.gz
+ca7048a4aa7a437dcc84cc2c7d731336 MesaGLUT-7.8.tar.bz2
+b54581aeb79b585b158d6a32f94feff2 MesaGLUT-7.8.zip
</pre>
'getprocaddress',
'jkrahntest',
'sharedtex',
- 'texcompress2',
'texobjshare',
]
'brw_vs_emit.c',
'brw_vs_state.c',
'brw_vs_surface_state.c',
+ 'brw_winsys_debug.c',
'brw_wm.c',
# 'brw_wm_constant_buffer.c',
'brw_wm_debug.c',
return &pdraw->base;
}
+#ifdef X_DRI2GetMSC
+
static int
dri2DrawableGetMSC(__GLXscreenConfigs *psc, __GLXDRIdrawable *pdraw,
int64_t *ust, int64_t *msc, int64_t *sbc)
return DRI2GetMSC(psc->dpy, pdraw->xDrawable, ust, msc, sbc);
}
+#endif
+
+
+#ifdef X_DRI2WaitMSC
+
static int
dri2WaitForMSC(__GLXDRIdrawable *pdraw, int64_t target_msc, int64_t divisor,
int64_t remainder, int64_t *ust, int64_t *msc, int64_t *sbc)
sbc);
}
+#endif /* X_DRI2WaitMSC */
+
static void
dri2CopySubBuffer(__GLXDRIdrawable *pdraw, int x, int y, int width, int height)
{
return pdraw->buffers;
}
+#ifdef X_DRI2SwapInterval
+
static void
dri2SetSwapInterval(__GLXDRIdrawable *pdraw, int interval)
{
return priv->swap_interval;
}
+#endif /* X_DRI2SwapInterval */
+
static const __DRIdri2LoaderExtension dri2LoaderExtension = {
{__DRI_DRI2_LOADER, __DRI_DRI2_LOADER_VERSION},
dri2GetBuffers,
/**
- * Lookup an entry in the hash table.
- *
- * \param table the hash table.
- * \param key the key.
- *
- * \return pointer to user's data or NULL if key not in table
+ * Lookup an entry in the hash table, without locking.
+ * \sa _mesa_HashLookup
*/
-void *
-_mesa_HashLookup(struct _mesa_HashTable *table, GLuint key)
+static INLINE void *
+_mesa_HashLookup_unlocked(struct _mesa_HashTable *table, GLuint key)
{
GLuint pos;
const struct HashEntry *entry;
assert(key);
pos = HASH_FUNC(key);
- _glthread_LOCK_MUTEX(table->Mutex);
entry = table->Table[pos];
while (entry) {
if (entry->Key == key) {
- _glthread_UNLOCK_MUTEX(table->Mutex);
return entry->Data;
}
entry = entry->Next;
}
- _glthread_UNLOCK_MUTEX(table->Mutex);
return NULL;
}
+/**
+ * Lookup an entry in the hash table.
+ *
+ * \param table the hash table.
+ * \param key the key.
+ *
+ * \return pointer to user's data or NULL if key not in table
+ */
+void *
+_mesa_HashLookup(struct _mesa_HashTable *table, GLuint key)
+{
+ void *res;
+ assert(table);
+ _glthread_LOCK_MUTEX(table->Mutex);
+ res = _mesa_HashLookup_unlocked(table, key);
+ _glthread_UNLOCK_MUTEX(table->Mutex);
+ return res;
+}
+
/**
* Insert a key/pointer pair into the hash table.
GLuint freeStart = 1;
GLuint key;
for (key = 1; key != maxKey; key++) {
- if (_mesa_HashLookup(table, key)) {
+ if (_mesa_HashLookup_unlocked(table, key)) {
/* darn, this key is already in use */
freeCount = 0;
freeStart = key+1;