Mercurial > sdl-ios-xcode
view src/hermes/mmx_main.asm @ 320:66f815c147ed
Date: Thu, 28 Mar 2002 09:20:03 +0200
From: "Mike Gorchak" <mike@malva.ua>
Subject: New QNX patch.
Hi !
1. Removed warning (possible bug) with invalid type, passing to the function
in ph_WarpedMotion.
2. Rewritten handler of Ph_WM_RESIZE message, now works, but buggy (old
handler doesn't work at all).
3. Added stub handler for Ph_WM_MAX (maximize) message.
4. Added more #ifdef HAVE_OPENGL to disable OpenGL stuff when it not needed.
5. Added support for SDL_NOFRAME and SDL_RESIZABLE flags (in OpenGL windows
too).
6. Added cosmetic changes, if no SDL_RESIZABLE flag defined, disable resize
handlers in window border and maximize button at caption.
7. Fixed my bug with invalid arguments count passed to PtCreateWidget call.
8. Fixed some palette problems.
9. Updated README.QNX file.
And I changed testgl.c test application:
10. Added in testgl.c application support for SDL_NOFRAME flag and
option -noframe.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 28 Mar 2002 16:20:10 +0000 |
parents | 74212992fb08 |
children | da33b7e6d181 |
line wrap: on
line source
; ; mmx format converter main loops for HERMES ; Some routines Copyright (c) 1998 Christian Nentwich (c.nentwich@cs.ucl.ac.uk) ; This source code is licensed under the GNU LGPL ; ; Please refer to the file COPYING.LIB contained in the distribution for ; licensing conditions ; BITS 32 GLOBAL _ConvertMMX GLOBAL _mmxreturn SECTION .text ;; _ConvertMMX: ;; [ESP+8] ConverterInfo* ;; -------------------------------------------------------------------------- ;; ConverterInfo (ebp+..) ;; 0: void *s_pixels ;; 4: int s_width ;; 8: int s_height ;; 12: int s_add ;; 16: void *d_pixels ;; 20: int d_width ;; 24: int d_height ;; 28: int d_add ;; 32: void (*converter_function)() ;; 36: int32 *lookup _ConvertMMX: push ebp mov ebp,esp ; Save the registers used by the blitters, necessary for optimized code pusha mov eax,[ebp+8] cmp dword [eax+4],BYTE 0 je endconvert mov ebp,eax mov esi,[ebp+0] mov edi,[ebp+16] y_loop: mov ecx,[ebp+4] jmp [ebp+32] _mmxreturn: add esi,[ebp+12] add edi,[ebp+28] dec dword [ebp+8] jnz y_loop ; Restore the registers used by the blitters, necessary for optimized code popa pop ebp endconvert: emms ret