mesa.git
19 years agocheck for ctx==NULL, bug 4087
Brian Paul [Tue, 15 Nov 2005 14:50:55 +0000 (14:50 +0000)]
check for ctx==NULL, bug 4087

19 years agoFix problem in stencil_and_ztest_span() when using h/w stencil buffer.
Brian Paul [Tue, 15 Nov 2005 04:01:29 +0000 (04:01 +0000)]
Fix problem in stencil_and_ztest_span() when using h/w stencil buffer.
Fix a comment typo.
Remove some unneeded #includes.

19 years agoTwo subtle things missed on the previous commit.
Ian Romanick [Tue, 15 Nov 2005 01:55:46 +0000 (01:55 +0000)]
Two subtle things missed on the previous commit.

19 years agoAdd the ability for interleave to test passing invalid format enums
Ian Romanick [Tue, 15 Nov 2005 01:46:49 +0000 (01:46 +0000)]
Add the ability for interleave to test passing invalid format enums
and invalid stride values (see bugzilla #5058).

19 years agoSimple test of glInterleavedArrays functionality.
Ian Romanick [Mon, 14 Nov 2005 23:31:05 +0000 (23:31 +0000)]
Simple test of glInterleavedArrays functionality.

19 years agoremove unneeded RasterPosValid check
Brian Paul [Mon, 14 Nov 2005 18:23:56 +0000 (18:23 +0000)]
remove unneeded RasterPosValid check

19 years agoImprove _mesa_print_program().
Brian Paul [Sat, 12 Nov 2005 23:25:49 +0000 (23:25 +0000)]
Improve _mesa_print_program().
Added make_state_string() to produce a string from a GL state vector.

19 years agofix comment for TexSrcTarget
Brian Paul [Sat, 12 Nov 2005 23:24:32 +0000 (23:24 +0000)]
fix comment for TexSrcTarget

19 years agoAdded _mesa_light() helper function so we can avoid transforming then
Brian Paul [Sat, 12 Nov 2005 18:58:12 +0000 (18:58 +0000)]
Added _mesa_light() helper function so we can avoid transforming then
un-transforming light positions and spot directions when popping light
state off the attribute stack.

19 years agoAdded OSMesaColorClamp(), bug 4917
Brian Paul [Sat, 12 Nov 2005 18:44:29 +0000 (18:44 +0000)]
Added OSMesaColorClamp(), bug 4917

19 years agoupdate an assertion
Brian Paul [Sat, 12 Nov 2005 17:59:05 +0000 (17:59 +0000)]
update an assertion

19 years agoupdate some assertions
Brian Paul [Sat, 12 Nov 2005 17:56:18 +0000 (17:56 +0000)]
update some assertions

19 years agoMove stuff common to vertex/fragment_program into the base class, including:
Brian Paul [Sat, 12 Nov 2005 17:53:14 +0000 (17:53 +0000)]
Move stuff common to vertex/fragment_program into the base class, including:
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().

19 years agoMake _mesa_is_proxy_texture() non-static and use in a few more places.
Brian Paul [Fri, 11 Nov 2005 15:33:36 +0000 (15:33 +0000)]
Make _mesa_is_proxy_texture() non-static and use in a few more places.
Use COPY_4FV() where possible.
Added some comments, clean-ups.

19 years agoSupport for "fragment program to C" and TCC has been removed from the
Ian Romanick [Thu, 10 Nov 2005 16:25:37 +0000 (16:25 +0000)]
Support for "fragment program to C" and TCC has been removed from the
source code, so there is no reason for this config to exist.  This
fixes fdo bugzilla #5004.

19 years agos/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some comments
Brian Paul [Thu, 10 Nov 2005 16:22:56 +0000 (16:22 +0000)]
s/MAX_LIGHTS/ctx->Const.MaxLights/ and spruce up some comments

19 years agofix popping of GL_SPOT_DIRECTION (bug 5005)
Brian Paul [Thu, 10 Nov 2005 16:19:44 +0000 (16:19 +0000)]
fix popping of GL_SPOT_DIRECTION (bug 5005)

19 years agoremove -DMESA_DEBUG
Brian Paul [Thu, 10 Nov 2005 05:10:49 +0000 (05:10 +0000)]
remove -DMESA_DEBUG

19 years agoMove code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).
Brian Paul [Thu, 10 Nov 2005 05:10:25 +0000 (05:10 +0000)]
Move code to enable FP exceptions into debug.c (set MESA_DEBUG=fpexceptions).
Get rid of MESA_DEBUG preprocessor symbol, just use DEBUG instead.

19 years agofix popping of GL_EYE_PLANE state (bug 4996)
Brian Paul [Wed, 9 Nov 2005 16:52:21 +0000 (16:52 +0000)]
fix popping of GL_EYE_PLANE state (bug 4996)

19 years agoBug 4996.
Brian Paul [Wed, 9 Nov 2005 16:30:50 +0000 (16:30 +0000)]
Bug 4996.
Replace use of FLOAT_TO_USHORT with either CLAMPED_FLOAT_TO_USHORT or
UNCLAMPED_FLOAT_TO_USHORT.  Same should be done for UBYTE, UINT, etc.

19 years agouse UNCLAMPED_FLOAT_TO_USHORT/UBYTE in clear_rgba_buffer() (bug #4992)
Brian Paul [Wed, 9 Nov 2005 01:17:33 +0000 (01:17 +0000)]
use UNCLAMPED_FLOAT_TO_USHORT/UBYTE in clear_rgba_buffer() (bug #4992)

19 years agoMove COPY_FLOAT() macro down into glide driver.
Brian Paul [Wed, 9 Nov 2005 00:56:51 +0000 (00:56 +0000)]
Move COPY_FLOAT() macro down into glide driver.
Rewrite COPY_4FV() macro to not use COPY_FLOAT(), and use integer moves as
originally intended.

19 years agoAt keithw's request, remove all traces of the "fragment program to C" and
Ian Romanick [Tue, 8 Nov 2005 22:54:22 +0000 (22:54 +0000)]
At keithw's request, remove all traces of the "fragment program to C" and
TCC experiment.

19 years agoThis patch adds the missing NV_vertex_program2 and NV_vertex_program3
Ian Romanick [Tue, 8 Nov 2005 22:40:26 +0000 (22:40 +0000)]
This patch adds the missing NV_vertex_program2 and NV_vertex_program3
instructions to the various internal tables.  It does not add support for
them to the parser nor does it add support for them to the program
interpreter.

It also corrects some errors in the comments in program_instruction.h.

This patch breaks the instruction union in t_vb_arbprogram.h.  The opcode
field in that union was only 6 bits.  When there were only 59+3 instructions
that worked fine. However, this patch increases the base instruction count
to 69.  This requires 7 bits.  The problem is that increasing the opcode
width to 7 bits increases the size of instruction::rsw to 33 bits.  I've
increased the size of the union to 64-bit, but this is just a temporary hack
(and probably breaks the build on some systems).

19 years agos/_mesa_debug_fp_inst/_mesa_print_program/
Brian Paul [Tue, 8 Nov 2005 14:53:24 +0000 (14:53 +0000)]
s/_mesa_debug_fp_inst/_mesa_print_program/

19 years agoremove _mesa_debug_fp_inst()
Brian Paul [Tue, 8 Nov 2005 14:52:51 +0000 (14:52 +0000)]
remove _mesa_debug_fp_inst()

19 years agosome initial work on upcoming GL_EXT_framebuffer_blit extension
Brian Paul [Tue, 8 Nov 2005 14:45:48 +0000 (14:45 +0000)]
some initial work on upcoming GL_EXT_framebuffer_blit extension

19 years agoremove a bunch of extension stuff that's in glxext.h
Brian Paul [Tue, 8 Nov 2005 14:44:07 +0000 (14:44 +0000)]
remove a bunch of extension stuff that's in glxext.h

19 years agominor work in _mesa_print_program()
Brian Paul [Tue, 8 Nov 2005 14:42:52 +0000 (14:42 +0000)]
minor work in _mesa_print_program()

19 years agoremove unneeded #includes
Brian Paul [Tue, 8 Nov 2005 14:41:41 +0000 (14:41 +0000)]
remove unneeded #includes

19 years agoremove unneeded #includes
Brian Paul [Mon, 7 Nov 2005 17:36:34 +0000 (17:36 +0000)]
remove unneeded #includes

19 years agos/_mesa_debug_fp_inst/_mesa_print_program/
Brian Paul [Mon, 7 Nov 2005 16:03:46 +0000 (16:03 +0000)]
s/_mesa_debug_fp_inst/_mesa_print_program/

19 years agos/_mesa_debug_vp_inst/_mesa_print_program/
Brian Paul [Sat, 5 Nov 2005 20:18:51 +0000 (20:18 +0000)]
s/_mesa_debug_vp_inst/_mesa_print_program/

19 years agoconsolidate vertex/fragment program printing into _mesa_print_program()
Brian Paul [Sat, 5 Nov 2005 20:18:18 +0000 (20:18 +0000)]
consolidate vertex/fragment program printing into _mesa_print_program()

19 years agouse _mesa_program_file_string() and _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:33:13 +0000 (19:33 +0000)]
use _mesa_program_file_string() and _mesa_opcode_string()

19 years agoadded _mesa_program_file_string()
Brian Paul [Sat, 5 Nov 2005 19:32:36 +0000 (19:32 +0000)]
added _mesa_program_file_string()

19 years agoUse _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:24:08 +0000 (19:24 +0000)]
Use _mesa_opcode_string()

19 years agouse _mesa_num_inst_src_regs() and _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:16:19 +0000 (19:16 +0000)]
use _mesa_num_inst_src_regs() and _mesa_opcode_string()

19 years agouse _mesa_num_inst_src_regs() instead of nr_args()
Brian Paul [Sat, 5 Nov 2005 19:15:27 +0000 (19:15 +0000)]
use _mesa_num_inst_src_regs() instead of nr_args()

19 years agoadded _mesa_num_inst_src_regs() and _mesa_opcode_string()
Brian Paul [Sat, 5 Nov 2005 19:12:36 +0000 (19:12 +0000)]
added _mesa_num_inst_src_regs() and _mesa_opcode_string()

19 years agos/Negate/NegateBase/
Brian Paul [Sat, 5 Nov 2005 17:23:45 +0000 (17:23 +0000)]
s/Negate/NegateBase/

19 years agos/TexSrcIdx/TexSrcTarget/
Brian Paul [Sat, 5 Nov 2005 17:18:09 +0000 (17:18 +0000)]
s/TexSrcIdx/TexSrcTarget/

19 years agoUnify vertex/fragment program instuctions.
Brian Paul [Sat, 5 Nov 2005 17:10:45 +0000 (17:10 +0000)]
Unify vertex/fragment program instuctions.
Based on patch by Ian (#4967) but also unify instruction opcodes.

19 years agoremove unneeded #includes
Brian Paul [Sat, 5 Nov 2005 17:08:50 +0000 (17:08 +0000)]
remove unneeded #includes

19 years agoremove unneeded #include
Brian Paul [Sat, 5 Nov 2005 17:07:00 +0000 (17:07 +0000)]
remove unneeded #include

19 years agoFix broken build.
Aapo Tahkola [Sat, 5 Nov 2005 14:49:26 +0000 (14:49 +0000)]
Fix broken build.

19 years agoadded MESA_GLX_ALPHA_BITS env var
Brian Paul [Sat, 5 Nov 2005 03:12:06 +0000 (03:12 +0000)]
added MESA_GLX_ALPHA_BITS env var

19 years agodon't need MAKE_SWIZZLE() macro
Brian Paul [Sat, 5 Nov 2005 03:02:28 +0000 (03:02 +0000)]
don't need MAKE_SWIZZLE() macro

19 years agoReplace parameter_type enum in program.[ch], use register_file enums instead.
Brian Paul [Sat, 5 Nov 2005 02:15:21 +0000 (02:15 +0000)]
Replace parameter_type enum in program.[ch], use register_file enums instead.

19 years agominor improvements in _mesa_init_teximage_fields()
Brian Paul [Sat, 5 Nov 2005 02:12:44 +0000 (02:12 +0000)]
minor improvements in _mesa_init_teximage_fields()

19 years agouse VERT_RESULT_HPOS, VERT_BIT_POS tokens
Brian Paul [Fri, 4 Nov 2005 16:52:41 +0000 (16:52 +0000)]
use VERT_RESULT_HPOS, VERT_BIT_POS tokens

19 years agobetter ffs() function (bug 4956)
Brian Paul [Fri, 4 Nov 2005 16:47:22 +0000 (16:47 +0000)]
better ffs() function (bug 4956)

19 years agojust pass ctx to do_ndc_cliptest() rather than stuffing it in the arb_vp_machine...
Brian Paul [Fri, 4 Nov 2005 16:43:28 +0000 (16:43 +0000)]
just pass ctx to do_ndc_cliptest() rather than stuffing it in the arb_vp_machine struct

19 years agoMESA_GLX_ALPHA_BITS env var to force visual with alpha channel
Brian Paul [Fri, 4 Nov 2005 16:41:06 +0000 (16:41 +0000)]
MESA_GLX_ALPHA_BITS env var to force visual with alpha channel

19 years agoremove unneeded HIDDEN definition (bug 4956)
Brian Paul [Fri, 4 Nov 2005 00:58:17 +0000 (00:58 +0000)]
remove unneeded HIDDEN definition (bug 4956)

19 years agofix MinGW problems (bug 4956)
Brian Paul [Fri, 4 Nov 2005 00:52:08 +0000 (00:52 +0000)]
fix MinGW problems (bug 4956)

19 years agos/dri.sourceforge.net/dri.freedesktop.org/
Adam Jackson [Thu, 3 Nov 2005 20:49:07 +0000 (20:49 +0000)]
s/dri.sourceforge.net/dri.freedesktop.org/

19 years agoStreamline code generation by using a fixed size instruction buffer in
Brian Paul [Thu, 3 Nov 2005 03:30:34 +0000 (03:30 +0000)]
Streamline code generation by using a fixed size instruction buffer in
arb_program struct.

19 years agouse WRITEMASK_* tokens
Brian Paul [Thu, 3 Nov 2005 02:35:15 +0000 (02:35 +0000)]
use WRITEMASK_* tokens

19 years agos/15/VERT_RESULT_MAX/
Brian Paul [Thu, 3 Nov 2005 02:28:47 +0000 (02:28 +0000)]
s/15/VERT_RESULT_MAX/

19 years agoadded a const, clean-up
Brian Paul [Thu, 3 Nov 2005 02:26:47 +0000 (02:26 +0000)]
added a const, clean-up

19 years agofix typo, minor clean-ups
Brian Paul [Thu, 3 Nov 2005 02:25:10 +0000 (02:25 +0000)]
fix typo, minor clean-ups

19 years agoadded osdemos/ dir to DEMO_FILES
Brian Paul [Wed, 2 Nov 2005 21:01:26 +0000 (21:01 +0000)]
added osdemos/ dir to DEMO_FILES

19 years agoimplement USE_MGL_NAMESPACE for x86-64 dispatch code (Mark Bolstad)
Brian Paul [Wed, 2 Nov 2005 20:59:37 +0000 (20:59 +0000)]
implement USE_MGL_NAMESPACE for x86-64 dispatch code (Mark Bolstad)

19 years agoRename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program convention
Brian Paul [Wed, 2 Nov 2005 18:06:12 +0000 (18:06 +0000)]
Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program convention

19 years ago Committing in .
Jouk Jansen [Wed, 2 Nov 2005 15:24:14 +0000 (15:24 +0000)]
 Committing in .

 Updated OpenVMS compile support (define tnl for include files)
 Modified Files:
  Mesa/src/mesa/drivers/common/descrip.mms
 ----------------------------------------------------------------------

19 years agoUse ctx->VertexProgram._Current .
Aapo Tahkola [Wed, 2 Nov 2005 14:12:52 +0000 (14:12 +0000)]
Use ctx->VertexProgram._Current .

19 years agoRemove some ghost code and adjust things a bit.
Aapo Tahkola [Wed, 2 Nov 2005 14:07:03 +0000 (14:07 +0000)]
Remove some ghost code and adjust things a bit.

19 years agoMore useful ARL test
Keith Whitwell [Wed, 2 Nov 2005 12:58:38 +0000 (12:58 +0000)]
More useful ARL test

19 years agoFirst step of Radeon DRI unification:
Eric Anholt [Wed, 2 Nov 2005 01:15:07 +0000 (01:15 +0000)]
First step of Radeon DRI unification:
- Makes all three drivers use the same screen structure and setup code, with a
  few ifdefs for the separate compilation to deal with symbols not being
  available to all drivers and the fact that we have no mechanism for dealing
  with different config options for different chip families in the same driver.
  These issues should be dealt with later.
- Introduces IS_R[123]00_CLASS(radeonScreenPtr) macro for code for taking
  different paths depending on the general class of chipset.
- Adds many new R300-class PCI IDs, though not all those listed in
  radeon_driver.c.

19 years agoadd an arl test
Keith Whitwell [Tue, 1 Nov 2005 20:29:59 +0000 (20:29 +0000)]
add an arl test

19 years agoFix broken tnl stage.
Aapo Tahkola [Tue, 1 Nov 2005 18:12:58 +0000 (18:12 +0000)]
Fix broken tnl stage.

19 years agoAdd a NotifyInputChanges() callback so that drivers (particularly tnl
Keith Whitwell [Tue, 1 Nov 2005 17:29:46 +0000 (17:29 +0000)]
Add a NotifyInputChanges() callback so that drivers (particularly tnl
drivers) can track when the sizes or strides of incoming VB->AttribPtr
arrays have changed.

19 years agoSeveral fp and vp tweaks:
Keith Whitwell [Tue, 1 Nov 2005 17:25:49 +0000 (17:25 +0000)]
Several fp and vp tweaks:

- Renumber VERT_RESULT_* values so that they match the
  numbers of the corresponding FRAG_ATTRIB_ values.

        - Add ctx->VertexProgram._Current and FragmentProgram._Current
  values which point to either the current client-supplied
  program if enabled, or otherwise to the current mesa-internal
  program.  Thus this program is always the correct one for
  the current state, providing that the mesa flags to turn on
  automatic generation are enabled.

- Add callbacks to ctx->Driver.BindProgram() in texenvprogram.c
  and t_vp_build.c so that the driver knows when the generated
  program changes.  This is cleaner than trying to code all the
  possible _NEW_* flags into the driver, and more precise as well.

- Add a UsesKill flag to identify fragment programs with that
  instruction, as these can require special treatment.

- Move the FRAG_OUTPUT values to mtypes.h, near to similar defn's.

19 years agoRe-enable fallbacks.
Aapo Tahkola [Tue, 1 Nov 2005 16:59:13 +0000 (16:59 +0000)]
Re-enable fallbacks.

19 years ago-Fix first frame -bug
Aapo Tahkola [Tue, 1 Nov 2005 15:52:08 +0000 (15:52 +0000)]
-Fix first frame -bug
-Use 16-bit elts in vtxfmt_a path if possible
-Optimize VSF param uploading
-return in r300DepthMask looks suspicious, use r300Enable instead
-Dont use r300ResetHwState in invalidate state(disabled, missing hooks, possible instabilities)

19 years agoFix segmentation fault in _tnl_ProgramCacheDestroy().
Aapo Tahkola [Tue, 1 Nov 2005 15:43:06 +0000 (15:43 +0000)]
Fix segmentation fault in _tnl_ProgramCacheDestroy().

19 years agoMake colors match the fp tests (really)
Keith Whitwell [Tue, 1 Nov 2005 12:22:48 +0000 (12:22 +0000)]
Make colors match the fp tests (really)

19 years agoMake colors match the fp tests
Keith Whitwell [Tue, 1 Nov 2005 12:20:13 +0000 (12:20 +0000)]
Make colors match the fp tests

19 years agostandalone tests for vp instructions
Keith Whitwell [Tue, 1 Nov 2005 06:28:39 +0000 (06:28 +0000)]
standalone tests for vp instructions

19 years agoRe-org and clean-up of vertx/fragment program limits (instructions,
Brian Paul [Tue, 1 Nov 2005 04:36:33 +0000 (04:36 +0000)]
Re-org and clean-up of vertx/fragment program limits (instructions,
temporaries, parameters, etc).
glGetProgramivARB() now returns all the right things.
Updated i915 and r300 code to initialize program native limits and
current program's native instruction/temporary/etc counts.

19 years agofix problems found with gcc 2.96 (bug 4934)
Brian Paul [Mon, 31 Oct 2005 21:52:56 +0000 (21:52 +0000)]
fix problems found with gcc 2.96 (bug 4934)

19 years agocheck swrast->_FogEnabled instead of ctx->Fog.Enabled
Brian Paul [Mon, 31 Oct 2005 19:46:55 +0000 (19:46 +0000)]
check swrast->_FogEnabled instead of ctx->Fog.Enabled

19 years agoNeed more than 200 instructions.
Aapo Tahkola [Mon, 31 Oct 2005 14:37:33 +0000 (14:37 +0000)]
Need more than 200 instructions.

19 years agoImprove tnl program searching performance.
Aapo Tahkola [Mon, 31 Oct 2005 14:34:32 +0000 (14:34 +0000)]
Improve tnl program searching performance.

19 years agoSimplify parse_attrib_binding().
Brian Paul [Sun, 30 Oct 2005 21:46:00 +0000 (21:46 +0000)]
Simplify parse_attrib_binding().
Now only use VERT_ATTRIB_* and FRAG_ATTRIB_* tokens instead of
hard-coded numbers.
Note: previous check-in did similarly for output register parsing.

19 years agoLots of clean-up in arb program parser.
Brian Paul [Sun, 30 Oct 2005 21:23:23 +0000 (21:23 +0000)]
Lots of clean-up in arb program parser.
Use new _mesa_init_fp/vp_instruction() function to initialize instructions.

19 years agoneed to use absolute value for RSQ
Brian Paul [Sun, 30 Oct 2005 16:52:02 +0000 (16:52 +0000)]
need to use absolute value for RSQ

19 years agoadded some assertions to catch unexpected swizzle values in cvp_emit_arg(), currently...
Brian Paul [Sat, 29 Oct 2005 18:29:54 +0000 (18:29 +0000)]
added some assertions to catch unexpected swizzle values in cvp_emit_arg(), currently fails sometimes

19 years agoUse MAKE_SWIZZLE4() macro in a few more places.
Brian Paul [Sat, 29 Oct 2005 18:26:43 +0000 (18:26 +0000)]
Use MAKE_SWIZZLE4() macro in a few more places.
Clean up the parse_extended_swizzle_mask() and parse_swizzle_mask() functions.

19 years agoreduced swizzle comment
Brian Paul [Sat, 29 Oct 2005 18:18:46 +0000 (18:18 +0000)]
reduced swizzle comment

19 years agoFree old parameter list before assigning new one. FIxes memory leak.
Brian Paul [Sat, 29 Oct 2005 17:07:09 +0000 (17:07 +0000)]
Free old parameter list before assigning new one.  FIxes memory leak.

19 years agoadded warning about use of REG_SCRATCH
Brian Paul [Sat, 29 Oct 2005 16:51:34 +0000 (16:51 +0000)]
added warning about use of REG_SCRATCH

19 years agoclean-up comments
Brian Paul [Sat, 29 Oct 2005 16:17:01 +0000 (16:17 +0000)]
clean-up comments

19 years agos/lenght/length/
Brian Paul [Sat, 29 Oct 2005 16:15:47 +0000 (16:15 +0000)]
s/lenght/length/

19 years agofix LIT bug
Brian Paul [Sat, 29 Oct 2005 16:05:18 +0000 (16:05 +0000)]
fix LIT bug

19 years agofix a few bugs in SWZ execution
Brian Paul [Sat, 29 Oct 2005 16:03:19 +0000 (16:03 +0000)]
fix a few bugs in SWZ execution

19 years agofix errors in RoughApproxPower(), do_LIT(), _tnl_program_string()
Brian Paul [Sat, 29 Oct 2005 15:56:53 +0000 (15:56 +0000)]
fix errors in RoughApproxPower(), do_LIT(), _tnl_program_string()

19 years agoIf parsing a program fails, don't change the vertex/fragment program object.
Brian Paul [Sat, 29 Oct 2005 15:52:31 +0000 (15:52 +0000)]
If parsing a program fails, don't change the vertex/fragment program object.
Specifically, don't attach a dummy program.
This change also fixes an occasional segfault.
Some code clean-ups.  Use GLboolean instead of GLuint to return pass/fail.