|
||||
File indexing completed on 2025-01-18 10:01:49
0001 /** 0002 * \file drm_sarea.h 0003 * \brief SAREA definitions 0004 * 0005 * \author Michel Dänzer <michel@daenzer.net> 0006 */ 0007 0008 /* 0009 * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. 0010 * All Rights Reserved. 0011 * 0012 * Permission is hereby granted, free of charge, to any person obtaining a 0013 * copy of this software and associated documentation files (the "Software"), 0014 * to deal in the Software without restriction, including without limitation 0015 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 0016 * and/or sell copies of the Software, and to permit persons to whom the 0017 * Software is furnished to do so, subject to the following conditions: 0018 * 0019 * The above copyright notice and this permission notice (including the next 0020 * paragraph) shall be included in all copies or substantial portions of the 0021 * Software. 0022 * 0023 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 0024 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 0025 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 0026 * TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 0027 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 0028 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 0029 * OTHER DEALINGS IN THE SOFTWARE. 0030 */ 0031 0032 #ifndef _DRM_SAREA_H_ 0033 #define _DRM_SAREA_H_ 0034 0035 #include "drm.h" 0036 0037 #if defined(__cplusplus) 0038 extern "C" { 0039 #endif 0040 0041 /* SAREA area needs to be at least a page */ 0042 #if defined(__alpha__) 0043 #define SAREA_MAX 0x2000U 0044 #elif defined(__mips__) 0045 #define SAREA_MAX 0x4000U 0046 #elif defined(__ia64__) 0047 #define SAREA_MAX 0x10000U /* 64kB */ 0048 #else 0049 /* Intel 830M driver needs at least 8k SAREA */ 0050 #define SAREA_MAX 0x2000U 0051 #endif 0052 0053 /** Maximum number of drawables in the SAREA */ 0054 #define SAREA_MAX_DRAWABLES 256 0055 0056 #define SAREA_DRAWABLE_CLAIMED_ENTRY 0x80000000 0057 0058 /** SAREA drawable */ 0059 struct drm_sarea_drawable { 0060 unsigned int stamp; 0061 unsigned int flags; 0062 }; 0063 0064 /** SAREA frame */ 0065 struct drm_sarea_frame { 0066 unsigned int x; 0067 unsigned int y; 0068 unsigned int width; 0069 unsigned int height; 0070 unsigned int fullscreen; 0071 }; 0072 0073 /** SAREA */ 0074 struct drm_sarea { 0075 /** first thing is always the DRM locking structure */ 0076 struct drm_hw_lock lock; 0077 /** \todo Use readers/writer lock for drm_sarea::drawable_lock */ 0078 struct drm_hw_lock drawable_lock; 0079 struct drm_sarea_drawable drawableTable[SAREA_MAX_DRAWABLES]; /**< drawables */ 0080 struct drm_sarea_frame frame; /**< frame */ 0081 drm_context_t dummy_context; 0082 }; 0083 0084 typedef struct drm_sarea_drawable drm_sarea_drawable_t; 0085 typedef struct drm_sarea_frame drm_sarea_frame_t; 0086 typedef struct drm_sarea drm_sarea_t; 0087 0088 #if defined(__cplusplus) 0089 } 0090 #endif 0091 0092 #endif /* _DRM_SAREA_H_ */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |