rpms/mesa/devel intel-mmio-fix.patch, NONE, 1.1 mesa-7.1-nukeglthread-debug.patch, NONE, 1.1 mesa-7.1-osmesa-version.patch, NONE, 1.1 mesa-no-mach64.patch, NONE, 1.1 r300-bufmgr.patch, NONE, 1.1 .cvsignore, 1.27, 1.28 mesa.spec, 1.190, 1.191 sources, 1.27, 1.28 mesa-7.1pre-nukeglthread-debug.patch, 1.1, NONE mesa-7.1pre-osmesa-version.patch, 1.3, NONE mesa-fixes.patch, 1.1, NONE r300-cmdbuf.patch, 1.1, NONE
Dave Airlie
airlied at fedoraproject.org
Fri Sep 5 05:48:32 UTC 2008
Author: airlied
Update of /cvs/pkgs/rpms/mesa/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv28447
Modified Files:
.cvsignore mesa.spec sources
Added Files:
intel-mmio-fix.patch mesa-7.1-nukeglthread-debug.patch
mesa-7.1-osmesa-version.patch mesa-no-mach64.patch
r300-bufmgr.patch
Removed Files:
mesa-7.1pre-nukeglthread-debug.patch
mesa-7.1pre-osmesa-version.patch mesa-fixes.patch
r300-cmdbuf.patch
Log Message:
* Fri Sep 05 2008 Dave Airlie <airlied at redhat.com> 7.2-0.1
- latest snapshot - r300 bufmgr code
- stop building mach64, patch around some intel issues
intel-mmio-fix.patch:
--- NEW FILE intel-mmio-fix.patch ---
diff --git a/src/mesa/drivers/dri/intel/intel_context.c b/src/mesa/drivers/dri/intel/intel_context.c
index c2ad5a0..18e7348 100644
--- a/src/mesa/drivers/dri/intel/intel_context.c
+++ b/src/mesa/drivers/dri/intel/intel_context.c
@@ -409,10 +409,12 @@ static const struct dri_extension brw_extensions[] = {
{ NULL, NULL }
};
+#ifdef I915_MMIO_READ
static const struct dri_extension arb_oc_extensions[] = {
{"GL_ARB_occlusion_query", GL_ARB_occlusion_query_functions},
{NULL, NULL}
};
+#endif
static const struct dri_extension ttm_extensions[] = {
{"GL_EXT_framebuffer_object", GL_EXT_framebuffer_object_functions},
@@ -437,10 +439,12 @@ void intelInitExtensions(GLcontext *ctx, GLboolean enable_imaging)
if (intel == NULL || intel->ttm)
driInitExtensions(ctx, ttm_extensions, GL_FALSE);
+#ifdef I915_MMIO_READ
if (intel == NULL ||
(IS_965(intel->intelScreen->deviceID) &&
intel->intelScreen->drmMinor >= 8))
driInitExtensions(ctx, arb_oc_extensions, GL_FALSE);
+#endif
if (intel == NULL || IS_965(intel->intelScreen->deviceID))
driInitExtensions(ctx, brw_extensions, GL_FALSE);
@@ -538,6 +542,7 @@ intelFinish(GLcontext * ctx)
}
}
+#ifdef I915_MMIO_READ
static void
intelBeginQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
{
@@ -568,6 +573,7 @@ intelEndQuery(GLcontext *ctx, GLenum target, struct gl_query_object *q)
q->Ready = GL_TRUE;
intel->stats_wm--;
}
+#endif
/** Driver-specific fence emit implementation for the fake memory manager. */
static unsigned int
@@ -684,8 +690,10 @@ intelInitDriverFunctions(struct dd_function_table *functions)
functions->CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D;
functions->CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D;
+#ifdef I915_MMIO_READ
functions->BeginQuery = intelBeginQuery;
functions->EndQuery = intelEndQuery;
+#endif
intelInitTextureFuncs(functions);
intelInitStateFuncs(functions);
mesa-7.1-nukeglthread-debug.patch:
--- NEW FILE mesa-7.1-nukeglthread-debug.patch ---
diff -up Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c.intel-glthread Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c
--- Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c.intel-glthread 2008-08-25 10:49:40.000000000 -0400
+++ Mesa-7.1/src/mesa/drivers/dri/intel/intel_fbo.c 2008-08-28 14:26:17.000000000 -0400
@@ -633,11 +633,6 @@ intel_render_texture(GLcontext * ctx,
return;
}
- DBG("Begin render texture tid %x tex=%u w=%d h=%d refcount=%d\n",
- _glthread_GetID(),
- att->Texture->Name, newImage->Width, newImage->Height,
- irb->Base.RefCount);
-
/* point the renderbufer's region to the texture image region */
intel_image = intel_texture_image(newImage);
if (irb->region != intel_image->mt->region) {
@@ -674,8 +669,6 @@ intel_finish_render_texture(GLcontext *
{
struct intel_renderbuffer *irb = intel_renderbuffer(att->Renderbuffer);
- DBG("End render texture (tid %x) tex %u\n", _glthread_GetID(), att->Texture->Name);
-
if (irb) {
/* just release the region */
intel_region_release(&irb->region);
mesa-7.1-osmesa-version.patch:
--- NEW FILE mesa-7.1-osmesa-version.patch ---
diff -up Mesa-7.1/src/mesa/drivers/osmesa/Makefile.jx Mesa-7.1/src/mesa/drivers/osmesa/Makefile
--- Mesa-7.1/src/mesa/drivers/osmesa/Makefile.jx 2008-08-28 14:05:47.000000000 -0400
+++ Mesa-7.1/src/mesa/drivers/osmesa/Makefile 2008-08-28 14:07:13.000000000 -0400
@@ -46,7 +46,7 @@ osmesa8: $(TOP)/lib/$(OSMESA_LIB_NAME)
$(TOP)/lib/$(OSMESA_LIB_NAME): $(OBJECTS)
$(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+ -major 6 -minor 5 -patch 3 \
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
-id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
$(OSMESA_LIB_DEPS) $(OBJECTS)
@@ -58,7 +58,7 @@ $(TOP)/lib/$(OSMESA_LIB_NAME): $(OBJECTS
# with all the other Mesa sources (compiled with -DCHAN_BITS=16/32
osmesa16: $(OBJECTS) $(CORE_MESA)
$(MKLIB) -o $(OSMESA_LIB) -linker '$(CC)' -ldflags '$(LDFLAGS)' \
- -major $(MESA_MAJOR) -minor $(MESA_MINOR) -patch $(MESA_TINY) \
+ -major 6 -minor 5 -patch 3 \
-install $(TOP)/$(LIB_DIR) $(MKLIB_OPTIONS) \
-id $(INSTALL_LIB_DIR)/lib$(OSMESA_LIB).$(MESA_MAJOR).dylib \
$(OSMESA_LIB_DEPS) $(OBJECTS) $(CORE_MESA)
mesa-no-mach64.patch:
--- NEW FILE mesa-no-mach64.patch ---
--- configure.ac.mach64 2008-09-05 13:53:24.000000000 +1000
+++ configure.ac 2008-09-05 13:53:39.000000000 +1000
@@ -656,7 +656,7 @@
# because there is no x86-64 system where they could *ever*
# be used.
if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="i915 i965 mach64 mga r128 r200 r300 radeon \
+ DRI_DIRS="i915 i965 mga r128 r200 r300 radeon \
savage tdfx unichrome swrast"
fi
;;
@@ -664,13 +664,13 @@
# Build only the drivers for cards that exist on PowerPC.
# At some point MGA will be added, but not yet.
if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="mach64 r128 r200 r300 radeon tdfx swrast"
+ DRI_DIRS="r128 r200 r300 radeon tdfx swrast"
fi
;;
sparc*)
# Build only the drivers for cards that exist on sparc`
if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="mach64 r128 r200 r300 radeon ffb swrast"
+ DRI_DIRS="r128 r200 r300 radeon ffb swrast"
fi
;;
esac
@@ -689,7 +689,7 @@
# ffb and gamma are missing because they have not been converted
# to use the new interface.
if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon tdfx \
+ DRI_DIRS="i810 i915 i965 mga r128 r200 r300 radeon tdfx \
unichrome savage sis swrast"
fi
;;
@@ -704,7 +704,7 @@
# default drivers
if test "x$DRI_DIRS" = "xyes"; then
- DRI_DIRS="i810 i915 i965 mach64 mga r128 r200 r300 radeon s3v \
+ DRI_DIRS="i810 i915 i965 mga r128 r200 r300 radeon s3v \
savage sis tdfx trident unichrome ffb swrast"
fi
r300-bufmgr.patch:
--- NEW FILE r300-bufmgr.patch ---
diff --git a/src/mesa/drivers/dri/r200/Makefile b/src/mesa/drivers/dri/r200/Makefile
index e9144ac..b6ed58b 100644
--- a/src/mesa/drivers/dri/r200/Makefile
+++ b/src/mesa/drivers/dri/r200/Makefile
@@ -48,7 +48,8 @@ SYMLINKS = \
COMMON_SYMLINKS = \
radeon_chipset.h \
radeon_screen.c \
- radeon_screen.h
+ radeon_screen.h \
+ radeon_buffer.h
##### TARGETS #####
diff --git a/src/mesa/drivers/dri/r300/Makefile b/src/mesa/drivers/dri/r300/Makefile
index 6ca9342..3bb1ff4 100644
--- a/src/mesa/drivers/dri/r300/Makefile
+++ b/src/mesa/drivers/dri/r300/Makefile
@@ -11,15 +11,6 @@ ifeq ($(USING_EGL), 1)
EGL_SOURCES = server/radeon_egl.c
endif
-COMMON_SOURCES = \
- ../../common/driverfuncs.c \
- ../common/mm.c \
- ../common/utils.c \
- ../common/texmem.c \
- ../common/vblank.c \
- ../common/xmlconfig.c \
- ../common/dri_util.c
-
DRIVER_SOURCES = \
radeon_screen.c \
radeon_context.c \
@@ -36,6 +27,7 @@ DRIVER_SOURCES = \
r300_texmem.c \
r300_tex.c \
r300_texstate.c \
+ r300_mipmap_tree.c \
radeon_program.c \
radeon_program_alu.c \
radeon_program_pair.c \
@@ -51,7 +43,7 @@ DRIVER_SOURCES = \
r300_swtcl.c \
$(EGL_SOURCES)
-C_SOURCES = $(COMMON_SOURCES) $(DRIVER_SOURCES)
+C_SOURCES = $(COMMON_SOURCES) $(COMMON_BM_SOURCES) $(DRIVER_SOURCES)
DRIVER_DEFINES = -DCOMPILE_R300 -DR200_MERGED=0 \
-DRADEON_COMMON=1 -DRADEON_COMMON_FOR_R300
@@ -68,7 +60,8 @@ COMMON_SYMLINKS = \
radeon_chipset.h \
radeon_screen.c \
radeon_screen.h \
- radeon_span.h
+ radeon_span.h \
+ radeon_buffer.h
##### TARGETS #####
diff --git a/src/mesa/drivers/dri/r300/r300_cmdbuf.c b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
index c069660..dd42bf8 100644
--- a/src/mesa/drivers/dri/r300/r300_cmdbuf.c
+++ b/src/mesa/drivers/dri/r300/r300_cmdbuf.c
@@ -51,11 +51,18 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "r300_reg.h"
#include "r300_cmdbuf.h"
#include "r300_emit.h"
+#include "r300_mem.h"
+#include "r300_mipmap_tree.h"
#include "r300_state.h"
// Set this to 1 for extremely verbose debugging of command buffers
#define DEBUG_CMDBUF 0
+/** # of dwords reserved for additional instructions that may need to be written
+ * during flushing.
+ */
+#define SPACE_FOR_FLUSHING 4
+
/**
* Send the current command buffer via ioctl to the hardware.
*/
@@ -66,24 +73,42 @@ int r300FlushCmdBufLocked(r300ContextPtr r300, const char *caller)
drm_radeon_cmd_buffer_t cmd;
int start;
+ if (r300->cmdbuf.flushing) {
+ fprintf(stderr, "Recursive call into r300FlushCmdBufLocked!\n");
+ exit(-1);
+ }
+ r300->cmdbuf.flushing = 1;
+
if (r300->radeon.lost_context) {
start = 0;
r300->radeon.lost_context = GL_FALSE;
} else
- start = r300->cmdbuf.count_reemit;
+ start = r300->cmdbuf.reemit;
if (RADEON_DEBUG & DEBUG_IOCTL) {
fprintf(stderr, "%s from %s - %i cliprects\n",
__FUNCTION__, caller, r300->radeon.numClipRects);
- if (DEBUG_CMDBUF && RADEON_DEBUG & DEBUG_VERBOSE)
- for (i = start; i < r300->cmdbuf.count_used; ++i)
+ if (DEBUG_CMDBUF && RADEON_DEBUG & DEBUG_VERBOSE) {
+ fprintf(stderr, "written: %d committed: %d\n", r300->cmdbuf.written, r300->cmdbuf.committed);
+ for (i = start; i < r300->cmdbuf.written; ++i)
fprintf(stderr, "%d: %08x\n", i,
- r300->cmdbuf.cmd_buf[i]);
+ ((uint32_t*)r300->cmdbuf.buf->virtual)[i]);
+ }
}
- cmd.buf = (char *)(r300->cmdbuf.cmd_buf + start);
- cmd.bufsz = (r300->cmdbuf.count_used - start) * 4;
+ if (r300->cmdbuf.written != r300->cmdbuf.committed) {
+ _mesa_problem(r300->radeon.glCtx,
+ "Command buffer contains %d uncommitted dwords\n"
+ "in r300FlushCmdBufLocked called from %s.\n",
+ r300->cmdbuf.written - r300->cmdbuf.committed, caller);
+ }
+
+ dri_bo_unmap(r300->cmdbuf.buf);
+ dri_process_relocs(r300->cmdbuf.buf);
+
+ cmd.buf = (char *)r300->cmdbuf.buf->virtual + 4*start;
+ cmd.bufsz = (r300->cmdbuf.committed - start) * 4;
if (r300->radeon.state.scissor.enabled) {
cmd.nbox = r300->radeon.state.scissor.numClipRects;
@@ -103,9 +128,19 @@ int r300FlushCmdBufLocked(r300ContextPtr r300, const char *caller)
radeonWaitForIdleLocked(&r300->radeon);
}
+ dri_post_submit(r300->cmdbuf.buf);
+ dri_bo_unreference(r300->cmdbuf.buf);
+
r300->dma.nr_released_bufs = 0;
- r300->cmdbuf.count_used = 0;
- r300->cmdbuf.count_reemit = 0;
+ r300->cmdbuf.buf = radeon_bufmgr_classic_bo_alloc(&r300->radeon.bufmgr->base, "cmdbuf",
+ r300->cmdbuf.size*4, 16, DRM_BO_MEM_CMDBUF);
+ r300->cmdbuf.written = 0;
+ r300->cmdbuf.reserved = 0;
+ r300->cmdbuf.committed = 0;
+ r300->cmdbuf.reemit = 0;
+ dri_bo_map(r300->cmdbuf.buf, GL_TRUE);
+
+ r300->cmdbuf.flushing = 0;
return ret;
}
@@ -115,9 +150,7 @@ int r300FlushCmdBuf(r300ContextPtr r300, const char *caller)
int ret;
LOCK_HARDWARE(&r300->radeon);
-
ret = r300FlushCmdBufLocked(r300, caller);
-
UNLOCK_HARDWARE(&r300->radeon);
if (ret) {
@@ -128,6 +161,44 @@ int r300FlushCmdBuf(r300ContextPtr r300, const char *caller)
return ret;
}
+/**
+ * Make sure that enough space is available in the command buffer
+ * by flushing if necessary.
+ *
+ * \param dwords The number of dwords we need to be free on the command buffer
+ */
+void r300EnsureCmdBufSpace(r300ContextPtr r300, int dwords, const char *caller)
+{
+ assert(dwords < r300->cmdbuf.size);
+
+ if (!r300->cmdbuf.flushing)
+ dwords += SPACE_FOR_FLUSHING;
+
+ if (r300->cmdbuf.written + dwords > r300->cmdbuf.size)
+ r300FlushCmdBuf(r300, caller);
+}
+
+void r300BeginBatch(r300ContextPtr r300, int n, GLboolean autostate, const char* function, int line)
+{
+ assert(r300->cmdbuf.written == r300->cmdbuf.reserved);
+
+ r300EnsureCmdBufSpace(r300, n, function);
+
+ if (autostate && !r300->cmdbuf.written) {
+ if (RADEON_DEBUG & DEBUG_IOCTL)
+ fprintf(stderr,
+ "Reemit state after flush (from %s)\n", function);
+ r300EmitState(r300);
+ }
+
[...7445 lines suppressed...]
+ ret->base.DataType = GL_UNSIGNED_BYTE;
+ break;
+ case GL_RGBA8:
+ ret->base._ActualFormat = GL_RGBA8;
+ ret->base._BaseFormat = GL_RGBA;
+ ret->base.RedBits = 8;
+ ret->base.GreenBits = 8;
+ ret->base.BlueBits = 8;
+ ret->base.AlphaBits = 8;
+ ret->base.DataType = GL_UNSIGNED_BYTE;
+ break;
+ case GL_STENCIL_INDEX8_EXT:
+ ret->base._ActualFormat = GL_STENCIL_INDEX8_EXT;
+ ret->base._BaseFormat = GL_STENCIL_INDEX;
+ ret->base.StencilBits = 8;
+ ret->base.DataType = GL_UNSIGNED_BYTE;
+ break;
+ case GL_DEPTH_COMPONENT16:
+ ret->base._ActualFormat = GL_DEPTH_COMPONENT16;
+ ret->base._BaseFormat = GL_DEPTH_COMPONENT;
+ ret->base.DepthBits = 16;
+ ret->base.DataType = GL_UNSIGNED_SHORT;
+ break;
+ case GL_DEPTH_COMPONENT24:
+ ret->base._ActualFormat = GL_DEPTH24_STENCIL8_EXT;
+ ret->base._BaseFormat = GL_DEPTH_COMPONENT;
+ ret->base.DepthBits = 24;
+ ret->base.DataType = GL_UNSIGNED_INT;
+ break;
+ case GL_DEPTH24_STENCIL8_EXT:
+ ret->base._ActualFormat = GL_DEPTH24_STENCIL8_EXT;
+ ret->base._BaseFormat = GL_DEPTH_STENCIL_EXT;
+ ret->base.DepthBits = 24;
+ ret->base.StencilBits = 8;
+ ret->base.DataType = GL_UNSIGNED_INT_24_8_EXT;
+ break;
+ default:
+ fprintf(stderr, "%s: Unknown format 0x%04x\n", __FUNCTION__, format);
+ _mesa_delete_renderbuffer(&ret->base);
+ return NULL;
+ }
+
+ ret->dPriv = driDrawPriv;
+ ret->base.InternalFormat = format;
+
+ ret->base.AllocStorage = radeon_alloc_window_storage;
+
+ radeonSetSpanFunctions(ret);
+
+ return ret;
+}
+
+/**
+ * Create the Mesa framebuffer and renderbuffers for a given window/drawable.
+ *
+ * \todo This function (and its interface) will need to be updated to support
+ * pbuffers.
+ */
+static GLboolean
+radeonCreateBuffer( __DRIscreenPrivate *driScrnPriv,
+ __DRIdrawablePrivate *driDrawPriv,
+ const __GLcontextModes *mesaVis,
+ GLboolean isPixmap )
+{
+ radeonScreenPtr screen = (radeonScreenPtr) driScrnPriv->private;
+
+ const GLboolean swDepth = GL_FALSE;
+ const GLboolean swAlpha = GL_FALSE;
+ const GLboolean swAccum = mesaVis->accumRedBits > 0;
+ const GLboolean swStencil = mesaVis->stencilBits > 0 &&
+ mesaVis->depthBits != 24;
+ GLenum rgbFormat = (mesaVis->redBits == 5 ? GL_RGB5 : GL_RGBA8);
+ GLenum depthFormat = GL_NONE;
+ struct gl_framebuffer *fb = _mesa_create_framebuffer(mesaVis);
+
+ if (mesaVis->depthBits == 16)
+ depthFormat = GL_DEPTH_COMPONENT16;
+ else if (mesaVis->depthBits == 24)
+ depthFormat = GL_DEPTH_COMPONENT24;
+
+ /* front color renderbuffer */
+ {
+ struct radeon_renderbuffer *front =
+ radeon_create_renderbuffer(rgbFormat, driDrawPriv);
+ _mesa_add_renderbuffer(fb, BUFFER_FRONT_LEFT, &front->base);
+ }
+
+ /* back color renderbuffer */
+ if (mesaVis->doubleBufferMode) {
+ struct radeon_renderbuffer *back =
+ radeon_create_renderbuffer(rgbFormat, driDrawPriv);
+ _mesa_add_renderbuffer(fb, BUFFER_BACK_LEFT, &back->base);
+ }
+
+ /* depth renderbuffer */
+ if (depthFormat != GL_NONE) {
+ struct radeon_renderbuffer *depth =
+ radeon_create_renderbuffer(depthFormat, driDrawPriv);
+ _mesa_add_renderbuffer(fb, BUFFER_DEPTH, &depth->base);
+ depth->depthHasSurface = screen->depthHasSurface;
+ }
+
+ /* stencil renderbuffer */
+ if (mesaVis->stencilBits > 0 && !swStencil) {
+ struct radeon_renderbuffer *stencil =
+ radeon_create_renderbuffer(GL_STENCIL_INDEX8_EXT, driDrawPriv);
+ _mesa_add_renderbuffer(fb, BUFFER_STENCIL, &stencil->base);
+ stencil->depthHasSurface = screen->depthHasSurface;
+ }
+
+ _mesa_add_soft_renderbuffers(fb,
+ GL_FALSE, /* color */
+ swDepth,
+ swStencil,
+ swAccum,
+ swAlpha,
+ GL_FALSE /* aux */);
+ driDrawPriv->driverPrivate = (void *) fb;
+
+ return (driDrawPriv->driverPrivate != NULL);
+}
+#else
/**
* Create the Mesa framebuffer and renderbuffers for a given window/drawable.
@@ -1103,7 +1376,7 @@ radeonCreateBuffer( __DRIscreenPrivate *driScrnPriv,
return (driDrawPriv->driverPrivate != NULL);
}
}
-
+#endif
static void
radeonDestroyBuffer(__DRIdrawablePrivate *driDrawPriv)
@@ -1199,11 +1472,11 @@ radeonInitScreen(__DRIscreenPrivate *psp)
if (!radeonInitDriver(psp))
return NULL;
+ /* for now fill in all modes */
return radeonFillInModes( psp,
dri_priv->bpp,
(dri_priv->bpp == 16) ? 16 : 24,
- (dri_priv->bpp == 16) ? 0 : 8,
- (dri_priv->backOffset != dri_priv->depthOffset) );
+ (dri_priv->bpp == 16) ? 0 : 8, 1);
}
diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.h b/src/mesa/drivers/dri/radeon/radeon_screen.h
index ab859d5..82eb7d8 100644
--- a/src/mesa/drivers/dri/radeon/radeon_screen.h
+++ b/src/mesa/drivers/dri/radeon/radeon_screen.h
@@ -55,6 +55,14 @@ typedef struct {
drmAddress map; /* Mapping of the DRM region */
} radeonRegionRec, *radeonRegionPtr;
+struct radeon_gem_object {
+ uint32_t gem_name;
+ uint32_t gem_handle;
+ uint64_t size;
+ void *map;
+ uint64_t offset;
+};
+
typedef struct {
int chip_family;
int chip_flags;
@@ -107,6 +115,13 @@ typedef struct {
const __DRIextension *extensions[8];
int num_gb_pipes;
+
+ int kernel_mm;
+ struct radeon_gem_object front;
+ struct radeon_gem_object back;
+ struct radeon_gem_object depth;
+ struct radeon_gem_object vram_texture;
+ struct radeon_gem_object gart_texture;
} radeonScreenRec, *radeonScreenPtr;
#define IS_R100_CLASS(screen) \
diff --git a/src/mesa/drivers/dri/radeon/radeon_span.h b/src/mesa/drivers/dri/radeon/radeon_span.h
index 9abe086..1650a9b 100644
--- a/src/mesa/drivers/dri/radeon/radeon_span.h
+++ b/src/mesa/drivers/dri/radeon/radeon_span.h
@@ -44,7 +44,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "drirenderbuffer.h"
+#include "radeon_buffer.h"
+
extern void radeonInitSpanFuncs(GLcontext * ctx);
-extern void radeonSetSpanFunctions(driRenderbuffer * rb, const GLvisual * vis);
+#if COMPILE_R300
+extern void radeonSetSpanFunctions(struct radeon_renderbuffer *rrb);
+#else
+extern void radeonSetSpanFunctions(driRenderbuffer * rb, const GLvisual * vis);
+#endif
#endif
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/devel/.cvsignore,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- .cvsignore 14 Aug 2008 06:35:21 -0000 1.27
+++ .cvsignore 5 Sep 2008 05:48:02 -0000 1.28
@@ -1,2 +1,2 @@
gl-manpages-1.0.1.tar.bz2
-mesa-20080814.tar.bz2
+mesa-20080905.tar.bz2
Index: mesa.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/devel/mesa.spec,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -r1.190 -r1.191
--- mesa.spec 28 Aug 2008 12:36:35 -0000 1.190
+++ mesa.spec 5 Sep 2008 05:48:02 -0000 1.191
@@ -12,12 +12,12 @@
%define _default_patch_fuzz 2
%define manpages gl-manpages-1.0.1
-%define gitdate 20080814
+%define gitdate 20080905
Summary: Mesa graphics libraries
Name: mesa
-Version: 7.1
-Release: 0.38%{?dist}
+Version: 7.2
+Release: 0.1%{?dist}
License: MIT
Group: System Environment/Libraries
URL: http://www.mesa3d.org
@@ -29,13 +29,14 @@
Source2: %{manpages}.tar.bz2
Source3: make-git-snapshot.sh
-Patch0: mesa-7.1pre-osmesa-version.patch
-Patch1: mesa-fixes.patch
-Patch2: mesa-7.1pre-nukeglthread-debug.patch
+Patch0: mesa-7.1-osmesa-version.patch
+Patch2: mesa-7.1-nukeglthread-debug.patch
+Patch3: mesa-no-mach64.patch
-Patch5: r300-cmdbuf.patch
+Patch5: r300-bufmgr.patch
Patch7: mesa-7.1-link-shared.patch
+Patch8: intel-mmio-fix.patch
Patch12: mesa-7.1-disable-intel-classic-warn.patch
@@ -164,10 +165,11 @@
#%setup -q -n Mesa-%{version}pre -b1 -b2
%setup -q -n mesa-%{gitdate} -b2
%patch0 -p1 -b .osmesa
-%patch1 -p1 -b .fixes
%patch2 -p1 -b .intel-glthread
-%patch5 -p1 -b .r300cmdbuf
+%patch3 -p0 -b .no-mach64
+%patch5 -p1 -b .r300-bufmgr
%patch7 -p1 -b .dricore
+%patch8 -p1 -b .intel-mmio
%patch12 -p1 -b .intel-nowarn
# WARNING: The following files are copyright "Mark J. Kilgard" under the GLUT
@@ -240,7 +242,7 @@
%if %{with_dri}
install -d $RPM_BUILD_ROOT%{_libdir}/dri
install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri %{_lib}/libdricore.so >& /dev/null
-for f in i810 i915 i965 mach64 mga r128 r200 r300 radeon savage sis swrast tdfx unichrome; do
+for f in i810 i915 i965 mga r128 r200 r300 radeon savage sis swrast tdfx unichrome; do
so=%{_lib}/${f}_dri.so
test -e $so && echo $so
done | xargs install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri >& /dev/null || :
@@ -308,8 +310,8 @@
%{_includedir}/GL/xmesa_xf86.h
%dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h
-%{_includedir}/GL/internal/dri_sarea.h
%{_libdir}/libGL.so
+%{_libdir}/pkgconfig/dri.pc
%{_libdir}/pkgconfig/gl.pc
%{_datadir}/man/man3/gl[^uX]*.3gl*
%{_datadir}/man/man3/glX*.3gl*
@@ -356,6 +358,7 @@
%{_bindir}/cubemap
%{_bindir}/drawpix
%{_bindir}/engine
+%{_bindir}/fbo_firecube
%{_bindir}/fire
%{_bindir}/fogcoord
%{_bindir}/fplight
@@ -402,6 +405,10 @@
%{_libdir}/mesa-demos-data
%changelog
+* Fri Sep 05 2008 Dave Airlie <airlied at redhat.com> 7.2-0.1
+- latest snapshot - r300 bufmgr code
+- stop building mach64, patch around some intel issues
+
* Thu Aug 28 2008 Dave Airlie <airlied at redhat.com> 7.1-0.38
- latest Mesa snapshot - re-enable tex offset
- add r300 command buffer support on top of snapshot
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/mesa/devel/sources,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- sources 14 Aug 2008 06:35:21 -0000 1.27
+++ sources 5 Sep 2008 05:48:02 -0000 1.28
@@ -1,2 +1,2 @@
6ae05158e678f4594343f32c2ca50515 gl-manpages-1.0.1.tar.bz2
-937234d8b7b8528295b7080fbcf0a532 mesa-20080814.tar.bz2
+d5e2a6d63b4611ec38aaab19b8f68117 mesa-20080905.tar.bz2
--- mesa-7.1pre-nukeglthread-debug.patch DELETED ---
--- mesa-7.1pre-osmesa-version.patch DELETED ---
--- mesa-fixes.patch DELETED ---
--- r300-cmdbuf.patch DELETED ---
More information about the fedora-extras-commits
mailing list