Lines Matching defs:pGeode

48 GeodeOffscreenFreeSize(GeodeRec * pGeode)
50 GeodeMemPtr ptr = pGeode->offscreenList;
53 return pGeode->offscreenSize;
56 return (pGeode->offscreenStart + pGeode->offscreenSize)
61 GeodeFreeOffscreen(GeodeRec * pGeode, GeodeMemPtr ptr)
70 pGeode->offscreenList = ptr->next;
86 GeodeAllocRemainder(GeodeRec * pGeode)
88 GeodeMemPtr nptr, ptr = pGeode->offscreenList;
90 if (!pGeode->offscreenList) {
91 pGeode->offscreenList = calloc(1, sizeof(*nptr));
92 pGeode->offscreenList->offset = pGeode->offscreenStart;
93 pGeode->offscreenList->size = pGeode->offscreenSize;
94 pGeode->offscreenList->next = NULL;
95 pGeode->offscreenList->prev = NULL;
97 return pGeode->offscreenList;
105 nptr->size = pGeode->offscreenSize -
106 (nptr->offset - pGeode->offscreenStart);
119 GeodeAllocOffscreen(GeodeRec * pGeode, int size, int align)
121 GeodeMemPtr ptr = pGeode->offscreenList;
126 if (!pGeode->offscreenList) {
128 if (size > pGeode->offscreenSize)
131 offset = ALIGN(pGeode->offscreenStart, align);
133 pGeode->offscreenList = calloc(1, sizeof(*nptr));
134 pGeode->offscreenList->offset = offset;
135 pGeode->offscreenList->size = size;
136 pGeode->offscreenList->next = NULL;
138 return pGeode->offscreenList;
145 gap = pGeode->offscreenSize + pGeode->offscreenStart;
182 GeodeRec *pGeode = GEODEPTR(pScrni);
187 fbavail = pGeode->FBAvail - GP3_SCRATCH_BUFFER_SIZE;
189 pGeode->displaySize = MAX(pScrni->virtualX, pScrni->virtualY)
190 * pGeode->Pitch;
192 pGeode->offscreenStart = pGeode->displaySize;
193 pGeode->offscreenSize = fbavail - pGeode->displaySize;
196 if (pGeode->tryCompression) {
200 ptr = GeodeAllocOffscreen(pGeode, size, 16);
203 pGeode->CBData.compression_offset = ptr->offset;
204 pGeode->CBData.size = LX_CB_PITCH;
205 pGeode->CBData.pitch = LX_CB_PITCH;
207 pGeode->Compression = TRUE;
212 pGeode->Compression = FALSE;
216 if (pGeode->tryHWCursor) {
217 ptr = GeodeAllocOffscreen(pGeode,
222 pGeode->CursorStartOffset = ptr->offset;
223 pGeode->HWCursor = TRUE;
228 pGeode->HWCursor = FALSE;
232 if (!pGeode->NoAccel && pGeode->pExa) {
236 pGeode->exaBfrOffset = 0;
238 if (pGeode->exaBfrSz > 0) {
239 ptr = GeodeAllocOffscreen(pGeode, pGeode->exaBfrSz, 4);
241 pGeode->exaBfrOffset = ptr->offset;
244 pGeode->pExa->offScreenBase = 0;
245 pGeode->pExa->memorySize = 0;
256 size = GeodeOffscreenFreeSize(pGeode);
262 ptr = GeodeAllocOffscreen(pGeode, size, 4);
268 ptr = GeodeAllocRemainder(pGeode);
272 pGeode->pExa->offScreenBase = ptr->offset;
273 pGeode->pExa->memorySize = ptr->offset + ptr->size;
281 pGeode->displaySize);
283 if (pGeode->Compression)
287 if (pGeode->HWCursor)
291 if (pGeode->exaBfrSz)
293 pGeode->exaBfrSz);
295 if (pGeode->pExa && pGeode->pExa->offScreenBase)
297 (unsigned int) (pGeode->pExa->memorySize -
298 pGeode->pExa->offScreenBase));
301 GeodeOffscreenFreeSize(pGeode));
309 GeodeRec *pGeode = GEODEPTR(pScrni);
310 GeodeMemPtr ptr = pGeode->offscreenList;
319 pGeode->offscreenList = NULL;