diff options
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/i830.h | 1 | ||||
-rw-r--r-- | src/i830_common.h | 236 | ||||
-rw-r--r-- | src/i830_dri.c | 6 | ||||
-rw-r--r-- | src/i830_dri.h | 67 | ||||
-rw-r--r-- | src/i915_hwmc.c | 1 | ||||
-rw-r--r-- | src/i965_hwmc.c | 1 | ||||
-rw-r--r-- | src/xvmc/intel_batchbuffer.c | 35 | ||||
-rw-r--r-- | src/xvmc/intel_xvmc.h | 1 |
9 files changed, 6 insertions, 346 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index c98e720b..b4bafbd4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -39,8 +39,7 @@ INTEL_DRI_SRCS = \ i810_dri.c \ i810_dri.h \ i830_dri.c \ - i810_hwmc.c \ - i830_dri.h + i810_hwmc.c INTEL_XVMC_SRCS = \ i830_hwmc.h \ @@ -70,7 +69,6 @@ intel_drv_la_SOURCES = \ i830_accel.c \ i830_batchbuffer.c \ i830_batchbuffer.h \ - i830_common.h \ i830_driver.c \ i830.h \ i830_memory.c \ @@ -67,7 +67,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "dri.h" #include "dri2.h" #include "GL/glxint.h" -#include "i830_dri.h" #include "intel_bufmgr.h" #include "i915_drm.h" diff --git a/src/i830_common.h b/src/i830_common.h deleted file mode 100644 index 5809a11f..00000000 --- a/src/i830_common.h +++ /dev/null @@ -1,236 +0,0 @@ -/************************************************************************** - -Copyright 2001 VA Linux Systems Inc., Fremont, California. -Copyright 2002 Tungsten Graphics Inc., Cedar Park, Texas. - -All Rights Reserved. - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -on the rights to use, copy, modify, merge, publish, distribute, sub -license, and/or sell copies of the Software, and to permit persons to whom -the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice (including the next -paragraph) shall be included in all copies or substantial portions of the -Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL -ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, -DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -#ifndef _I830_COMMON_H_ -#define _I830_COMMON_H_ - -#include <stdint.h> - -#define I830_NR_TEX_REGIONS 255 /* maximum due to use of chars for next/prev */ -#define I830_LOG_MIN_TEX_REGION_SIZE 14 - -/* Driver specific DRM command indices - * NOTE: these are not OS specific, but they are driver specific - */ -#define DRM_I830_INIT 0x00 -#define DRM_I830_FLUSH 0x01 -#define DRM_I830_FLIP 0x02 -#define DRM_I830_BATCHBUFFER 0x03 -#define DRM_I830_IRQ_EMIT 0x04 -#define DRM_I830_IRQ_WAIT 0x05 -#define DRM_I830_GETPARAM 0x06 -#define DRM_I830_SETPARAM 0x07 -#define DRM_I830_ALLOC 0x08 -#define DRM_I830_FREE 0x09 -#define DRM_I830_INIT_HEAP 0x0a -#define DRM_I830_CMDBUFFER 0x0b -#define DRM_I830_DESTROY_HEAP 0x0c -#define DRM_I830_SET_VBLANK_PIPE 0x0d -#define DRM_I830_GET_VBLANK_PIPE 0x0e -#define DRM_I830_HWS_PAGE_ADDR 0x11 - -typedef struct { - enum { - I830_INIT_DMA = 0x01, - I830_CLEANUP_DMA = 0x02, - I830_RESUME_DMA = 0x03 - } func; - unsigned int mmio_offset; - int sarea_priv_offset; - unsigned int ring_start; - unsigned int ring_end; - unsigned int ring_size; - unsigned int front_offset; - unsigned int back_offset; - unsigned int depth_offset; - unsigned int w; - unsigned int h; - unsigned int pitch; /* Pitch of front buffer in units of pixels */ - unsigned int pitch_bits; - unsigned int back_pitch; - unsigned int depth_pitch; - unsigned int cpp; - unsigned int chipset; -} drmI830Init; - -typedef struct { - drmTextureRegion texList[I830_NR_TEX_REGIONS + 1]; - int last_upload; /* last time texture was uploaded */ - int last_enqueue; /* last time a buffer was enqueued */ - volatile int last_dispatch; /* age of the most recently dispatched buffer */ - int ctxOwner; /* last context to upload state */ - int texAge; - int pf_enabled; /* is pageflipping allowed? */ - int pf_active; - int pf_current_page; /* which buffer is being displayed? */ - int perf_boxes; /* performance boxes to be displayed */ - int width, height; /* screen size in pixels */ - - drm_handle_t front_handle; - int front_offset; - int front_size; - - drm_handle_t back_handle; - int back_offset; - int back_size; - - drm_handle_t depth_handle; - int depth_offset; - int depth_size; - - drm_handle_t tex_handle; - int tex_offset; - int tex_size; - int log_tex_granularity; - int pitch; - int rotation; /* 0, 90, 180 or 270 */ - int rotated_offset; - int rotated_size; - int rotated_pitch; - int virtualX, virtualY; - - unsigned int front_tiled; - unsigned int back_tiled; - unsigned int depth_tiled; - unsigned int rotated_tiled; - unsigned int rotated2_tiled; - - int pipeA_x; - int pipeA_y; - int pipeA_w; - int pipeA_h; - int pipeB_x; - int pipeB_y; - int pipeB_w; - int pipeB_h; - - /* Triple buffering */ - drm_handle_t third_handle; - int third_offset; - int third_size; - unsigned int third_tiled; - - /* buffer object handles for the static buffers. May change - * over the lifetime of the client, though it doesn't in our current - * implementation. - */ - unsigned int front_bo_handle; - unsigned int back_bo_handle; - unsigned int third_bo_handle; - unsigned int depth_bo_handle; -} drmI830Sarea; - -/* Flags for perf_boxes - */ -#define I830_BOX_RING_EMPTY 0x1 /* populated by kernel */ -#define I830_BOX_FLIP 0x2 /* populated by kernel */ -#define I830_BOX_WAIT 0x4 /* populated by kernel & client */ -#define I830_BOX_TEXTURE_LOAD 0x8 /* populated by kernel */ -#define I830_BOX_LOST_CONTEXT 0x10 /* populated by client */ - -typedef struct { - int start; /* agp offset */ - int used; /* nr bytes in use */ - int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */ - int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */ - int num_cliprects; /* mulitpass with multiple cliprects? */ - drm_clip_rect_t *cliprects; /* pointer to userspace cliprects */ -} drmI830BatchBuffer; - -typedef struct { - char *buf; /* agp offset */ - int sz; /* nr bytes in use */ - int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */ - int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */ - int num_cliprects; /* mulitpass with multiple cliprects? */ - drm_clip_rect_t *cliprects; /* pointer to userspace cliprects */ -} drmI830CmdBuffer; - -typedef struct { - int *irq_seq; -} drmI830IrqEmit; - -typedef struct { - int irq_seq; -} drmI830IrqWait; - -typedef struct { - int param; - int *value; -} drmI830GetParam; - -#define I830_PARAM_IRQ_ACTIVE 1 -#define I830_PARAM_ALLOW_BATCHBUFFER 2 - -typedef struct { - int param; - int value; -} drmI830SetParam; - -#define I830_SETPARAM_USE_MI_BATCHBUFFER_START 1 -#define I830_SETPARAM_TEX_LRU_LOG_GRANULARITY 2 -#define I830_SETPARAM_ALLOW_BATCHBUFFER 3 - -/* A memory manager for regions of shared memory: - */ -#define I830_MEM_REGION_AGP 1 - -typedef struct { - int region; - int alignment; - int size; - int *region_offset; /* offset from start of fb or agp */ -} drmI830MemAlloc; - -typedef struct { - int region; - int region_offset; -} drmI830MemFree; - -typedef struct { - int region; - int size; - int start; -} drmI830MemInitHeap; - -typedef struct { - int region; -} drmI830MemDestroyHeap; - -#define DRM_I830_VBLANK_PIPE_A 1 -#define DRM_I830_VBLANK_PIPE_B 2 - -typedef struct { - int pipe; -} drmI830VBlankPipe; - -typedef struct { - uint64_t addr; -} drmI830HWS; - -#endif /* _I830_DRM_H_ */ diff --git a/src/i830_dri.c b/src/i830_dri.c index 83565257..dbf7c663 100644 --- a/src/i830_dri.c +++ b/src/i830_dri.c @@ -61,7 +61,6 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. #include "GL/glxtokens.h" #include "i830.h" -#include "i830_dri.h" #include "i915_drm.h" @@ -75,6 +74,11 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. extern XF86ModuleData dri2ModuleData; #endif +typedef struct { + PixmapPtr pixmap; + unsigned int attachment; +} I830DRI2BufferPrivateRec, *I830DRI2BufferPrivatePtr; + #ifndef USE_DRI2_1_1_0 static DRI2BufferPtr I830DRI2CreateBuffers(DrawablePtr drawable, unsigned int *attachments, diff --git a/src/i830_dri.h b/src/i830_dri.h deleted file mode 100644 index babcac3d..00000000 --- a/src/i830_dri.h +++ /dev/null @@ -1,67 +0,0 @@ - -#ifndef _I830_DRI_H -#define _I830_DRI_H - -#include "xorg-server.h" -#include "xf86drm.h" -#include "i830_common.h" - -#define I830_MAX_DRAWABLES 256 - -#define I830_MAJOR_VERSION 1 -#define I830_MINOR_VERSION 9 -#define I830_PATCHLEVEL 0 - -#define I830_REG_SIZE 0x80000 - -typedef struct _I830DRIRec { - drm_handle_t regs; - drmSize regsSize; - - drmSize unused1; /* backbufferSize */ - drm_handle_t unused2; /* backbuffer */ - - drmSize unused3; /* depthbufferSize */ - drm_handle_t unused4; /* depthbuffer */ - - drmSize unused5; /* rotatedSize / */ - drm_handle_t unused6; /* rotatedbuffer */ - - drm_handle_t unused7; /* textures */ - int unused8; /* textureSize */ - - drm_handle_t unused9; /* agp_buffers */ - drmSize unused10; /* agp_buf_size */ - - int deviceID; - int width; - int height; - int mem; - int cpp; - int bitsPerPixel; - - int unused11[8]; /* was front/back/depth/rotated offset/pitch */ - - int unused12; /* logTextureGranularity */ - int unused13; /* textureOffset */ - - int irq; - int sarea_priv_offset; -} I830DRIRec, *I830DRIPtr; - -typedef struct { - /* Nothing here yet */ - int dummy; -} I830ConfigPrivRec, *I830ConfigPrivPtr; - -typedef struct { - /* Nothing here yet */ - int dummy; -} I830DRIContextRec, *I830DRIContextPtr; - -typedef struct { - PixmapPtr pixmap; - unsigned int attachment; -} I830DRI2BufferPrivateRec, *I830DRI2BufferPrivatePtr; - -#endif diff --git a/src/i915_hwmc.c b/src/i915_hwmc.c index 8be52f26..cbf3830b 100644 --- a/src/i915_hwmc.c +++ b/src/i915_hwmc.c @@ -39,7 +39,6 @@ #include "regionstr.h" #include "i830.h" -#include "i830_dri.h" #include "i830_video.h" #include "xf86xv.h" #include "xf86xvmc.h" diff --git a/src/i965_hwmc.c b/src/i965_hwmc.c index 5b24f3be..1a5d4dea 100644 --- a/src/i965_hwmc.c +++ b/src/i965_hwmc.c @@ -33,7 +33,6 @@ #include <fourcc.h> #include "i830.h" -#include "i830_dri.h" #define _INTEL_XVMC_SERVER_ #include "i830_hwmc.h" #include "i965_hwmc.h" diff --git a/src/xvmc/intel_batchbuffer.c b/src/xvmc/intel_batchbuffer.c index ebaac7a4..1807d2cd 100644 --- a/src/xvmc/intel_batchbuffer.c +++ b/src/xvmc/intel_batchbuffer.c @@ -49,41 +49,6 @@ #include "brw_structs.h" #define MI_BATCH_BUFFER_END (0xA << 23) #define BATCH_SIZE 8*1024 /* one bo is allocated each time, so the size can be small */ -static int intelEmitIrqLocked(void) -{ - drmI830IrqEmit ie; - int ret, seq; - - ie.irq_seq = &seq; - ret = drmCommandWriteRead(xvmc_driver->fd, DRM_I830_IRQ_EMIT, - &ie, sizeof(ie)); - - if (ret) { - fprintf(stderr, "%s: drmI830IrqEmit: %d\n", __FUNCTION__, ret); - exit(1); - } - - return seq; -} - -static void intelWaitIrq(int seq) -{ - int ret; - drmI830IrqWait iw; - - iw.irq_seq = seq; - - do { - ret = - drmCommandWrite(xvmc_driver->fd, DRM_I830_IRQ_WAIT, &iw, - sizeof(iw)); - } while (ret == -EAGAIN || ret == -EINTR); - - if (ret) { - fprintf(stderr, "%s: drmI830IrqWait: %d\n", __FUNCTION__, ret); - exit(1); - } -} static void i965_end_batch(void) { diff --git a/src/xvmc/intel_xvmc.h b/src/xvmc/intel_xvmc.h index 67c7b380..43153cc2 100644 --- a/src/xvmc/intel_xvmc.h +++ b/src/xvmc/intel_xvmc.h @@ -41,7 +41,6 @@ #include <stdint.h> #include <xf86drm.h> -#include "i830_common.h" #include "i830_hwmc.h" #include <X11/X.h> #include <X11/Xlibint.h> |