mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
Merge branch 'master' of git://anongit.freedesktop.org/git/mesa/mesa
This commit is contained in:
commit
f9828f5c4f
4 changed files with 51 additions and 28 deletions
|
|
@ -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 &
|
||||
</pre>
|
||||
|
||||
<p>
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue