mesa.git
14 years agost/xorg: split copy operation into prepare/copy/done phases
Keith Whitwell [Thu, 26 Nov 2009 11:17:06 +0000 (11:17 +0000)]
st/xorg: split copy operation into prepare/copy/done phases

Any high-overhead one-off tasks are moved into the prepare hook.

14 years agost/xorg: don't set up constant buffer for non-xv fragment shaders
Keith Whitwell [Thu, 26 Nov 2009 10:40:40 +0000 (10:40 +0000)]
st/xorg: don't set up constant buffer for non-xv fragment shaders

These currently don't reference any constants.  Can add this back
if newer shaders need them, but in the meantime don't create
a new constant buffer every time we do a blit.

14 years agost/xorg: split up shared Done call
Keith Whitwell [Thu, 26 Nov 2009 10:34:28 +0000 (10:34 +0000)]
st/xorg: split up shared Done call

The two users of composite (Composite and Solid) now call a new
xorg_composite_done() from their Done functions, while CopyDone
is directly implemented on top of xorg_renderer.c.

14 years agost/xorg: set up rasterizer state in init
Keith Whitwell [Thu, 26 Nov 2009 10:15:01 +0000 (10:15 +0000)]
st/xorg: set up rasterizer state in init

14 years agost/xorg: remove redundant clipping code
Keith Whitwell [Wed, 25 Nov 2009 18:45:20 +0000 (18:45 +0000)]
st/xorg: remove redundant clipping code

14 years agost/xorg: don't bother with cso save and restore in copy func
Keith Whitwell [Wed, 25 Nov 2009 18:42:54 +0000 (18:42 +0000)]
st/xorg: don't bother with cso save and restore in copy func

14 years agost/xorg: consolidate some dest surface state setting
Keith Whitwell [Wed, 25 Nov 2009 18:41:11 +0000 (18:41 +0000)]
st/xorg: consolidate some dest surface state setting

14 years agoglu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
Vinson Lee [Thu, 26 Nov 2009 05:35:31 +0000 (00:35 -0500)]
glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.

14 years agovmware/xorg: Link against libkms
Jakob Bornecrantz [Tue, 24 Nov 2009 18:20:59 +0000 (19:20 +0100)]
vmware/xorg: Link against libkms

If the system doesn't have libkms installed it wont try to link against it.

14 years agovmware/xorg: Clean Makefile a bit
Jakob Bornecrantz [Tue, 24 Nov 2009 18:16:37 +0000 (19:16 +0100)]
vmware/xorg: Clean Makefile a bit

14 years agovmware/xorg: Don't link against libdrm_intel
Jakob Bornecrantz [Tue, 24 Nov 2009 17:47:15 +0000 (18:47 +0100)]
vmware/xorg: Don't link against libdrm_intel

14 years agovmware/xorg: Stage driver in lib/gallium
Jakob Bornecrantz [Tue, 24 Nov 2009 17:44:39 +0000 (18:44 +0100)]
vmware/xorg: Stage driver in lib/gallium

14 years agost/xorg: Pass mode types from the kernel to X
Jakob Bornecrantz [Tue, 24 Nov 2009 13:53:03 +0000 (14:53 +0100)]
st/xorg: Pass mode types from the kernel to X

14 years agost/xorg: Add libkms integration
Jakob Bornecrantz [Tue, 24 Nov 2009 11:47:38 +0000 (12:47 +0100)]
st/xorg: Add libkms integration

14 years agost/xorg: Touch up xorg_crtc.c
Jakob Bornecrantz [Tue, 24 Nov 2009 01:49:57 +0000 (02:49 +0100)]
st/xorg: Touch up xorg_crtc.c

14 years agost/xorg: Rename driver functions
Jakob Bornecrantz [Tue, 24 Nov 2009 03:19:07 +0000 (04:19 +0100)]
st/xorg: Rename driver functions

14 years agost/xorg: Rename output functions
Jakob Bornecrantz [Tue, 24 Nov 2009 01:54:24 +0000 (02:54 +0100)]
st/xorg: Rename output functions

14 years agost/xorg: Rename dri2 functions
Jakob Bornecrantz [Tue, 24 Nov 2009 01:28:09 +0000 (02:28 +0100)]
st/xorg: Rename dri2 functions

14 years agost/xorg: Standardise all function names defined in xorg_tracker.h
Jakob Bornecrantz [Tue, 24 Nov 2009 01:21:16 +0000 (02:21 +0100)]
st/xorg: Standardise all function names defined in xorg_tracker.h

14 years agosvga: try harder to make the cachable flag work
Keith Whitwell [Wed, 25 Nov 2009 17:13:04 +0000 (17:13 +0000)]
svga: try harder to make the cachable flag work

It doesn't though.

14 years agost/xorg: accelerate src luminance
Zack Rusin [Mon, 23 Nov 2009 06:00:34 +0000 (01:00 -0500)]
st/xorg: accelerate src luminance

14 years agoutil: also print out memory statistics
Zack Rusin [Sun, 22 Nov 2009 20:21:14 +0000 (15:21 -0500)]
util: also print out memory statistics

14 years agosvga: revert packing of surface key
Keith Whitwell [Wed, 25 Nov 2009 11:44:41 +0000 (11:44 +0000)]
svga: revert packing of surface key

Over-ambitious packing of values broke my cursor.

14 years agoradeon: fix context destroy needing lock for flushing.
Dave Airlie [Wed, 25 Nov 2009 10:23:22 +0000 (20:23 +1000)]
radeon: fix context destroy needing lock for flushing.

Thanks to Intel code which I've just stolen pretty much as usual.

This fixes fdo bug 22851 which is a dri1 regression since rewrite.

Tested by: fpiobaf (Fabio) on #radeon
Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agoglu/sgi: Fix memory leak in gluBuild1DMipmapLevelsCore.
Vinson Lee [Wed, 25 Nov 2009 05:39:37 +0000 (00:39 -0500)]
glu/sgi: Fix memory leak in gluBuild1DMipmapLevelsCore.

14 years agoglu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.
Vinson Lee [Wed, 25 Nov 2009 05:28:56 +0000 (00:28 -0500)]
glu/sgi: Fix memory leak in gluBuild2DMipmapLevelsCore.

14 years agoglu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
Vinson Lee [Wed, 25 Nov 2009 05:18:49 +0000 (00:18 -0500)]
glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.

14 years agosvga: cache textures as well as buffers
Keith Whitwell [Tue, 24 Nov 2009 21:13:18 +0000 (21:13 +0000)]
svga: cache textures as well as buffers

14 years agost/xorg: use surface_copy for blits if available
Keith Whitwell [Tue, 24 Nov 2009 20:48:12 +0000 (20:48 +0000)]
st/xorg: use surface_copy for blits if available

Even if its not available, we really want to be coalescing blit
operations better.

14 years agosvga: Filter out pendantic and ansi flags
Jakob Bornecrantz [Tue, 24 Nov 2009 00:14:03 +0000 (01:14 +0100)]
svga: Filter out pendantic and ansi flags

Rather have the driver compile without the flags then
having to disable them.

14 years agoglu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.
Vinson Lee [Tue, 24 Nov 2009 06:23:12 +0000 (01:23 -0500)]
glu/sgi: Fix memory leak in gluBuild3DMipmapLevelsCore.

14 years agodri: Fix potential null pointer deference in dri_put_drawable.
Vinson Lee [Tue, 24 Nov 2009 05:57:55 +0000 (00:57 -0500)]
dri: Fix potential null pointer deference in dri_put_drawable.

14 years agoradeon: fix errors in miptree related function
Maciej Cencora [Mon, 23 Nov 2009 20:59:08 +0000 (21:59 +0100)]
radeon: fix errors in miptree related function

- typo
- memory leak
- off by one (spotted by airlied)

14 years agoMerge branch 'mesa_7_7_branch' of http://anongit.freedesktop.org/git/mesa/mesa into...
Maciej Cencora [Mon, 23 Nov 2009 20:28:22 +0000 (21:28 +0100)]
Merge branch 'mesa_7_7_branch' of anongit.freedesktop.org/git/mesa/mesa into mesa_7_7_branch

14 years agosvga: Scrub Makefiles a bit
Jakob Bornecrantz [Mon, 23 Nov 2009 18:59:02 +0000 (19:59 +0100)]
svga: Scrub Makefiles a bit

Remove x86 specific hacks. Not that they will ever be used on
none x86 arches, but they are built by default. And the way the
flags where added was a hack.

14 years agomesa: Initialize variable in _mesa_get_texel_fetch_func.
Vinson Lee [Mon, 23 Nov 2009 06:52:59 +0000 (01:52 -0500)]
mesa: Initialize variable in _mesa_get_texel_fetch_func.

14 years agoglx: Prevent potential null pointer deference in driCreateContext.
Vinson Lee [Mon, 23 Nov 2009 06:30:32 +0000 (01:30 -0500)]
glx: Prevent potential null pointer deference in driCreateContext.

14 years agoglu/sgi: Fix memory leak in bitmapBuild2DMipmaps.
Vinson Lee [Mon, 23 Nov 2009 06:09:06 +0000 (01:09 -0500)]
glu/sgi: Fix memory leak in bitmapBuild2DMipmaps.

14 years agoglu/sgi: Fix memory leak in gluScaleImage3D.
Vinson Lee [Mon, 23 Nov 2009 05:57:37 +0000 (00:57 -0500)]
glu/sgi: Fix memory leak in gluScaleImage3D.

14 years agor300: fix VP source conflict resolution on 64-bit machines
Maciej Cencora [Sun, 22 Nov 2009 14:08:46 +0000 (15:08 +0100)]
r300: fix VP source conflict resolution on 64-bit machines

On 32bit machines we were lucky because the sizeof(reg) == sizeof(rc_src_register).
On 64bit machines pointers are 8 bytes long, so we were overwriting other data.

14 years agor300: fix SIN/COS/SCS instructions for R300 fp
Maciej Cencora [Sun, 22 Nov 2009 13:13:18 +0000 (14:13 +0100)]
r300: fix SIN/COS/SCS instructions for R300 fp

14 years agoglu/sgi: Fix memory leak in gluScaleImage.
Vinson Lee [Sun, 22 Nov 2009 06:57:35 +0000 (01:57 -0500)]
glu/sgi: Fix memory leak in gluScaleImage.

14 years agoglu: Fix memory leak in __gl_meshMakeEdge.
Vinson Lee [Sun, 22 Nov 2009 06:45:53 +0000 (01:45 -0500)]
glu: Fix memory leak in __gl_meshMakeEdge.

14 years agosvga: Prevent potential null pointer deference in vmw_surface.c.
Vinson Lee [Sun, 22 Nov 2009 06:26:32 +0000 (01:26 -0500)]
svga: Prevent potential null pointer deference in vmw_surface.c.

14 years agosvga: Fix memory leak in vmw_screen_ioctl.c
Vinson Lee [Sun, 22 Nov 2009 06:20:07 +0000 (01:20 -0500)]
svga: Fix memory leak in vmw_screen_ioctl.c

14 years agost/xorg: Prevent potential null pointer deference in xorg_xv.c.
Vinson Lee [Sun, 22 Nov 2009 06:10:38 +0000 (01:10 -0500)]
st/xorg: Prevent potential null pointer deference in xorg_xv.c.

14 years agost/xorg: Reorder cases in switch statement.
Vinson Lee [Sun, 22 Nov 2009 05:55:52 +0000 (00:55 -0500)]
st/xorg: Reorder cases in switch statement.

Silences missing break statement warning.

14 years agoradeon: fix compressed mipmapped textures
Maciej Cencora [Sat, 21 Nov 2009 14:56:23 +0000 (15:56 +0100)]
radeon: fix compressed mipmapped textures

Tested on r300 only, other cards may require adjusting texture_compressed_row_align.

14 years agoradeon: fix glCompressedTexSubImage
Maciej Cencora [Sat, 21 Nov 2009 14:56:02 +0000 (15:56 +0100)]
radeon: fix glCompressedTexSubImage

14 years agoradeon: fix compressed mipmapped textures
Maciej Cencora [Sat, 21 Nov 2009 14:56:23 +0000 (15:56 +0100)]
radeon: fix compressed mipmapped textures

Tested on r300 only, other cards may require adjusting texture_compressed_row_align.

14 years agoradeon: fix glCompressedTexSubImage
Maciej Cencora [Sat, 21 Nov 2009 14:56:02 +0000 (15:56 +0100)]
radeon: fix glCompressedTexSubImage

14 years agointel: make CopyTex[Sub]Image fallback debug messages more consistent
Roland Scheidegger [Sat, 21 Nov 2009 12:39:30 +0000 (04:39 -0800)]
intel: make CopyTex[Sub]Image fallback debug messages more consistent

14 years agomesa: handle different RowStride in _mesa_get_compressed_teximage
Roland Scheidegger [Sat, 21 Nov 2009 12:22:50 +0000 (04:22 -0800)]
mesa: handle different RowStride in _mesa_get_compressed_teximage

drivers storing compressed textures with non-native stride but relying on
_mesa_get_compressed_teximage for GetCompressedTexImage otherwise won't
work correctly (for instance i965 compressed mipmaps).

14 years agoi965: Fix several memory leaks on exit.
Eric Anholt [Sat, 21 Nov 2009 12:33:21 +0000 (13:33 +0100)]
i965: Fix several memory leaks on exit.

Bug #25194.

14 years agost/egl: Fix memory leak in egl_tracker.c.
Vinson Lee [Sat, 21 Nov 2009 00:33:25 +0000 (16:33 -0800)]
st/egl: Fix memory leak in egl_tracker.c.

14 years agodraw: Initialize variable in draw_pt.c.
Vinson Lee [Sat, 21 Nov 2009 00:03:48 +0000 (16:03 -0800)]
draw: Initialize variable in draw_pt.c.

14 years agoprogs/xdemos: Fix memory leak in pbinfo.c.
Vinson Lee [Fri, 20 Nov 2009 23:52:53 +0000 (15:52 -0800)]
progs/xdemos: Fix memory leak in pbinfo.c.

14 years agoprogs/xdemos: Fix memory leak in pbdemo.c.
Vinson Lee [Fri, 20 Nov 2009 23:48:29 +0000 (15:48 -0800)]
progs/xdemos: Fix memory leak in pbdemo.c.

14 years agoprogs/xdemos: Fix memory leak in glxpbdemo.c.
Vinson Lee [Fri, 20 Nov 2009 23:18:19 +0000 (15:18 -0800)]
progs/xdemos: Fix memory leak in glxpbdemo.c.

14 years agoprogs/xdemos: Remove duplicate code in glxinfo.c.
Vinson Lee [Fri, 20 Nov 2009 23:06:56 +0000 (15:06 -0800)]
progs/xdemos: Remove duplicate code in glxinfo.c.

14 years agoprogs/xdemos: Add assert in corender.c.
Vinson Lee [Fri, 20 Nov 2009 23:03:16 +0000 (15:03 -0800)]
progs/xdemos: Add assert in corender.c.

14 years agoi915g: Add missing break statement in i915_debug.c.
Vinson Lee [Fri, 20 Nov 2009 22:31:42 +0000 (14:31 -0800)]
i915g: Add missing break statement in i915_debug.c.

14 years agogallium/util: Initialize variables in u_pack_color.h.
Vinson Lee [Fri, 20 Nov 2009 22:20:15 +0000 (14:20 -0800)]
gallium/util: Initialize variables in u_pack_color.h.

14 years agost/xorg: Flush any pending operations on upload
Jakob Bornecrantz [Wed, 18 Nov 2009 16:45:39 +0000 (17:45 +0100)]
st/xorg: Flush any pending operations on upload

14 years agost/xorg: Unbind any textures in solid
Jakob Bornecrantz [Wed, 18 Nov 2009 16:38:49 +0000 (17:38 +0100)]
st/xorg: Unbind any textures in solid

Helps debuging with rbug

14 years agoFix vega compilation.
Alan Hourihane [Fri, 20 Nov 2009 18:09:10 +0000 (18:09 +0000)]
Fix vega compilation.

14 years agoFix memory leak.
Alan Hourihane [Fri, 20 Nov 2009 18:08:29 +0000 (18:08 +0000)]
Fix memory leak.

14 years agoprogs/xdemos: Silence unused value warnings in sharedtex_mt.c.
Vinson Lee [Fri, 20 Nov 2009 21:09:42 +0000 (13:09 -0800)]
progs/xdemos: Silence unused value warnings in sharedtex_mt.c.

14 years agoprogs/xdemos: Fix memory leak in glxinfo.c.
Vinson Lee [Fri, 20 Nov 2009 21:01:22 +0000 (13:01 -0800)]
progs/xdemos: Fix memory leak in glxinfo.c.

14 years agoprogs/tests: Silence unused value warnings in sharedtex.c.
Vinson Lee [Fri, 20 Nov 2009 20:48:44 +0000 (12:48 -0800)]
progs/tests: Silence unused value warnings in sharedtex.c.

14 years agomesa: Fix NULL deref in optimizer when NumInstructions == 0.
Eric Anholt [Fri, 20 Nov 2009 20:42:06 +0000 (21:42 +0100)]
mesa: Fix NULL deref in optimizer when NumInstructions == 0.

Bug #24984.

14 years agoprogs/tests: Initialize variable in getprocaddress.c.
Vinson Lee [Fri, 20 Nov 2009 20:34:21 +0000 (12:34 -0800)]
progs/tests: Initialize variable in getprocaddress.c.

14 years agoprogs/util: Exit RawImageGetData early if malloc fails.
Vinson Lee [Fri, 20 Nov 2009 20:11:55 +0000 (12:11 -0800)]
progs/util: Exit RawImageGetData early if malloc fails.

Prevents a null pointer deference later on.

14 years agoprogs/slang: Check for ftell failure in vstest.c.
Vinson Lee [Fri, 20 Nov 2009 19:34:21 +0000 (11:34 -0800)]
progs/slang: Check for ftell failure in vstest.c.

14 years agoprogs/util: Fix memory leak if malloc fails in RawImageOpen.
Vinson Lee [Fri, 20 Nov 2009 19:22:13 +0000 (11:22 -0800)]
progs/util: Fix memory leak if malloc fails in RawImageOpen.

14 years agost/xorg: Fix type of 'unknown'.
Vinson Lee [Fri, 20 Nov 2009 08:03:10 +0000 (00:03 -0800)]
st/xorg: Fix type of 'unknown'.

14 years agoprogs/vpglsl: Fix psiz-mul.glsl compilation error on Mac OS.
Vinson Lee [Fri, 20 Nov 2009 07:56:07 +0000 (23:56 -0800)]
progs/vpglsl: Fix psiz-mul.glsl compilation error on Mac OS.

14 years agoprogs/vp: Fix memory leak in vp-tris.c.
Vinson Lee [Fri, 20 Nov 2009 06:59:01 +0000 (22:59 -0800)]
progs/vp: Fix memory leak in vp-tris.c.

14 years agoprogs/trivial: Redraw upon keypress.
Vinson Lee [Fri, 20 Nov 2009 06:52:05 +0000 (22:52 -0800)]
progs/trivial: Redraw upon keypress.

14 years agoprogs/glsl: Redraw upon keypress.
Vinson Lee [Fri, 20 Nov 2009 06:46:19 +0000 (22:46 -0800)]
progs/glsl: Redraw upon keypress.

14 years agor100: fix texture_from_pixmap and compiz.
Dave Airlie [Fri, 20 Nov 2009 01:45:43 +0000 (11:45 +1000)]
r100: fix texture_from_pixmap and compiz.

r100 state emission has separate rect and non-rect states,
if we are doing TFP for a TEXTURE_2D we shouldn't use the rect
states as they won't get emitted properly.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agost/xorg: Fix infinite loop in copy_packed_data.
Vinson Lee [Thu, 19 Nov 2009 22:38:39 +0000 (14:38 -0800)]
st/xorg: Fix infinite loop in copy_packed_data.

14 years agoprogs/xdemos: Add missing break statement in offset.c.
Vinson Lee [Thu, 19 Nov 2009 22:20:26 +0000 (14:20 -0800)]
progs/xdemos: Add missing break statement in offset.c.

14 years agost/mesa: replace st_flush() with pipe->flush()
Brian Paul [Thu, 19 Nov 2009 22:18:17 +0000 (15:18 -0700)]
st/mesa: replace st_flush() with pipe->flush()

We only need to flush the gallium driver in this case.
Fixes a recursive state validation bug.

14 years agovbo: added recursion check in vbo_exec_FlushVertices()
Brian Paul [Thu, 19 Nov 2009 22:17:56 +0000 (15:17 -0700)]
vbo: added recursion check in vbo_exec_FlushVertices()

14 years agost/mesa: get rid of compressed_num_bytes() code
Brian Paul [Thu, 19 Nov 2009 21:35:38 +0000 (14:35 -0700)]
st/mesa: get rid of compressed_num_bytes() code

14 years agost/mesa: remove is_compressed_mesa_format()
Brian Paul [Thu, 19 Nov 2009 21:17:09 +0000 (14:17 -0700)]
st/mesa: remove is_compressed_mesa_format()

14 years agost/mesa: remove pointless assertion
Brian Paul [Thu, 19 Nov 2009 21:10:57 +0000 (14:10 -0700)]
st/mesa: remove pointless assertion

14 years agosoftpipe: whitespace/indentation fixes
Brian Paul [Thu, 19 Nov 2009 21:02:06 +0000 (14:02 -0700)]
softpipe: whitespace/indentation fixes

14 years agoprogs/trivial: Redraw upon keypress.
Vinson Lee [Thu, 19 Nov 2009 21:03:12 +0000 (13:03 -0800)]
progs/trivial: Redraw upon keypress.

14 years agosoftpipe: add missing check in softpipe_is_texture_referenced()
Brian Paul [Thu, 19 Nov 2009 18:37:50 +0000 (11:37 -0700)]
softpipe: add missing check in softpipe_is_texture_referenced()

Check if the named texture is referenced by the texture cache.

14 years agost/xorg: Replace compile-time acceleration switch with Option "2DAccel".
Michel Dänzer [Thu, 19 Nov 2009 16:52:55 +0000 (17:52 +0100)]
st/xorg: Replace compile-time acceleration switch with Option "2DAccel".

This option can be used to disable 2D acceleration. DRI2 and XVideo blits will
still be accelerated, at least to some degree even with compositing.

14 years agost/xorg: Miscellaneous XVideo fixes.
Michel Dänzer [Thu, 19 Nov 2009 16:47:21 +0000 (17:47 +0100)]
st/xorg: Miscellaneous XVideo fixes.

* Make sure the destination pixmap has a texture to render into.
* Fix damage reporting so the EXA migration code can do the right thing.
* Fix destination coordinates for redirected windows.

14 years agost/xorg: Try harder to ensure a shared texture has valid contents right away.
Michel Dänzer [Thu, 19 Nov 2009 16:30:32 +0000 (17:30 +0100)]
st/xorg: Try harder to ensure a shared texture has valid contents right away.

14 years agost/xorg: Don't complain about convolution filter being 'unknown'.
Michel Dänzer [Thu, 19 Nov 2009 16:25:05 +0000 (17:25 +0100)]
st/xorg: Don't complain about convolution filter being 'unknown'.

Also add a newline to the complaint so it'll be a little less annoying if we
actually encounter an unknown filter value again.

14 years agost/xorg: Remove superfluous flushes from the EXA WaitMarker hook.
Michel Dänzer [Thu, 19 Nov 2009 09:54:49 +0000 (10:54 +0100)]
st/xorg: Remove superfluous flushes from the EXA WaitMarker hook.

Thanks to Thomas Hellström for pointing this out.

14 years agost/xorg: Don't initialize non-existing fields.
Michel Dänzer [Thu, 19 Nov 2009 09:38:08 +0000 (10:38 +0100)]
st/xorg: Don't initialize non-existing fields.

14 years agoprogs/tests: Fix memory leak in texdown.c if malloc fails.
Vinson Lee [Thu, 19 Nov 2009 01:30:50 +0000 (17:30 -0800)]
progs/tests: Fix memory leak in texdown.c if malloc fails.

14 years agost/xorg: Init all functions and fix spelling
Jakob Bornecrantz [Wed, 18 Nov 2009 22:50:26 +0000 (22:50 +0000)]
st/xorg: Init all functions and fix spelling

14 years agoprogs/fp: Redraw upon keypress.
Vinson Lee [Wed, 18 Nov 2009 22:41:40 +0000 (14:41 -0800)]
progs/fp: Redraw upon keypress.