mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 09:30:11 +01:00
Merge branch 'mesa_7_5_branch'
Conflicts: Makefile src/mesa/main/version.h
This commit is contained in:
commit
edfbf7dccb
12 changed files with 161 additions and 18 deletions
1
Makefile
1
Makefile
|
|
@ -127,6 +127,7 @@ linux-icc \
|
|||
linux-icc-static \
|
||||
linux-llvm \
|
||||
linux-osmesa \
|
||||
linux-osmesa-static \
|
||||
linux-osmesa16 \
|
||||
linux-osmesa16-static \
|
||||
linux-osmesa32 \
|
||||
|
|
|
|||
37
configs/linux-osmesa-static
Normal file
37
configs/linux-osmesa-static
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
# Configuration for building static libOSMesa.a on Linux, no Xlib driver
|
||||
# This doesn't really have any Linux dependencies, so it should be usable
|
||||
# on other (gcc-based) systems.
|
||||
|
||||
include $(TOP)/configs/default
|
||||
|
||||
CONFIG_NAME = linux-osmesa
|
||||
|
||||
# Compiler and flags
|
||||
CC = gcc -m32
|
||||
CXX = g++ -m32
|
||||
CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DPTHREADS
|
||||
CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE
|
||||
|
||||
MKLIB_OPTIONS = -static
|
||||
|
||||
# Library names (actual file names)
|
||||
GL_LIB_NAME = libGL.a
|
||||
GLU_LIB_NAME = libGLU.a
|
||||
GLUT_LIB_NAME = libglut.a
|
||||
GLW_LIB_NAME = libGLw.a
|
||||
OSMESA_LIB_NAME = libOSMesa.a
|
||||
|
||||
# Directories
|
||||
SRC_DIRS = mesa glu
|
||||
DRIVER_DIRS = osmesa
|
||||
PROGRAM_DIRS = osdemos
|
||||
|
||||
|
||||
# Dependencies
|
||||
GL_LIB_DEPS =
|
||||
OSMESA_LIB_DEPS =
|
||||
GLU_LIB_DEPS =
|
||||
GLUT_LIB_DEPS =
|
||||
GLW_LIB_DEPS =
|
||||
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) \
|
||||
$(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lpthread -lstdc++ -lm
|
||||
|
|
@ -11,9 +11,10 @@
|
|||
<H1>News</H1>
|
||||
|
||||
|
||||
<h2>May tbd, 2009</h2>
|
||||
<h2>May 15, 2009</h2>
|
||||
<p>
|
||||
<a href="relnotes-7.5.html">Mesa 7.5</a> is released.
|
||||
<a href="relnotes-7.4.2.html">Mesa 7.4.2</a> is released.
|
||||
This is a stable release fixing bugs since the 7.4.1 release.
|
||||
</p>
|
||||
|
||||
|
||||
|
|
|
|||
74
docs/relnotes-7.4.2.html
Normal file
74
docs/relnotes-7.4.2.html
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
<HTML>
|
||||
|
||||
<TITLE>Mesa Release Notes</TITLE>
|
||||
|
||||
<head><link rel="stylesheet" type="text/css" href="mesa.css"></head>
|
||||
|
||||
<BODY>
|
||||
|
||||
<body bgcolor="#eeeeee">
|
||||
|
||||
<H1>Mesa 7.4.2 Release Notes / May 15, 2009</H1>
|
||||
|
||||
<p>
|
||||
Mesa 7.4.2 is a stable development release fixing bugs since the 7.4.1 release.
|
||||
</p>
|
||||
<p>
|
||||
Mesa 7.4.2 implements the OpenGL 2.1 API, but the version reported by
|
||||
glGetString(GL_VERSION) depends on the particular driver being used.
|
||||
Some drivers don't support all the features required in OpenGL 2.1.
|
||||
</p>
|
||||
<p>
|
||||
See the <a href="install.html">Compiling/Installing page</a> for prerequisites
|
||||
for DRI hardware acceleration.
|
||||
</p>
|
||||
|
||||
|
||||
<h2>MD5 checksums</h2>
|
||||
<pre>
|
||||
172f5193154dad731387f97bd44ab68f MesaLib-7.4.2.tar.gz
|
||||
b10a76e32bde4645cfc34ea0416d7d8b MesaLib-7.4.2.tar.bz2
|
||||
cc6dfc2efd424cc342b84e6bcd78ce5d MesaLib-7.4.2.zip
|
||||
182a7e78aa7a480b3650a5c956dbddd1 MesaDemos-7.4.2.tar.gz
|
||||
bf559a0485667a3bfa4513a23501579b MesaDemos-7.4.2.tar.bz2
|
||||
5379e622b65e8c22022dba34aeb6f4f9 MesaDemos-7.4.2.zip
|
||||
7cc43c1c35bf6a279a16e063dea3b8c5 MesaGLUT-7.4.2.tar.gz
|
||||
e0dfc44d537904a030861e5b3c760c11 MesaGLUT-7.4.2.tar.bz2
|
||||
4a6cf5bbbac190d6ba97448b3098b7f4 MesaGLUT-7.4.2.zip
|
||||
</pre>
|
||||
|
||||
|
||||
<h2>Bug fixes</h2>
|
||||
<ul>
|
||||
<li>Fixed segfault when rendering to front buffer with DRI 1.
|
||||
<li>Fixed swrast texture rectangle bug when wrap mode = GL_CLAMP_TO_BORDER and
|
||||
filter mode = GL_LINEAR. (bug 21461)
|
||||
<li>Fixed texture object mem leak during context destruction.
|
||||
<li>Fixed a state validation bug in glCopyTex[Sub]Image()
|
||||
<li>Fixed some i965 GLSL bugs.
|
||||
<li>Fixed an R300 driver texture object bad memory reference.
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<h2>Driver Status</h2>
|
||||
|
||||
<pre>
|
||||
Driver Status
|
||||
---------------------- ----------------------
|
||||
DRI drivers varies with the driver
|
||||
XMesa/GLX (on Xlib) implements OpenGL 2.1
|
||||
OSMesa (off-screen) implements OpenGL 2.1
|
||||
Windows/Win32 implements OpenGL 2.1
|
||||
Glide (3dfx Voodoo1/2) implements OpenGL 1.3
|
||||
SVGA unsupported
|
||||
Wind River UGL unsupported
|
||||
DJGPP unsupported
|
||||
GGI unsupported
|
||||
BeOS unsupported
|
||||
Allegro unsupported
|
||||
D3D unsupported
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -46,7 +46,7 @@ tbd
|
|||
|
||||
<h2>New features</h2>
|
||||
<ul>
|
||||
<li>Gallium - this is the new architecture for OS-independent and
|
||||
<li>Gallium3D - this is the new architecture for OS-independent and
|
||||
API-independent 3D drivers.
|
||||
Gallium3D is intended for GPUs that fully support vertex/fragment shaders.
|
||||
The Gallium3D drivers currently included are:
|
||||
|
|
@ -54,8 +54,10 @@ tbd
|
|||
<li>softpipe - a software/reference driver
|
||||
<li>i915 - Intel 915/945 driver
|
||||
<li><a href="cell.html">Cell</a> - IBM/Sony/Toshiba Cell processor driver
|
||||
<li>nouveau - preliminary driver for NVIDIA GPUs (still under development)
|
||||
<li>r300 - preliminary driver for R300 (still under development)
|
||||
<li>nouveau (for NVIDIA GPUs) and R300 for (AMD/ATI R300).
|
||||
<b>PLEASE NOTE: these drivers are incomplete and still under development.
|
||||
It's probably NOT worthwhile to report any bugs unless you have patches.
|
||||
</b>
|
||||
</ul>
|
||||
<li>GL_ARB_framebuffer_object extension (software drivers, i965 driver)
|
||||
<li>Reworked two-sided stencil support.
|
||||
|
|
|
|||
|
|
@ -10,8 +10,8 @@
|
|||
|
||||
<p>
|
||||
Mesa uses an even/odd version number scheme like the Linux kernel.
|
||||
Odd numbered versions (such as 7.5) designate new developmental releases.
|
||||
Even numbered versions (such as 7.4) designate stable releases.
|
||||
Odd numbered versions (such as 6.5) designate new developmental releases.
|
||||
Even numbered versions (such as 6.4) designate stable releases.
|
||||
</p>
|
||||
|
||||
|
||||
|
|
@ -22,6 +22,7 @@ The release notes summarize what's new or changed in each Mesa release.
|
|||
<UL>
|
||||
<LI><A HREF="relnotes-7.6.html">7.6 release notes</A>
|
||||
<LI><A HREF="relnotes-7.5.html">7.5 release notes</A>
|
||||
<LI><A HREF="relnotes-7.4.2.html">7.4.2 release notes</A>
|
||||
<LI><A HREF="relnotes-7.4.1.html">7.4.1 release notes</A>
|
||||
<LI><A HREF="relnotes-7.4.html">7.4 release notes</A>
|
||||
<LI><A HREF="relnotes-7.3.html">7.3 release notes</A>
|
||||
|
|
|
|||
|
|
@ -127,6 +127,11 @@ softpipe_is_format_supported( struct pipe_screen *screen,
|
|||
unsigned tex_usage,
|
||||
unsigned geom_flags )
|
||||
{
|
||||
assert(target == PIPE_TEXTURE_1D ||
|
||||
target == PIPE_TEXTURE_2D ||
|
||||
target == PIPE_TEXTURE_3D ||
|
||||
target == PIPE_TEXTURE_CUBE);
|
||||
|
||||
switch(format) {
|
||||
case PIPE_FORMAT_DXT1_RGB:
|
||||
case PIPE_FORMAT_DXT1_RGBA:
|
||||
|
|
|
|||
|
|
@ -405,6 +405,8 @@ driCreateScreen(__GLXscreenConfigs * psc, int screen,
|
|||
psp->createContext = driCreateContext;
|
||||
psp->createDrawable = driCreateDrawable;
|
||||
psp->swapBuffers = driSwapBuffers;
|
||||
psp->waitX = NULL;
|
||||
psp->waitGL = NULL;
|
||||
|
||||
return psp;
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "main/matrix.h"
|
||||
#include "main/extensions.h"
|
||||
#include "main/state.h"
|
||||
#include "main/texobj.h"
|
||||
#include "main/bufferobj.h"
|
||||
|
||||
#include "swrast/swrast.h"
|
||||
|
|
@ -500,6 +501,7 @@ void r300DestroyContext(__DRIcontextPrivate * driContextPriv)
|
|||
r300ContextPtr r300 = (r300ContextPtr) driContextPriv->driverPrivate;
|
||||
radeonContextPtr radeon = (radeonContextPtr) r300;
|
||||
radeonContextPtr current = ctx ? RADEON_CONTEXT(ctx) : NULL;
|
||||
int i;
|
||||
|
||||
if (RADEON_DEBUG & DEBUG_DRI) {
|
||||
fprintf(stderr, "Destroying context !\n");
|
||||
|
|
@ -553,6 +555,11 @@ void r300DestroyContext(__DRIcontextPrivate * driContextPriv)
|
|||
assert(is_empty_list(&r300->swapped));
|
||||
}
|
||||
|
||||
/* Drop texture object references from current hardware state */
|
||||
for (i = 0; i < 8; i++) {
|
||||
_mesa_reference_texobj(&r300->state.texture.unit[i].texobj, NULL);
|
||||
}
|
||||
|
||||
radeonCleanupContext(&r300->radeon);
|
||||
|
||||
#ifdef USER_BUFFERS
|
||||
|
|
|
|||
|
|
@ -557,12 +557,15 @@ static GLboolean r300UpdateTexture(GLcontext * ctx, int unit)
|
|||
{
|
||||
r300ContextPtr rmesa = R300_CONTEXT(ctx);
|
||||
struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
|
||||
struct gl_texture_object *tObj = texUnit->_Current;
|
||||
r300TexObjPtr t = (r300TexObjPtr) tObj->DriverData;
|
||||
struct gl_texture_object *tObj = texUnit->_ReallyEnabled ?
|
||||
texUnit->_Current : NULL;
|
||||
r300TexObjPtr t = tObj ? (r300TexObjPtr) tObj->DriverData : NULL;
|
||||
|
||||
/* Fallback if there's a texture border */
|
||||
if (tObj->Image[0][tObj->BaseLevel]->Border > 0)
|
||||
return GL_FALSE;
|
||||
if (tObj && tObj->Image[0][tObj->BaseLevel]->Border > 0) {
|
||||
tObj = NULL;
|
||||
t = NULL;
|
||||
}
|
||||
|
||||
/* Update state if this is a different texture object to last
|
||||
* time.
|
||||
|
|
@ -579,11 +582,14 @@ static GLboolean r300UpdateTexture(GLcontext * ctx, int unit)
|
|||
}
|
||||
|
||||
_mesa_reference_texobj(&rmesa->state.texture.unit[unit].texobj, tObj);
|
||||
t->base.bound |= (1 << unit);
|
||||
driUpdateTextureLRU(&t->base); /* XXX: should be locked! */
|
||||
|
||||
if (t) {
|
||||
t->base.bound |= (1 << unit);
|
||||
driUpdateTextureLRU(&t->base); /* XXX: should be locked! */
|
||||
}
|
||||
}
|
||||
|
||||
return !t->border_fallback;
|
||||
return !t || !t->border_fallback;
|
||||
}
|
||||
|
||||
void r300SetTexOffset(__DRIcontext * pDRICtx, GLint texname,
|
||||
|
|
@ -651,7 +657,7 @@ static GLboolean r300UpdateTextureUnit(GLcontext * ctx, int unit)
|
|||
} else if (texUnit->_ReallyEnabled) {
|
||||
return GL_FALSE;
|
||||
} else {
|
||||
return GL_TRUE;
|
||||
return r300UpdateTexture(ctx, unit);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1370,6 +1370,9 @@ make_2d_stack_mipmap(GLenum datatype, GLuint comps, GLint border,
|
|||
|
||||
/**
|
||||
* Down-sample a texture image to produce the next lower mipmap level.
|
||||
* \param comps components per texel (1, 2, 3 or 4)
|
||||
* \param srcRowStride stride between source rows, in texels
|
||||
* \param dstRowStride stride between destination rows, in texels
|
||||
*/
|
||||
void
|
||||
_mesa_generate_mipmap_level(GLenum target,
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ st_render_mipmap(struct st_context *st,
|
|||
assert(target != GL_TEXTURE_3D); /* not done yet */
|
||||
|
||||
/* check if we can render in the texture's format */
|
||||
if (!screen->is_format_supported(screen, pt->format, target,
|
||||
if (!screen->is_format_supported(screen, pt->format, pt->target,
|
||||
PIPE_TEXTURE_USAGE_RENDER_TARGET, 0)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -123,6 +123,7 @@ fallback_generate_mipmap(GLcontext *ctx, GLenum target,
|
|||
struct pipe_transfer *srcTrans, *dstTrans;
|
||||
const ubyte *srcData;
|
||||
ubyte *dstData;
|
||||
int srcStride, dstStride;
|
||||
|
||||
srcTrans = st_cond_flush_get_tex_transfer(st_context(ctx), pt, face,
|
||||
srcLevel, zslice,
|
||||
|
|
@ -139,14 +140,17 @@ fallback_generate_mipmap(GLcontext *ctx, GLenum target,
|
|||
srcData = (ubyte *) screen->transfer_map(screen, srcTrans);
|
||||
dstData = (ubyte *) screen->transfer_map(screen, dstTrans);
|
||||
|
||||
srcStride = srcTrans->stride / srcTrans->block.size;
|
||||
dstStride = dstTrans->stride / dstTrans->block.size;
|
||||
|
||||
_mesa_generate_mipmap_level(target, datatype, comps,
|
||||
0 /*border*/,
|
||||
pt->width[srcLevel], pt->height[srcLevel], pt->depth[srcLevel],
|
||||
srcData,
|
||||
srcTrans->stride, /* stride in bytes */
|
||||
srcStride, /* stride in texels */
|
||||
pt->width[dstLevel], pt->height[dstLevel], pt->depth[dstLevel],
|
||||
dstData,
|
||||
dstTrans->stride); /* stride in bytes */
|
||||
dstStride); /* stride in texels */
|
||||
|
||||
screen->transfer_unmap(screen, srcTrans);
|
||||
screen->transfer_unmap(screen, dstTrans);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue