summaryrefslogtreecommitdiff
path: root/src/mesa/shader/program_parse.y
AgeCommit message (Collapse)Author
2009-11-06ARB prog parser: Release old program string in ↵Ian Romanick
_mesa_parse_arb_{fragment,vertex}_program The program structure passed to _mesa_parse_arb_program is just a place holder. The stings that actually need to be released are only known to the functions calling _mesa_parse_arb_program, so they should be freed there.
2009-11-06ARB prog parser: Release strings returned from the lexer that don't need to ↵Ian Romanick
be kept
2009-11-06Revert "ARB prog parser: Fix epic memory leak in lexer / parser interface"Ian Romanick
This reverts commit 93dae6761bc90bbd43b450d2673620ec189b2c7a. This change was completely broken when the parser uses multiple strings in a single production. It would be nice if bug fixes could initially land somewhere other than the stable branch.
2009-10-27ARB prog parser: Fix epic memory leak in lexer / parser interfaceIan Romanick
Anything that matched IDENTIFIER was strdup'ed and returned to the parser. However, almost every case of IDENTIFIER in the parser just dropped the returned string on the floor. Every swizzle string, every option string, every use of a variable, etc. leaked memory. Create a temporary buffer in the parser state (string_dumpster and dumpster_size). Return strings from the lexer to the parser in the buffer. Grow the buffer as needed. When the parser needs to keep a string (i.e., delcaring a new variable), let it make a copy then. The only leak that valgrind now detects is /occasionally/ the copy of the program string in gl_program::String is leaked. I'm not seeing how. :(
2009-10-27ARB prog parser: Don't leak program stringIan Romanick
The program string is kept in the program object. On the second call into glProgramStringARB the previous kept string would be leaked.
2009-10-22ARB prog parser: Fix parameter array size comparisonIan Romanick
Array indexes are invalid when >= the maximum, but array sizes are only in valid when > the maximum. This prevented programs from declaring a single maximum size array. See the piglit vp-max-array test.
2009-09-04ARB prog: replace 'unsigned' with 'gl_state_index'Brian Paul
Fixes compilation warnings with MSVC.
2009-09-04ARB prog: rename POINT, SIZE to POINT_TOK, SIZE_TOKBrian Paul
Fixes symbol collisions with typedefs in Microsoft headers. Perhaps we should prefix/suffix all the lexer tokens to avoid this.
2009-09-01ARB prog parser: Fix handling of stateOptModMatNumIan Romanick
The optional array index should clearly be enclosed in square brackets. This helps the oglconform test vp_binding.c get a bit farther, but it still fails.
2009-08-24ARB prog parser: use correct context limitsBrian Paul
2009-08-20ARB prog parser: Revert part of previous change to constant parsingIan Romanick
The commit "ARP prog parser: Implement the spec, not what makes sense" broke the parsing of scalar constants. This commit reverts that part of that commit. Now vp_swizzle.c passes.
2009-07-30ARB prog parser: Add support for RGBA components to SWZ instruction in fpIan Romanick
2009-07-30ARB prog parser: Prevent NULL ptr deref for KIL instructionIan Romanick
The KIL instruction doesn't have a destination register, so dereferencing dst in asm_instruction_ctor would cause a segfault.
2009-07-29ARP prog parser: Implement the spec, not what makes senseIan Romanick
2009-07-29ARB prog parser: Get program limits from the contextIan Romanick
Some debug code from the older stand-alone version of the assembler was hanging around and needed to go.
2009-07-29ARB prog parser: Finish implementing fp state.depth.rangeIan Romanick
2009-07-29Indentation fixes.Ian Romanick
2009-07-29ARB prog parser: Set NumAttributes based on the number of attribs readIan Romanick
2009-07-28ARB prog parser: Set component negation mask for SWZ instructionIan Romanick
2009-07-28ARB prog parser: Set correct register file for OUTPUT variablesIan Romanick
2009-07-27ARB prog parser: Add support for GL_MESA_texture_arrayIan Romanick
This isn't really tested yet as no drivers actually support this extension.
2009-07-27ARB prog parser: More robust error message for bad OPTION stringIan Romanick
2009-07-27ARB prog parser: Add support for GL_ARB_fragment_program_shadowIan Romanick
Passes the piglit asmparsertest shadow-0[123].txt tests and progs/demos/shadowtex.
2009-07-27ARB prog parser: Fix handling of RECTIan Romanick
Require that GL_{ARB,EXT,NV}_texture_rectangle be supported before allowing use of RECT texture target.
2009-07-27ARB prog parser: Correct handling of some extensions that interact w/ARB_vpIan Romanick
2009-07-27ARB prog: Clean up several memory leaksIan Romanick
As far as I am able to determine via code inspection and using Valgrind, that should be all of the leaks in the parser.
2009-07-24ARB prog parse: Fix cut-and-paste error for constant vectorsIan Romanick
2009-07-22parser: Clean up a bunch of silly compiler warningsIan Romanick
2009-07-22parser: Track a few more frag prog related valuesIan Romanick
2009-07-22parser: Ensure that param_binding_type is set correctlyIan Romanick
2009-07-22parser: Set NumParametersIan Romanick
2009-07-22parser: Clean up generation of error strings during assemblyIan Romanick
2009-07-22parser: Initialize unused instruction source registersIan Romanick
The 965 driver expects unused source registers (e.g., SrcReg[2] of a DP3 instruction) to have a register file of PROGRAM_UNDEFINED. Initializing these source registers ensures that this happens.
2009-07-22parser: Anonymous constants come from the PROGRAM_CONSTANT fileIan Romanick
2009-07-20ARB_fp/vp: Initial import of new ARB vp/fp assemblerIan Romanick
This still needs quite a bit of work, but a bunch of the programs in progs/vp produce correct results.