mesa.git
16 years agomesa: added more ext funcs (from Mesa/master)
Brian [Sat, 5 Apr 2008 00:55:48 +0000 (18:55 -0600)]
mesa: added more ext funcs (from Mesa/master)

16 years agogallium: always pass size=4 to make_immediate()
Brian [Sat, 5 Apr 2008 00:28:14 +0000 (18:28 -0600)]
gallium: always pass size=4 to make_immediate()

Mesa always packs 4 immediates into each parameter/const buffer slot.
I think we were just getting lucky with this as it was.

16 years agogallium: adjust the code in update_textures() to look more like update_samplers()
Brian [Fri, 4 Apr 2008 22:44:09 +0000 (16:44 -0600)]
gallium: adjust the code in update_textures() to look more like update_samplers()

16 years agomesa: add missing glPush/PopMatrix() calls
Brian [Fri, 4 Apr 2008 15:37:21 +0000 (09:37 -0600)]
mesa: add missing glPush/PopMatrix() calls

16 years agomesa: add missing glPush/PopMatrix() calls
Brian [Fri, 4 Apr 2008 13:29:28 +0000 (07:29 -0600)]
mesa: add missing glPush/PopMatrix() calls

16 years agogallium: state tracker fixes for compressed textures
Roland Scheidegger [Fri, 4 Apr 2008 19:10:07 +0000 (21:10 +0200)]
gallium: state tracker fixes for compressed textures

16 years agogallium: add new call to st_flush_bitmap_cache() to fix recent regression
Brian Paul [Fri, 4 Apr 2008 18:24:25 +0000 (12:24 -0600)]
gallium: add new call to st_flush_bitmap_cache() to fix recent regression

16 years agogallium: new debug code, disabled
Brian Paul [Fri, 4 Apr 2008 18:24:01 +0000 (12:24 -0600)]
gallium: new debug code, disabled

16 years agogallium: make sure to set the SamplersUsed field for bitmap/drawpixels shaders
Brian Paul [Fri, 4 Apr 2008 17:20:44 +0000 (11:20 -0600)]
gallium: make sure to set the SamplersUsed field for bitmap/drawpixels shaders

Also, make sure that field is copied/updated in the program clone and combine functions.
Without this we weren't getting SAMP declarations in the TGSI shaders.

16 years agogallium: Handle client-supplied edgeflags.
Keith Whitwell [Fri, 4 Apr 2008 16:02:20 +0000 (17:02 +0100)]
gallium: Handle client-supplied edgeflags.

Also, implement support in the draw module.  We were hardwiring these
to one for quite a long time...

Currently using a draw_set_edgeflags() function, may be better to push
the argument into the draw_arrays() function.  TBD.

16 years agogallium: Revert st_gl_flush() changes from when the **fence argument was added.
Michel Dänzer [Fri, 4 Apr 2008 15:21:42 +0000 (16:21 +0100)]
gallium: Revert st_gl_flush() changes from when the **fence argument was added.

As st_gl_flush() isn't used by st_finish() anymore, it doesn't have to make
sure pipe->flush() always gets called.

16 years agogallium: Call st_flush() instead of st_gl_flush() in st_finish().
Michel Dänzer [Fri, 4 Apr 2008 15:17:33 +0000 (16:17 +0100)]
gallium: Call st_flush() instead of st_gl_flush() in st_finish().

This is enough for the current purpose of st_finish(), which is to wait for
things to settle down before context teardown.

16 years agodraw: move code to run pipeline from pt to new file
Keith Whitwell [Fri, 4 Apr 2008 12:18:09 +0000 (13:18 +0100)]
draw: move code to run pipeline from pt to new file

Add facility for draw_vbuf.c to reset these vertex ids on flushes.
Pre-initialize vertex ids correctly.

16 years agoAlias glStencilOpSeparateATI with glStencilOpSeparate.
Brian [Tue, 30 Oct 2007 16:24:34 +0000 (10:24 -0600)]
Alias glStencilOpSeparateATI with glStencilOpSeparate.

16 years agotest glStencilFuncSeparateATI()
Brian [Tue, 30 Oct 2007 16:23:58 +0000 (10:23 -0600)]
test glStencilFuncSeparateATI()

16 years agoFinish up ATI_separate_stencil
Brian [Tue, 30 Oct 2007 15:13:58 +0000 (09:13 -0600)]
Finish up ATI_separate_stencil

Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c

16 years agoadd missing _mesa_StencilFuncSeparateATI function
Roland Scheidegger [Tue, 30 Oct 2007 13:09:17 +0000 (14:09 +0100)]
add missing _mesa_StencilFuncSeparateATI function

16 years agogallium: fix two-side stencil handling
Roland Scheidegger [Thu, 3 Apr 2008 23:59:38 +0000 (01:59 +0200)]
gallium: fix two-side stencil handling

Previously all drivers were in twosided mode since they checked for
stencil.enable[1] flag which was a copy of stencil.enable[0]. Note that drivers
should not reference stencil[1] state (other than the enable) if twosided
stenciling is disabled (for now the stencil state is still copied but for
instance clear_with_quads won't provide useful values in there).
Also, use _TestTwoSide instead of TestTwoSide since results would be
bogus otherwise if using APIs with implicit two side stencil enable
(i.e. core ogl 2.0).

16 years agogallium: make msvc less unhappy
Keith Whitwell [Fri, 4 Apr 2008 10:13:10 +0000 (11:13 +0100)]
gallium: make msvc less unhappy

16 years agogallium: Always allocate new const buffers instead of modifying existing ones.
Michel Dänzer [Fri, 4 Apr 2008 08:06:13 +0000 (09:06 +0100)]
gallium: Always allocate new const buffers instead of modifying existing ones.

16 years agocell: added some comments/ideas about better texture sampling
Brian [Wed, 2 Apr 2008 20:30:28 +0000 (14:30 -0600)]
cell: added some comments/ideas about better texture sampling

16 years agocell: minor texture improvements
Brian [Wed, 2 Apr 2008 20:01:42 +0000 (14:01 -0600)]
cell: minor texture improvements

Precompute tiles_per_row.  Use ushort multiplies in a few places.  New comments.

16 years agogallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable GL_MESA_ycbcr_texture
Brian [Thu, 3 Apr 2008 22:37:30 +0000 (16:37 -0600)]
gallium: test if PIPE_FORMAT_YCBCR[_REV] is supported and enable GL_MESA_ycbcr_texture

Update texture format selection code too.

16 years agogallium: implement ycbcr->rgba tile conversion
Brian [Thu, 3 Apr 2008 22:36:07 +0000 (16:36 -0600)]
gallium: implement ycbcr->rgba tile conversion

16 years agogallium: set rasterizer.gl_rasterization_rules = 1 in a few more places
Brian [Thu, 3 Apr 2008 19:16:37 +0000 (13:16 -0600)]
gallium: set rasterizer.gl_rasterization_rules = 1 in a few more places

16 years agogallium: streamline viewport/raster/shader state for clearing with quads
Brian Paul [Thu, 3 Apr 2008 18:54:32 +0000 (12:54 -0600)]
gallium: streamline viewport/raster/shader state for clearing with quads

Move init of these items to new st_init_clear().

16 years agogallium: include st_cb_bitmap.h to silence warning
Brian Paul [Thu, 3 Apr 2008 18:52:55 +0000 (12:52 -0600)]
gallium: include st_cb_bitmap.h to silence warning

16 years agogallium: remove the temporary/test TEST_DRAW_PASSTHROUGH code
Brian Paul [Thu, 3 Apr 2008 18:44:58 +0000 (12:44 -0600)]
gallium: remove the temporary/test TEST_DRAW_PASSTHROUGH code

16 years agogallium: use identity viewport fix broken clear_with_quad() path
Brian Paul [Thu, 3 Apr 2008 18:42:26 +0000 (12:42 -0600)]
gallium: use identity viewport fix broken clear_with_quad() path

Since bypass_clipping is set and we're specifying quad vertexes in window
coords, setup identity viewport.

16 years agogallium: call st_flush_bitmap_cache()
Brian Paul [Thu, 3 Apr 2008 18:01:53 +0000 (12:01 -0600)]
gallium: call st_flush_bitmap_cache()

16 years agogallium: set gl_rasterization_rules
Brian Paul [Thu, 3 Apr 2008 18:01:17 +0000 (12:01 -0600)]
gallium: set gl_rasterization_rules

16 years agogallium: Only build softpipe driver by default for xlib winsys with scons.
Michel Dänzer [Thu, 3 Apr 2008 12:19:38 +0000 (13:19 +0100)]
gallium: Only build softpipe driver by default for xlib winsys with scons.

16 years agodraw: add passthrough path to the pipeline
Keith Whitwell [Thu, 3 Apr 2008 11:21:30 +0000 (12:21 +0100)]
draw: add passthrough path to the pipeline

This handles the case where bypass_vs is set, but vertices need to go
through the pipeline for some reason - eg unfilled polygon mode.

Demonstrates how to drive the pipeline from inside one of these things.

16 years agodraw: add missing break statement
Keith Whitwell [Wed, 2 Apr 2008 11:05:55 +0000 (12:05 +0100)]
draw: add missing break statement

16 years agodraw: Set the backend prim in the pt 'prepare' operation
Keith Whitwell [Wed, 2 Apr 2008 10:55:03 +0000 (11:55 +0100)]
draw: Set the backend prim in the pt 'prepare' operation

Leaving it until 'run' is bad as the primitive is pretty much state
for some drivers and so needs to get set early.  In some drivers
this is used to determine things like vertex format, etc -- by the
time we get to 'run', it's too late to change this.

16 years agogallium: add a flag to turn on gl rasterization rules
Keith Whitwell [Wed, 2 Apr 2008 10:38:33 +0000 (11:38 +0100)]
gallium: add a flag to turn on gl rasterization rules

Use this to set up hardware rasterization (if your hardware can
do it) or otherwise turn on various tweaks in the draw module.

Currently only hooked up to point biasing code.

16 years agogallium: add temporary facility for rasterization-time clamping of point sizes
Keith Whitwell [Wed, 2 Apr 2008 09:43:37 +0000 (10:43 +0100)]
gallium: add temporary facility for rasterization-time clamping of point sizes

16 years agomesa: added a cast to avoid int overflow, plus rename texels->pixels
Brian [Tue, 1 Apr 2008 22:20:29 +0000 (16:20 -0600)]
mesa: added a cast to avoid int overflow, plus rename texels->pixels

16 years agomesa: measure fill rate for drawing a large quad with basic shading/texture modes
Brian [Tue, 1 Apr 2008 22:07:09 +0000 (16:07 -0600)]
mesa: measure fill rate for drawing a large quad with basic shading/texture modes

16 years agocell: more multi-texture fixes (mostly working now)
Brian [Tue, 1 Apr 2008 21:42:42 +0000 (15:42 -0600)]
cell: more multi-texture fixes (mostly working now)

16 years agomesa: destroy window upon exit
Brian [Tue, 1 Apr 2008 20:56:10 +0000 (14:56 -0600)]
mesa: destroy window upon exit

16 years agocell: turn off some debug output
Brian [Tue, 1 Apr 2008 20:55:31 +0000 (14:55 -0600)]
cell: turn off some debug output

16 years agocell: pass tex unit to get_texel()
Brian [Tue, 1 Apr 2008 20:52:25 +0000 (14:52 -0600)]
cell: pass tex unit to get_texel()

16 years agocell: fix bug in texture tiling function (non-square textures work now)
Brian [Tue, 1 Apr 2008 20:52:04 +0000 (14:52 -0600)]
cell: fix bug in texture tiling function (non-square textures work now)

16 years agocell: checkpoint: more multi-texture work
Brian [Tue, 1 Apr 2008 17:35:53 +0000 (11:35 -0600)]
cell: checkpoint: more multi-texture work

16 years agocell: assert num samplers/textures <= CELL_MAX_SAMPLERS
Brian [Tue, 1 Apr 2008 17:30:17 +0000 (11:30 -0600)]
cell: assert num samplers/textures <= CELL_MAX_SAMPLERS

16 years agocell: return CELL_MAX_SAMPLERS to indicate number of texture units
Brian [Tue, 1 Apr 2008 17:28:27 +0000 (11:28 -0600)]
cell: return CELL_MAX_SAMPLERS to indicate number of texture units

16 years agogallium: init ctx->Const.MaxTextureUnits
Brian [Tue, 1 Apr 2008 17:28:01 +0000 (11:28 -0600)]
gallium: init ctx->Const.MaxTextureUnits

16 years agocell: enable #define CACHE_STATS to print a cache report upon exit
Brian [Tue, 1 Apr 2008 17:05:32 +0000 (11:05 -0600)]
cell: enable #define CACHE_STATS to print a cache report upon exit

16 years agohandle IsPositionInvariant flag
Ben Skeggs [Tue, 1 Apr 2008 14:59:13 +0000 (08:59 -0600)]
handle IsPositionInvariant flag

16 years agodraw: remove dead code
Keith Whitwell [Tue, 1 Apr 2008 14:19:30 +0000 (15:19 +0100)]
draw: remove dead code

16 years agodraw: more flatshade_first changes
Keith Whitwell [Tue, 1 Apr 2008 13:49:56 +0000 (14:49 +0100)]
draw: more flatshade_first changes

- Reduce the number of changes to the normal vertex ordering
- Assume that the hardware knows how to do this in the standard case.
- Add support to the passthrough vcache path.

16 years agodraw: respect flatshade_first in flatshade stage
Keith Whitwell [Tue, 1 Apr 2008 13:48:59 +0000 (14:48 +0100)]
draw: respect flatshade_first in flatshade stage

16 years agodraw: associate rhw divide with clipping not viewport flag
Keith Whitwell [Tue, 1 Apr 2008 13:14:46 +0000 (14:14 +0100)]
draw: associate rhw divide with clipping not viewport flag

16 years agodraw: flush between pt/non-pt modes
Keith Whitwell [Tue, 1 Apr 2008 13:14:06 +0000 (14:14 +0100)]
draw: flush between pt/non-pt modes

16 years agogallium: Fencing fix.
Michel Dänzer [Tue, 1 Apr 2008 12:02:30 +0000 (13:02 +0100)]
gallium: Fencing fix.

Make sure the struct pipe_fence_handle* we point st_flush() to is initialized
to NULL, so winsys->fence_reference() doesn't try to unreference a random
struct pipe_fence_handle* pointer.

16 years agoscons: Fix test for building dri/intel winsys.
Michel Dänzer [Tue, 1 Apr 2008 12:00:51 +0000 (13:00 +0100)]
scons: Fix test for building dri/intel winsys.

16 years agocell: update some of the CAP, texformat queries
Brian [Tue, 1 Apr 2008 03:15:57 +0000 (21:15 -0600)]
cell: update some of the CAP, texformat queries

16 years agocell: more work for multi-texture support
Brian [Tue, 1 Apr 2008 03:09:02 +0000 (21:09 -0600)]
cell: more work for multi-texture support

16 years agocell: set cell->num_textures in cell_set_sampler_textures()
Brian [Tue, 1 Apr 2008 02:36:53 +0000 (20:36 -0600)]
cell: set cell->num_textures in cell_set_sampler_textures()

16 years agogallium: Do not assume that buffers are freed in the same order they are fenced.
José Fonseca [Tue, 1 Apr 2008 01:41:43 +0000 (10:41 +0900)]
gallium: Do not assume that buffers are freed in the same order they are fenced.

Also free buffers as soon as possible.

This short term fix corrects the fenced list behavior but it will impact on performance.
The long term fix is probably replace the linked list (legacy from the bufpool code) by
a binary tree.

16 years agocell: initial work to support multi-texture
Brian [Mon, 31 Mar 2008 23:38:21 +0000 (17:38 -0600)]
cell: initial work to support multi-texture

16 years agocell: added const qualifier
Brian [Mon, 31 Mar 2008 22:54:31 +0000 (16:54 -0600)]
cell: added const qualifier

16 years agocell: updated comments: s/test/SPE/
Brian [Mon, 31 Mar 2008 22:44:56 +0000 (16:44 -0600)]
cell: updated comments: s/test/SPE/

16 years agocell: implement logicop/output for PIPE_FORMAT_B8G8R8A8_UNORM
Brian [Mon, 31 Mar 2008 22:35:13 +0000 (16:35 -0600)]
cell: implement logicop/output for PIPE_FORMAT_B8G8R8A8_UNORM

Remote display to my usual terminal shows the right colors again.
Not 100% sure about the shuffle control words, but they seem to work.

16 years agogallium: Compute YCBCR bit depth.
José Fonseca [Mon, 31 Mar 2008 22:22:10 +0000 (07:22 +0900)]
gallium: Compute YCBCR bit depth.

16 years agogallium: used inverted bitmap texture to simplify the fragment shader.
Brian [Mon, 31 Mar 2008 21:12:14 +0000 (15:12 -0600)]
gallium: used inverted bitmap texture to simplify the fragment shader.

"Off" bits get stored as texel=0xff and "on" bits get stored as texel=0x0.
Then use KIL -tmp to kill the off bits and keep the on bits.
This shortens the fragment program by two instructions.

16 years agogallium: updated comment for bypass_vs
Brian [Mon, 31 Mar 2008 21:12:01 +0000 (15:12 -0600)]
gallium: updated comment for bypass_vs

16 years agofix parsing bug involving comments at the end of ARB v/f programs
Markus Amsler [Mon, 31 Mar 2008 20:58:11 +0000 (14:58 -0600)]
fix parsing bug involving comments at the end of ARB v/f programs

16 years agogallium: use cso_save/restore_sampler_textures() functions
Brian [Mon, 31 Mar 2008 20:38:27 +0000 (14:38 -0600)]
gallium: use cso_save/restore_sampler_textures() functions

16 years agogallium: draw_passthrough.c is obsolete - removed
Brian [Mon, 31 Mar 2008 20:20:16 +0000 (14:20 -0600)]
gallium: draw_passthrough.c is obsolete - removed

16 years agogallium: set the bypass_vs flag now
Brian [Mon, 31 Mar 2008 20:18:36 +0000 (14:18 -0600)]
gallium: set the bypass_vs flag now

The glBitmap vertex shader is a no-op, but we still have to specify it in
order to convey the number of inputs/outputs.

16 years agogallium: move the test for bypass_vs into the vs_XXX_run() functions
Brian [Mon, 31 Mar 2008 20:14:30 +0000 (14:14 -0600)]
gallium: move the test for bypass_vs into the vs_XXX_run() functions

Also:
1. Added an identity_viewport flag to skip viewport transformation when it
has no effect.  Might also add an explicit bypass_viewport flag someday.
2. Separate the code for computing clip codes and doing the viewport transform.
Predicate them separately.
Note: even if bypass_vs is set, we still look at the shader to determine the
number of inputs and outputs.

16 years agogallium: draw_passthrough.c is not used anymore
Brian [Mon, 31 Mar 2008 20:13:09 +0000 (14:13 -0600)]
gallium: draw_passthrough.c is not used anymore

16 years agogallium: draw_passthrough.c is not used anymore
Brian [Mon, 31 Mar 2008 20:06:42 +0000 (14:06 -0600)]
gallium: draw_passthrough.c is not used anymore

16 years agogallium: turn on clipping for bitmaps
Brian [Mon, 31 Mar 2008 18:18:20 +0000 (12:18 -0600)]
gallium: turn on clipping for bitmaps

Bitmaps can extend beyond window edges so we need to clip.
Also, move some state atom vars to st_context to be a bit more efficient.

16 years agogallium: Eliminate p_winsys::printf
José Fonseca [Mon, 31 Mar 2008 00:02:08 +0000 (09:02 +0900)]
gallium: Eliminate p_winsys::printf

Not convenient and almost not used at all. Better replacements in p_debug.h

16 years agodraw: Do not run full pipeline when flatshade_first for point primitives.
Michal Krol [Sun, 30 Mar 2008 21:21:20 +0000 (23:21 +0200)]
draw: Do not run full pipeline when flatshade_first for point primitives.

16 years agodraw: Fix bypass_vs semantic misuse.
Michal Krol [Sun, 30 Mar 2008 20:48:49 +0000 (22:48 +0200)]
draw: Fix bypass_vs semantic misuse.

16 years agogallium: Set vertex state/buffers en-mass.
Brian Paul [Sat, 29 Mar 2008 13:41:03 +0000 (14:41 +0100)]
gallium: Set vertex state/buffers en-mass.

16 years agogallium: Fix some MSVC warnings.
José Fonseca [Tue, 25 Mar 2008 17:30:34 +0000 (17:30 +0000)]
gallium: Fix some MSVC warnings.

16 years agogallium: begin some bounding box code for bitmap cache
Brian [Sat, 29 Mar 2008 00:41:10 +0000 (18:41 -0600)]
gallium: begin some bounding box code for bitmap cache

16 years agogallium: added an (int) cast in setup_bitmap_vertex_data() to fix a signed/unsigned...
Brian [Sat, 29 Mar 2008 00:18:55 +0000 (18:18 -0600)]
gallium: added an (int) cast in setup_bitmap_vertex_data() to fix a signed/unsigned arithmetic problem

Negative values became very large uints.

16 years agogallium: Fix computation of Z values when not using early Z.
Brian [Fri, 28 Mar 2008 21:22:34 +0000 (15:22 -0600)]
gallium: Fix computation of Z values when not using early Z.

This fixes the missing bitmaps in the engine and fogcoord demos.

16 years agogallium: don't call st_flush_bitmap_cache() if the only change is _NEW_PACKUNPACK...
Brian [Fri, 28 Mar 2008 21:17:50 +0000 (15:17 -0600)]
gallium: don't call st_flush_bitmap_cache() if the only change is _NEW_PACKUNPACK state

16 years agogallium: disable a debug hack
Brian [Fri, 28 Mar 2008 20:56:05 +0000 (14:56 -0600)]
gallium: disable a debug hack

16 years agogallium: implement a glBitmap cache
Brian [Fri, 28 Mar 2008 20:53:47 +0000 (14:53 -0600)]
gallium: implement a glBitmap cache

The bitmap cache attempts to accumulate a series of glBitmap calls in a
buffer to effectively render a whole bunch of bitmaps at once.

The cache can be disabled, if needed, by setting UseBitmapCache=GL_FALSE.

16 years agomesa: fix texture/renderbuffer mix-up in test_attachment_completeness()
Brian Paul [Fri, 28 Mar 2008 19:10:16 +0000 (13:10 -0600)]
mesa: fix texture/renderbuffer mix-up in test_attachment_completeness()

16 years agogallium: re-work texture format selection code
Brian Paul [Fri, 28 Mar 2008 19:09:19 +0000 (13:09 -0600)]
gallium: re-work texture format selection code

Use same code for choosing texture format and renderbuffer format.

16 years agogallium: remove redundant compare bit in sampler state
Roland Scheidegger [Fri, 28 Mar 2008 14:43:00 +0000 (15:43 +0100)]
gallium: remove redundant compare bit in sampler state

16 years agogallium: Bump PIPE_MAX_SAMPLERS to 16.
Michal Krol [Fri, 28 Mar 2008 11:31:35 +0000 (12:31 +0100)]
gallium: Bump PIPE_MAX_SAMPLERS to 16.

We need it to fulfil D3D minimum requirements.

16 years agoIf visual is 32bpp, set visual->alphaBits = 8.
Brian [Fri, 28 Mar 2008 03:11:45 +0000 (21:11 -0600)]
If visual is 32bpp, set visual->alphaBits = 8.

This works since we always use XImages for color buffers.  It wouldn't always
work for Windows/Pixmaps.

16 years agogallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBS
Brian [Thu, 27 Mar 2008 23:41:55 +0000 (17:41 -0600)]
gallium: replace PIPE_ATTRIB_MAX with PIPE_MAX_ATTRIBS

The later follows the naming scheme of other limits.
Keep the old definition until all possible usage is updated.

16 years agogallium: updated/improved comments, minor re-formatting
Brian Paul [Thu, 27 Mar 2008 23:18:25 +0000 (17:18 -0600)]
gallium: updated/improved comments, minor re-formatting

16 years agoconsolidate some parsing functions that were pretty much identical for vertex/fragmen...
Brian [Thu, 27 Mar 2008 22:19:46 +0000 (16:19 -0600)]
consolidate some parsing functions that were pretty much identical for vertex/fragment programs

cherry-picked from master

16 years agomesa: misc sync-up with master
Brian [Thu, 27 Mar 2008 22:05:40 +0000 (16:05 -0600)]
mesa: misc sync-up with master

16 years agoraise GL_INVALID_OPERATION if glProgramString compilation fails
Brian [Thu, 27 Mar 2008 22:04:20 +0000 (16:04 -0600)]
raise GL_INVALID_OPERATION if glProgramString compilation fails

cherry-picked from master

16 years agoFix the compile of disabled DEBUG_PARSING code.
Brian [Thu, 27 Mar 2008 21:54:44 +0000 (15:54 -0600)]
Fix the compile of disabled DEBUG_PARSING code.

cherry-picked from master

16 years agomake sure state token values are fully initialized
Brian [Thu, 27 Mar 2008 21:52:00 +0000 (15:52 -0600)]
make sure state token values are fully initialized

cherry-picked from master

16 years agoadded program_error2() function for better error reporting
Brian [Thu, 27 Mar 2008 21:51:07 +0000 (15:51 -0600)]
added program_error2() function for better error reporting

cherry-picked from master