Re: [Qemu-devel] cocoa.m using openGL
On 28 mai 05, at 20:39, Mike Kronenberg wrote:Pierre d'Herbemont wrote:It doesn't work on my iMac DV G3 400. I know that its ATI Rage 128 is very limited, but I think that we'll had to keep both version...Did You get an error-message so we could include a autoswitch?Nop... The main window's buffer seems to point to a wrong memory address. I have seen, this bug before when playing with OpenGL and texture on this Macine. Screenshot here:http://stegefin.free.fr/q-ogl.pngPierre.___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Pierre d'Herbemont wrote: On 24 mai 05, at 17:11, Mike Kronenberg wrote: Testbuild and diff are on http://www.kberg.ch/cocoaqemu It doesn't work on my iMac DV G3 400. I know that its ATI Rage 128 is very limited, but I think that we'll had to keep both version... Did You get an error-message so we could include a autoswitch? The PNG preview works but not the main screen. I'll be able to debug a bit more in the weekend. Pierre. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel Mike ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
On 24 mai 05, at 17:11, Mike Kronenberg wrote:Testbuild and diff are onhttp://www.kberg.ch/cocoaqemuIt doesn't work on my iMac DV G3 400. I know that its ATI Rage 128 is very limited, but I think that we'll had to keep both version...The PNG preview works but not the main screen.I'll be able to debug a bit more in the weekend.Pierre.___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Mike!Le 24 mai 05 à 17:11, Mike Kronenberg a écrit :[..]=> openGL is 3.5% faster on my systemImpressive ;)plus- it solves some issues i had with hiding/showing the toolbar (damaging the qd_view)- it could accelerate the generation of livethumbnails i am usingTestbuild and diff are onhttp://www.kberg.ch/cocoaqemuAt this point I'm asking, whether my patch should/can be included into the CVS, what changes I should make, or how to continue...Send your patch to Fabrice (and the list)! I can't really test it right now, but after a really quick look, it looks clean enough for me.And I don't think you should wait any longer. I think it is better to work directly on the CVS, with a patch per bug/features scheme.bye,Pierre.___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Hi Peter, That is really great! To send your work: 1) download the cvs repository, see: http://savannah.nongnu.org/cvs/?group=qemu 2) send your diff: # cd /path/to/qemu # cvs diff -u cocoa.m > cocoapatch.diff.txt If you think your patch is clean enough, send it to Fabrice (and the list) so that it can be merged in qemu's repository. It seems that cocoa.m is under heavy work, which is good :) Pierre. Le 22 mai 05 à 15:00, Peter Stewart a écrit : Hello to all, esp. Pierre d'Herbemont, I have changed cocoa.m (0.7.0) to use openGL with very fast texturing. I removed the use of QuickDraw. The DisplayState data is now DMA'd to the graphics card instead of copied by the CPU. This uses apple's texture range extensions. The change means that the transfer of "display memory" incurs no CPU overhead. I also put in a bit more mouse stuff, and made some other fixes. I can't work out how to get the Window to get focus once it loses it, which is really a pain. I Shark'd it to make sure there wasn't any overhead from the texturing. I tested with Knoppix and FreeDOS. I am not sure if this is of interest to people, I just had a lazy weekend. I would like to give the code to the qemu project, but don't really know how to. thanks, peter. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Hello Peter and Pierre I have woven the patch into my patch and run some basic but in other times often used benchmarks with doom: i unpacked freedos and installed doom from http://www.kberg.ch/cocoaqemu/files/freedosdoom.img.zip then i started doom with doom -timedemo demo3 (reboot between the runs) realticks with QD 2542 2544 2543 2543 2545 Average: 2543.4 => 29.3662 fps realticks with openGL 2476 2466 2447 2451 2454 Average: 2458.8 => 30.3865 fps To get fps from these Number you have to 35*2134/realticks => openGL is 3.5% faster on my system plus - it solves some issues i had with hiding/showing the toolbar (damaging the qd_view) - it could accelerate the generation of livethumbnails i am using Testbuild and diff are on http://www.kberg.ch/cocoaqemu At this point I'm asking, whether my patch should/can be included into the CVS, what changes I should make, or how to continue... Mike ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Peter Stewart wrote: Hi, Sorry for using up mail space, but here is the cocoa.m file. enjoy, peter. Thanks amillion! I will try it out tomorrow. Hope I too can produce a Patch soon, so there is not to much unneccessary work mergin bits'n'peaces :) Mike ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Hi, Just added Mike's keyboard fixes, so I could run doom. Built and installed doom, it runs pretty well. It actually runs better than I expected, pretty cool. Thanks for the .img. peter. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Hi, Sorry for using up mail space, but here is the cocoa.m file. enjoy, peter. /* * QEMU Cocoa display driver * * Copyright (c) 2005 Pierre d'Herbemont *many code/inspiration from SDL 1.2 code (LGPL) * * 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 the rights * to use, copy, modify, merge, publish, distribute, sublicense, 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 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 NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS 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. */ /* Todo :x miniaturize window x center the window - save window position - handle keyboard event - handle mouse event - non 32 bpp support - full screen - mouse focus x simple graphical prompt to demo - better graphical prompt */ #import #include #include #include "vl.h" static NSWindow *window = NULL; static NSOpenGLView *ogl_view = NULL; #define SCREEN_BPP 32 int gArgc; char **gArgv; DisplayState current_ds; GLint screen_tex = 0; GLuint display_list_tex = 0; /* main defined in qemu/vl.c */ int qemu_main(int argc, char **argv); /* To deal with miniaturization */ @interface QemuWindow : NSWindow { } @end /* -- Qemu Video Driver -- */ /* -- cocoa_update -- */ static void cocoa_update(DisplayState *ds, int x, int y, int w, int h) { //printf("updating x=%d y=%d w=%d h=%d\n", x, y, w, h); // Make this context current [[ogl_view openGLContext] makeCurrentContext]; // Bind, update and draw new image glBindTexture(GL_TEXTURE_RECTANGLE_EXT, screen_tex); // glTexSubImage2D is faster when not using a texture range glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, (GLint)ds->width, (GLint)ds->height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, ds->data); // Use the compiled display list glCallList(display_list_tex); // Swap buffer to screen [[ogl_view openGLContext] flushBuffer]; } /* -- cocoa_resize -- */ static void cocoa_resize(DisplayState *ds, int w, int h) { NSRect contentRect; // printf("resizing to %d %d\n", w, h); contentRect = NSMakeRect (0, 0, w, h); [window setContentSize:contentRect.size]; [window update]; [[ogl_view openGLContext] makeCurrentContext]; [[ogl_view openGLContext] update]; glViewport(0, 0, (int) contentRect.size.width, (int) contentRect.size.height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // This is used as a init'd flag as well... if(screen_tex != 0) { glDeleteTextures(1, &screen_tex); glDeleteLists(display_list_tex, 1); } screen_tex = 1; if(ds->data != NULL) free(ds->data); ds->data = (GLubyte *) malloc(w * h * (SCREEN_BPP >> 3)); assert(ds->data != NULL); ds->linesize = w * (SCREEN_BPP >> 3); ds->depth = SCREEN_BPP; ds->width = w; ds->height = h; // Setup some basic OpenGL stuff as from Apple glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); glClearColor(1.0f, 1.0f, 1.0f, 1.0f); glColor4f(1.0f, 1.0f, 1.0f, 1.0f); glEnable(GL_TEXTURE_RECTANGLE_EXT); glBindTexture(GL_TEXTURE_RECTANGLE_EXT, screen_tex); glTextureRangeAPPLE(GL_TEXTURE_RECTANGLE_EXT, w * h * (SCREEN_BPP >> 3), ds->data); // Use CACHED for VRAM+reused tex Use SHARED for AGP+used once tex // Note the texture is always changing so use SHARED glTexParameteri(GL_TEXTURE_RECTANGLE_EXT, GL_TEXTURE_STORAGE_HINT_APPLE , GL_STORAGE_SHARED_APPLE); glPixelS
Re: [Qemu-devel] cocoa.m using openGL
Hi, Sorry, kind of new at this... Here is the diff -u version of cocoa.m, I guess you got the Makefile.target fix :-) diff -u cocoa.m.orig cocoa.m > cocoa.m.diff enjoy, peter. --- cocoa.m.origSat May 21 17:19:45 2005 +++ cocoa.m Mon May 23 19:24:00 2005 @@ -37,16 +37,23 @@ #import +#include +#include + #include "vl.h" -NSWindow *window = NULL; -NSQuickDrawView *qd_view = NULL; +static NSWindow *window = NULL; +static NSOpenGLView *ogl_view = NULL; +#define SCREEN_BPP 32 int gArgc; char **gArgv; DisplayState current_ds; +GLint screen_tex = 0; +GLuint display_list_tex = 0; + /* main defined in qemu/vl.c */ int qemu_main(int argc, char **argv); @@ -62,6 +69,7 @@ -- */ + /* -- cocoa_update @@ -70,22 +78,22 @@ static void cocoa_update(DisplayState *ds, int x, int y, int w, int h) { //printf("updating x=%d y=%d w=%d h=%d\n", x, y, w, h); + + // Make this context current + [[ogl_view openGLContext] makeCurrentContext]; + + // Bind, update and draw new image + glBindTexture(GL_TEXTURE_RECTANGLE_EXT, screen_tex); + + // glTexSubImage2D is faster when not using a texture range + glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, (GLint)ds->width, (GLint)ds->height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, ds->data); + + // Use the compiled display list + glCallList(display_list_tex); + + // Swap buffer to screen + [[ogl_view openGLContext] flushBuffer]; -/* Use QDFlushPortBuffer() to flush content to display */ -RgnHandle dirty = NewRgn (); -RgnHandle temp = NewRgn (); - -SetEmptyRgn (dirty); - -/* Build the region of dirty rectangles */ -MacSetRectRgn (temp, x, y, -x + w, y + h); -MacUnionRgn (dirty, temp, dirty); - -/* Flush the dirty region */ -QDFlushPortBuffer ( [ qd_view qdPort ], dirty ); -DisposeRgn (dirty); -DisposeRgn (temp); } /* @@ -95,74 +103,96 @@ */ static void cocoa_resize(DisplayState *ds, int w, int h) { -const int device_bpp = 32; -static void *screen_pixels; -static int screen_pitch; + NSRect contentRect; + +// printf("resizing to %d %d\n", w, h); -//printf("resizing to %d %d\n", w, h); - -contentRect = NSMakeRect (0, 0, w, h); -if(window) -{ -[window close]; -[window release]; -} -window = [ [ QemuWindow alloc ] initWithContentRect:contentRect - styleMask: NSTitledWindowMask|NSMiniaturizableWindowMask|NSClosableWindowMask - backing:NSBackingStoreBuffered defer:NO]; -if(!window) -{ -fprintf(stderr, "(cocoa) can't create window\n"); -exit(1); -} - -if(qd_view) -[qd_view release]; - -qd_view = [ [ NSQuickDrawView alloc ] initWithFrame:contentRect ]; - -if(!qd_view) -{ - fprintf(stderr, "(cocoa) can't create qd_view\n"); -exit(1); -} - -[ window setAcceptsMouseMovedEvents:YES ]; -[ window setTitle:@"Qemu" ]; -[ window setReleasedWhenClosed:NO ]; - -/* Set screen to black */ -[ window setBackgroundColor: [NSColor blackColor] ]; - -/* set window position */ -[ window center ]; - -[ qd_view setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable ]; -[ [ window contentView ] addSubview:qd_view ]; -[ qd_view release ]; -[ window makeKeyAndOrderFront:nil ]; - -/* Careful here, the window seems to have to be onscreen to do that */ -LockPortBits ( [ qd_view qdPort ] ); -screen_pixels = GetPixBaseAddr ( GetPortPixMap ( [ qd_view qdPort ] ) ); -screen_pitch = GetPixRowBytes ( GetPortPixMap ( [ qd_view qdPort ] ) ); -UnlockPortBits ( [ qd_view qdPort ] ); -{ -int vOffset = [ window frame ].size.height - -[ qd_view frame ].size.height - [ qd_view frame ].origin.y; - -int hOffset = [ qd_view frame ].origin.x; - -screen_pixels += (vOffset * screen_pitch) + hOffset * (device_bpp/8); -} -ds->data = screen_pixels; -ds->linesize = screen_pitch; -ds->depth = device_bpp; +contentRect = NSMakeRect (0, 0, w, h); + + [window setContentSize:contentRect.size]; + [window update]; + + [[ogl_view openGLContext] makeCurrentContext]; + [[ogl_view openGLContext] update]; + +glViewport(0, 0, (int) contentRect.size.width, (int) contentRect.size.height); + + glMatrixMode(GL_PROJECTION); +glLoadIdentity(); + + glMatrixMode(GL_MODELVIEW); +glLoadIdentity(); + + // This is used as a init'd flag as well... + if(screen_tex != 0) { + glDeleteTextures(1, &screen_tex); + glDeleteLists(display_list_tex, 1); + } + + screen_tex = 1; + + if(ds->data != NULL) free(ds->data);
Re: [Qemu-devel] cocoa.m using openGL
Could you use diff -u please? that surely could help. Thanks, Hetz On 5/23/05, Mike Kronenberg <[EMAIL PROTECTED]> wrote: > Peter Stewart wrote: > > > Hi, > > > > It looks faster than the original, but I don't have a benchmark, is > > there one? > > I would really like a bootable image with Doom 1 on it. > > http://www.kberg.ch/cocoaqemu/files/freedosdoom.img.zip > have fun > > > Here is the diff for cocoa.m ( diff cocoa.m.orig cocoa.m ) (from > > 0.7.0 dl): > > > Somehow, I cant patch it to cocoa.m > could you post cocoa.m as a attachement, since i have not alot in common > with cocoa.m animore :) > > Mike > > > ___ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel > ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Peter Stewart wrote: Hi, It looks faster than the original, but I don't have a benchmark, is there one? I would really like a bootable image with Doom 1 on it. http://www.kberg.ch/cocoaqemu/files/freedosdoom.img.zip have fun Here is the diff for cocoa.m ( diff cocoa.m.orig cocoa.m ) (from 0.7.0 dl): Somehow, I cant patch it to cocoa.m could you post cocoa.m as a attachement, since i have not alot in common with cocoa.m animore :) Mike ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Hi, It looks faster than the original, but I don't have a benchmark, is there one? I would really like a bootable image with Doom 1 on it. I also added to Makefile.target, the "-framework OpenGL" bit. ifdef CONFIG_COCOA VL_OBJS+=cocoa.o COCOA_LIBS=-F/System/Library/Frameworks -framework Cocoa -framework OpenGL endif enjoy, peter. Here is the diff for cocoa.m ( diff cocoa.m.orig cocoa.m ) (from 0.7.0 dl): > #include > #include > 42,43c45,46 < NSWindow *window = NULL; < NSQuickDrawView *qd_view = NULL; --- > static NSWindow *window = NULL; > static NSOpenGLView *ogl_view = NULL; 44a48 > #define SCREEN_BPP 32 49a54,56 > GLint screen_tex = 0; > GLuint display_list_tex = 0; > 64a72 > 72a81,95 > > // Make this context current > [[ogl_view openGLContext] makeCurrentContext]; > > // Bind, update and draw new image > glBindTexture(GL_TEXTURE_RECTANGLE_EXT, screen_tex); > > // glTexSubImage2D is faster when not using a texture range > glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, (GLint)ds->width, (GLint)ds->height, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, ds->data); > > // Use the compiled display list > glCallList(display_list_tex); > > // Swap buffer to screen > [[ogl_view openGLContext] flushBuffer]; 74,88d96 < /* Use QDFlushPortBuffer() to flush content to display */ < RgnHandle dirty = NewRgn (); < RgnHandle temp = NewRgn (); < < SetEmptyRgn (dirty); < < /* Build the region of dirty rectangles */ < MacSetRectRgn (temp, x, y, < x + w, y + h); < MacUnionRgn (dirty, temp, dirty); < < /* Flush the dirty region */ < QDFlushPortBuffer ( [ qd_view qdPort ], dirty ); < DisposeRgn (dirty); < DisposeRgn (temp); 98,100c106 < const int device_bpp = 32; < static void *screen_pixels; < static int screen_pitch; --- > 101a108,109 > > // printf("resizing to %d %d\n", w, h); 103,161c111,139 < //printf("resizing to %d %d\n", w, h); < < contentRect = NSMakeRect (0, 0, w, h); < if(window) < { < [window close]; < [window release]; < } < window = [ [ QemuWindow alloc ] initWithContentRect:contentRect < styleMask: NSTitledWindowMask|NSMiniaturizableWindowMask|NSClosableWindowMask < backing:NSBackingStoreBuffered defer:NO]; < if(!window) < { < fprintf(stderr, "(cocoa) can't create window\n"); < exit(1); < } < < if(qd_view) < [qd_view release]; < < qd_view = [ [ NSQuickDrawView alloc ] initWithFrame:contentRect ]; < < if(!qd_view) < { < fprintf(stderr, "(cocoa) can't create qd_view\n"); < exit(1); < } < < [ window setAcceptsMouseMovedEvents:YES ]; < [ window setTitle:@"Qemu" ]; < [ window setReleasedWhenClosed:NO ]; < < /* Set screen to black */ < [ window setBackgroundColor: [NSColor blackColor] ]; < < /* set window position */ < [ window center ]; < < [ qd_view setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable ]; < [ [ window contentView ] addSubview:qd_view ]; < [ qd_view release ]; < [ window makeKeyAndOrderFront:nil ]; < < /* Careful here, the window seems to have to be onscreen to do that */ < LockPortBits ( [ qd_view qdPort ] ); < screen_pixels = GetPixBaseAddr ( GetPortPixMap ( [ qd_view qdPort ] ) ); < screen_pitch = GetPixRowBytes ( GetPortPixMap ( [ qd_view qdPort ] ) ); < UnlockPortBits ( [ qd_view qdPort ] ); < { < int vOffset = [ window frame ].size.height - < [ qd_view frame ].size.height - [ qd_view frame ].origin.y; < < int hOffset = [ qd_view frame ].origin.x; < < screen_pixels += (vOffset * screen_pitch) + hOffset * (device_bpp/8); < } < ds->data = screen_pixels; < ds->linesize = screen_pitch; < ds->depth = device_bpp; --- > contentRect = NSMakeRect (0, 0, w, h); > > [window setContentSize:contentRect.size]; > [window update]; > > [[ogl_view openGLContext] makeCurrentContext]; > [[ogl_view openGLContext] update]; > > glViewport(0, 0, (int) contentRect.size.width, (int) contentRect.size.height); > > glMatrixMode(GL_PROJECTION); > glLoadIdentity(); > > glMatrixMode(GL_MODELVIEW); > glLoadIdentity(); > > // This is used as a init'd flag as well... > if(screen_tex != 0) { > glDeleteTextures(1, &screen_tex); > glDeleteLists(display_list_tex, 1); > } > > screen_tex = 1; > > if(ds->data != NULL) free(ds->data); > ds->data = (GLubyte *) malloc(w * h * (SCREEN_BPP >> 3)); > assert(ds->data != NULL); > ds->linesize = w * (SCREEN_BPP >> 3); > ds->depth = SCREEN_BPP; 164,165c142,195 < < current_ds = *ds; --- > > // Setup some basic OpenGL stuff as from Apple >
Re: [Qemu-devel] cocoa.m using openGL
Peter Stewart wrote: Hi Hetz, I will do a comparison, and a diff, and add some more comments. Great, I can't wait to merge and test it :) I have a 800Mhz ibook 640M. When I ran Knoppix, and glxgears I got 7fps on OpenGL profiler and 5fps reported by glxgears. OpenGL profiler reported that a maximum of 5% of the time was being spent in OpenGL. On average about 2% of the time was spent in OpenGL. The peak fps was 27 fps, this happens during the text based startup of Knoppix (the green bar with the text spinner). I would like to run doom2 shareware dos based to see what fps I get, should be okay I think, but don't know how to get a bootable image with the shareware software on it. Doom2 was never released as Shareware, only Doom1. If You need a bootable Image, I can prepare You one of Doom1. thanks, peter. Mike ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Hi Hetz, I will do a comparison, and a diff, and add some more comments. I have a 800Mhz ibook 640M. When I ran Knoppix, and glxgears I got 7fps on OpenGL profiler and 5fps reported by glxgears. OpenGL profiler reported that a maximum of 5% of the time was being spent in OpenGL. On average about 2% of the time was spent in OpenGL. The peak fps was 27 fps, this happens during the text based startup of Knoppix (the green bar with the text spinner). I would like to run doom2 shareware dos based to see what fps I get, should be okay I think, but don't know how to get a bootable image with the shareware software on it. thanks, peter. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Peter Stewart wrote: Hello to all, esp. Pierre d'Herbemont, I have changed cocoa.m (0.7.0) to use openGL with very fast texturing. I removed the use of QuickDraw. The DisplayState data is now DMA'd to the graphics card instead of copied by the CPU. This uses apple's texture range extensions. The change means that the transfer of "display memory" incurs no CPU overhead. I also put in a bit more mouse stuff, and made some other fixes. I can't work out how to get the Window to get focus once it loses it, which is really a pain. I Shark'd it to make sure there wasn't any overhead from the texturing. I tested with Knoppix and FreeDOS. I am not sure if this is of interest to people, I just had a lazy weekend. I would like to give the code to the qemu project, but don't really know how to. thanks, peter. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel Great News! Especially, if somebody writes a openGL driver/wrapper for the GuestOS. I'm working on cocoa.m for some time now, especially UI Things. But I did not get around submitting the stuff yet. You find my diff on www.kberg.ch/cocoaqemu. It consists of a lot of changes (including mouse and keyboard support :) ) Last update: this weekend. Mike ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] cocoa.m using openGL
Peter, You can use the "diff" command (I think it's available on OS X) to create patches, and then you can post those patches here. Please add comments wherever possible to indicate what you done (something small and simple). BTW: have you tried to perform any benchmarking to see if there's any speed gain from your work compared to the standard QEMU? Thanks, Hetz On 5/22/05, Peter Stewart <[EMAIL PROTECTED]> wrote: > Hello to all, > > esp. Pierre d'Herbemont, > > I have changed cocoa.m (0.7.0) to use openGL with very fast texturing. > I removed the use of QuickDraw. The DisplayState data is now DMA'd to > the graphics card instead of copied by the CPU. This uses apple's > texture range extensions. The change means that the transfer of > "display memory" incurs no CPU overhead. I also put in a bit more mouse > stuff, and made some other fixes. I can't work out how to get the > Window to get focus once it loses it, which is really a pain. > > I Shark'd it to make sure there wasn't any overhead from the texturing. > I tested with Knoppix and FreeDOS. > > I am not sure if this is of interest to people, I just had a lazy > weekend. I would like to give the code to the qemu project, but don't > really know how to. > > > thanks, > peter. > > > > ___ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel > ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] cocoa.m using openGL
Hello to all, esp. Pierre d'Herbemont, I have changed cocoa.m (0.7.0) to use openGL with very fast texturing. I removed the use of QuickDraw. The DisplayState data is now DMA'd to the graphics card instead of copied by the CPU. This uses apple's texture range extensions. The change means that the transfer of "display memory" incurs no CPU overhead. I also put in a bit more mouse stuff, and made some other fixes. I can't work out how to get the Window to get focus once it loses it, which is really a pain. I Shark'd it to make sure there wasn't any overhead from the texturing. I tested with Knoppix and FreeDOS. I am not sure if this is of interest to people, I just had a lazy weekend. I would like to give the code to the qemu project, but don't really know how to. thanks, peter. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel