Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/mesa

This commit is contained in:
Oliver McFadden 2007-05-09 14:23:22 +00:00
commit f9828f5c4f
4 changed files with 51 additions and 28 deletions

View file

@ -39,6 +39,19 @@ You'll need the DRM and pciaccess libraries. Check with:
pkg-config --modversion pciaccess
</pre>
<p>
You can get them from the git repository with:
</p>
<pre>
git clone git://anongit.freedesktop.org/git/mesa/drm
git clone git://anongit.freedesktop.org/git/xorg/lib/libpciaccess
</pre>
<p>
See the README files in those projects for build/install instructions.
</p>
<p>
You'll need fbdev header files. Check with:
</p>
@ -168,7 +181,7 @@ Change to the <code>Mesa/progs/miniglx/</code> directory and
start the sample_server program in the background:
</p>
<pre>
./sample_server &
./sample_server &amp;
</pre>
<p>

View file

@ -455,12 +455,14 @@ static unsigned long AllocFromAGP(const DRIDriverContext *ctx, I830Rec *pI830, l
}
unsigned long
I830AllocVidMem(const DRIDriverContext *ctx, I830Rec *pI830, I830MemRange *result, I830MemPool *pool, long size, unsigned long alignment, int flags)
I830AllocVidMem(const DRIDriverContext *ctx, I830Rec *pI830,
I830MemRange *result, I830MemPool *pool, long size,
unsigned long alignment, int flags)
{
int ret;
unsigned long ret;
if (!result)
return 0;
if (!result)
return 0;
/* Make sure these are initialised. */
result->Size = 0;
@ -470,16 +472,15 @@ I830AllocVidMem(const DRIDriverContext *ctx, I830Rec *pI830, I830MemRange *resul
return 0;
}
if (pool->Free.Size < size)
return AllocFromAGP(ctx, pI830, size, alignment, result);
else
{
ret = AllocFromPool(ctx, pI830, result, pool, size, alignment, flags);
if (ret==0)
return AllocFromAGP(ctx, pI830, size, alignment, result);
return ret;
if (pool->Free.Size < size) {
ret = AllocFromAGP(ctx, pI830, size, alignment, result);
}
else {
ret = AllocFromPool(ctx, pI830, result, pool, size, alignment, flags);
if (ret == 0)
ret = AllocFromAGP(ctx, pI830, size, alignment, result);
}
return ret;
}
static Bool BindAgpRange(const DRIDriverContext *ctx, I830MemRange *mem)

View file

@ -483,12 +483,14 @@ static unsigned long AllocFromAGP(const DRIDriverContext *ctx, I830Rec *pI830, l
}
unsigned long
I830AllocVidMem(const DRIDriverContext *ctx, I830Rec *pI830, I830MemRange *result, I830MemPool *pool, long size, unsigned long alignment, int flags)
I830AllocVidMem(const DRIDriverContext *ctx, I830Rec *pI830,
I830MemRange *result, I830MemPool *pool, long size,
unsigned long alignment, int flags)
{
int ret;
unsigned long ret;
if (!result)
return 0;
if (!result)
return 0;
/* Make sure these are initialised. */
result->Size = 0;
@ -498,16 +500,15 @@ I830AllocVidMem(const DRIDriverContext *ctx, I830Rec *pI830, I830MemRange *resul
return 0;
}
if (pool->Free.Size < size)
return AllocFromAGP(ctx, pI830, size, alignment, result);
else
{
ret = AllocFromPool(ctx, pI830, result, pool, size, alignment, flags);
if (ret==0)
return AllocFromAGP(ctx, pI830, size, alignment, result);
return ret;
if (pool->Free.Size < size) {
ret = AllocFromAGP(ctx, pI830, size, alignment, result);
}
else {
ret = AllocFromPool(ctx, pI830, result, pool, size, alignment, flags);
if (ret == 0)
ret = AllocFromAGP(ctx, pI830, size, alignment, result);
}
return ret;
}
static Bool BindAgpRange(const DRIDriverContext *ctx, I830MemRange *mem)

View file

@ -1,6 +1,6 @@
/*
* Mesa 3-D graphics library
* Version: 6.5.3
* Version: 7.0
*
* Copyright (C) 2004-2007 Brian Paul All Rights Reserved.
*
@ -1072,12 +1072,20 @@ _mesa_uniform(GLcontext *ctx, GLint location, GLsizei count,
* If we're setting a sampler, we must use glUniformi1()!
*/
if (shProg->Uniforms->Parameters[location].Type == PROGRAM_SAMPLER) {
GLint unit;
if (type != GL_INT || count != 1) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glUniform(only glUniform1i can be used "
"to set sampler uniforms)");
return;
}
/* check that the sampler (tex unit index) is legal */
unit = ((GLint *) values)[0];
if (unit >= ctx->Const.MaxTextureImageUnits) {
_mesa_error(ctx, GL_INVALID_VALUE,
"glUniform1(invalid sampler/tex unit index)");
return;
}
}
if (count < 0) {