Commit graph

36219 commits

Author SHA1 Message Date
Eric Anholt
02fc4b34e4 Avoid using the same ir_constant 0.0 multiple times in mat constructors. 2010-06-23 15:20:29 -07:00
Kenneth Graunke
bc1097d151 glcpp: Support line continuations within preprocessor directives.
Fixes CorrectPreprocess5.frag.
2010-06-23 14:14:57 -07:00
Kenneth Graunke
186e2634bf glcpp: Make standalone binary use preprocess().
This prevents the two code paths from getting out of sync.  Also, future
work will need the shader source as a string anyway.

Unfortunately, this copies and pastes load_text_file from main.cpp, with
small changes (support for reading from stdin, talloc).
2010-06-23 14:14:57 -07:00
Kenneth Graunke
12a820c9d8 glcpp: Fix "dangerous trailing context" warning.
Flex couldn't be sure whether "def" and "ndef" were part of the #ifdef
and #ifndef patterns or the trailing context of the #if pattern.
2010-06-23 14:14:57 -07:00
Kenneth Graunke
d07bb7b83a Remove comment support from the main lexer.
Now handled by the preprocessor.
2010-06-23 14:14:57 -07:00
Kenneth Graunke
e6ae7afc0c glcpp: Recognize plain "//" as a comment.
Found in glsl-orangebook-ch06-bump.(frag|vert).  This was resulting in
the comments getting passed through to the main compiler's lexer.
2010-06-23 14:14:57 -07:00
Ian Romanick
fa455fc2a5 Generate errors for empty constructors instead of asserting
This causes the following tests to pass:

     glslparsertest/glsl2/constructor-10.vert
2010-06-23 13:58:34 -07:00
Ian Romanick
3ed850e91c linker: Update some comments, remove a couple FINISHMEs 2010-06-23 12:18:21 -07:00
Ian Romanick
553dcdcaaf linker: Use InfoLog in assign_attribute_locations
Since the program is now passed in, refactor the parameter list to the
function as well.
2010-06-23 12:14:02 -07:00
Ian Romanick
ed1fe3db3b linker: Refactor parameters to cross_validate_uniforms 2010-06-23 12:09:14 -07:00
Ian Romanick
f36460e1a7 linker: Write errors to info log instead of stdout 2010-06-23 12:07:22 -07:00
Ian Romanick
0e59b2698a linker: Initial implementation of varying slot allocation 2010-06-23 11:24:26 -07:00
Ian Romanick
9342d269a4 linker: Limit attribute allocation to MAX_VERTEX_ATTRIBS 2010-06-23 11:24:26 -07:00
Ian Romanick
6984670f97 linker: Support matrix and array vertex inputs 2010-06-23 11:24:26 -07:00
Ian Romanick
0ad22cd1ce linker: Initial implementation of attribute slot allocation 2010-06-23 11:24:26 -07:00
Ian Romanick
a8ca9cbc69 Import some bits Mesa's mtypes.h 2010-06-23 11:24:26 -07:00
Ian Romanick
4485c5ae78 Import gl_program_parameter and gl_program_parameter_list types from Mesa 2010-06-23 11:24:26 -07:00
Ian Romanick
abee16e8cb linker: Store the par-linked per-stage shaders in the glsl_program 2010-06-23 11:24:26 -07:00
Ian Romanick
019a59b264 linker: Initial implementation of uniform slot allocation 2010-06-23 11:24:21 -07:00
Ian Romanick
5edf6f98d8 Import gl_uniform and gl_uniform_list types from Mesa 2010-06-23 10:56:04 -07:00
Ian Romanick
8b80e9f9e3 ir_variable: Add query to get number of slots used by a variable 2010-06-23 10:56:04 -07:00
Ian Romanick
57bb893a46 glsl_type: Add method to get number of slots used by a type 2010-06-23 10:56:04 -07:00
Ian Romanick
13e10e43c3 linker: Document what remains to be done 2010-06-23 10:56:04 -07:00
Ian Romanick
ed0626ebc7 ir_variable: Set locations for shader built-in variables 2010-06-23 10:56:03 -07:00
Ian Romanick
69a079aee8 ir_variable: Track the location of uniforms, varings, attributes, etc. 2010-06-23 10:56:03 -07:00
Ian Romanick
371019248e linker: Initial implementation of interstage input / output validation 2010-06-23 10:56:03 -07:00
Ian Romanick
950ceb2bd6 ir_variable: Add method to get string representing interpolation qualifier 2010-06-23 10:56:03 -07:00
Ian Romanick
cc22c5a544 linker: Initial implementation of interstage uniform validation 2010-06-23 10:56:03 -07:00
Ian Romanick
1e8b7a714e ir_constant: Add method to determine if two constants have the same value 2010-06-23 10:56:03 -07:00
Eric Anholt
53e48d3f63 Fix multiple usage of an rvalue in constructor component splitting.
Store the thing in a variable and deref it for each swizzle if we have to.

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-06-23 10:55:25 -07:00
Ian Romanick
865cf2d1f5 ir_validate: Use callback functionality in ir_hierarchical_visitor 2010-06-23 09:25:33 -07:00
Ian Romanick
7c09576a97 ir_hierarchical_visitor: Add generic callback functionality 2010-06-23 09:25:28 -07:00
Eric Anholt
53cdb7e51d ir_validate: New pass for checking our invariants. 2010-06-22 18:18:30 -07:00
Eric Anholt
e46a454305 ir: Give ir_instruction a print visitor helper.
This avoids spamming each file with includes of ir_print_visitor.h
because someone was doing debugging at some point, and is less typing
when doing debugging.
2010-06-22 18:18:30 -07:00
Eric Anholt
216580dbd7 Hook up texturing in the hierarchical visitor. 2010-06-22 18:18:30 -07:00
Eric Anholt
ac95f2f8c8 Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL. 2010-06-22 12:30:55 -07:00
Ian Romanick
b302359394 Add missing build products to gitignore 2010-06-22 12:24:42 -07:00
Zack Rusin
b5e381d978 llvmpipe: make geometry shaders and stream output work 2010-06-22 12:58:04 -04:00
Zack Rusin
e433b73dd2 gallium: add a timestamp disjoint query
allows application to not only request the frequency of the TIME_ELAPSED
clock but also to detect if that frequency was consistent throughout the
entire bracketed range of graphics commands.
2010-06-22 12:58:04 -04:00
Zack Rusin
b6c360b46c gallium: add a new query
to figure out if gpu is finished with all of the previously issues commands
2010-06-22 12:58:04 -04:00
Roland Scheidegger
583f241716 st/mesa: remove bogus assertions st_CompressedTexSubImage2D
width/height may not be a multiple of blocksize (small mip levels / npot
textures). This should be handled just fine.
Fixes #28530.
2010-06-22 13:32:25 +01:00
Marek Olšák
eb7ef433bb r300g: optimize the immediate mode emission path a bit 2010-06-22 06:50:23 +02:00
Marek Olšák
bd52246248 r300g: do not emit ZTOP every draw call 2010-06-22 06:50:22 +02:00
Tim Evans
64e32ffb6e swrast: fix incorrect specular highlights on backfaces
See bug 28577 for details.
NOTE: this is a candidate for the 7.8 branch.

Signed-off-by: Brian Paul <brianp@vmware.com>
2010-06-21 17:19:59 -06:00
Brian Paul
b875c02668 docs: add link to 7.9 relnotes 2010-06-21 17:19:59 -06:00
Marek Olšák
59df6725af r300g: fix crash when destroying the context on r3xx-r4xx
FDO bug #28652,
2010-06-21 23:46:38 +02:00
Kenneth Graunke
1b85c46bcf glcpp: Initialize error state. 2010-06-21 13:55:12 -07:00
Kenneth Graunke
332fc47dc0 glcpp: Accept #elif without an expression if the expression doesn't matter.
Issue a warning.  nVidia's compiler seems to accept this; apparently
GCC < 4.4 did as well: http://gcc.gnu.org/gcc-4.4/porting_to.html
2010-06-21 12:41:05 -07:00
Kenneth Graunke
74704e80c6 glcpp: Print to the main compiler's infolog, not stdout. 2010-06-21 12:41:05 -07:00
Kenneth Graunke
4a2bbdacfc Use yy_scan_string and stop caring about shader->SourceLen.
We had to call strlen on the preprocessed source, which seemed a bit
pointless; also, we updated shader->SourceLen but not shader->Source,
which was even more confusing.  Just leave both untouched.
2010-06-21 12:41:05 -07:00