Eric Anholt
4b6fd39c89
Add a virtual clone() method to ir_instruction.
This will be used by function inlining, the linker, and avoiding double
usage of the LHS deref chains in ++, *=, and similar operations.
15 years ago
Eric Anholt
02fc4b34e4
Avoid using the same ir_constant 0.0 multiple times in mat constructors.
15 years ago
Kenneth Graunke
bc1097d151
glcpp: Support line continuations within preprocessor directives.
Fixes CorrectPreprocess5.frag.
15 years ago
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).
15 years ago
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.
15 years ago
Kenneth Graunke
d07bb7b83a
Remove comment support from the main lexer.
Now handled by the preprocessor.
15 years ago
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.
15 years ago
Ian Romanick
fa455fc2a5
Generate errors for empty constructors instead of asserting
This causes the following tests to pass:
glslparsertest/glsl2/constructor-10.vert
15 years ago
Ian Romanick
3ed850e91c
linker: Update some comments, remove a couple FINISHMEs
15 years ago
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.
15 years ago
Ian Romanick
ed1fe3db3b
linker: Refactor parameters to cross_validate_uniforms
15 years ago
Ian Romanick
f36460e1a7
linker: Write errors to info log instead of stdout
15 years ago
Ian Romanick
0e59b2698a
linker: Initial implementation of varying slot allocation
15 years ago
Ian Romanick
9342d269a4
linker: Limit attribute allocation to MAX_VERTEX_ATTRIBS
15 years ago
Ian Romanick
6984670f97
linker: Support matrix and array vertex inputs
15 years ago
Ian Romanick
0ad22cd1ce
linker: Initial implementation of attribute slot allocation
15 years ago
Ian Romanick
a8ca9cbc69
Import some bits Mesa's mtypes.h
15 years ago
Ian Romanick
4485c5ae78
Import gl_program_parameter and gl_program_parameter_list types from Mesa
15 years ago
Ian Romanick
abee16e8cb
linker: Store the par-linked per-stage shaders in the glsl_program
15 years ago
Ian Romanick
019a59b264
linker: Initial implementation of uniform slot allocation
15 years ago
Ian Romanick
5edf6f98d8
Import gl_uniform and gl_uniform_list types from Mesa
15 years ago
Ian Romanick
8b80e9f9e3
ir_variable: Add query to get number of slots used by a variable
15 years ago
Ian Romanick
57bb893a46
glsl_type: Add method to get number of slots used by a type
15 years ago
Ian Romanick
13e10e43c3
linker: Document what remains to be done
15 years ago
Ian Romanick
ed0626ebc7
ir_variable: Set locations for shader built-in variables
15 years ago
Ian Romanick
69a079aee8
ir_variable: Track the location of uniforms, varings, attributes, etc.
15 years ago
Ian Romanick
371019248e
linker: Initial implementation of interstage input / output validation
15 years ago
Ian Romanick
950ceb2bd6
ir_variable: Add method to get string representing interpolation qualifier
15 years ago
Ian Romanick
cc22c5a544
linker: Initial implementation of interstage uniform validation
15 years ago
Ian Romanick
1e8b7a714e
ir_constant: Add method to determine if two constants have the same value
15 years ago
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>
15 years ago
Ian Romanick
865cf2d1f5
ir_validate: Use callback functionality in ir_hierarchical_visitor
15 years ago
Ian Romanick
7c09576a97
ir_hierarchical_visitor: Add generic callback functionality
15 years ago
Eric Anholt
53cdb7e51d
ir_validate: New pass for checking our invariants.
15 years ago
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.
15 years ago
Eric Anholt
216580dbd7
Hook up texturing in the hierarchical visitor.
15 years ago
Eric Anholt
ac95f2f8c8
Include stdio.h and stdlib.h everywhere, and don't cook our own #define NULL.
15 years ago
Ian Romanick
b302359394
Add missing build products to gitignore
15 years ago
Zack Rusin
b5e381d978
llvmpipe: make geometry shaders and stream output work
15 years ago
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.
15 years ago
Zack Rusin
b6c360b46c
gallium: add a new query
to figure out if gpu is finished with all of the previously issues commands
15 years ago
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 .
15 years ago
Marek Olšák
eb7ef433bb
r300g: optimize the immediate mode emission path a bit
15 years ago
Marek Olšák
bd52246248
r300g: do not emit ZTOP every draw call
15 years ago
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>
15 years ago
Brian Paul
b875c02668
docs: add link to 7.9 relnotes
15 years ago
Marek Olšák
59df6725af
r300g: fix crash when destroying the context on r3xx-r4xx
FDO bug #28652,
15 years ago
Kenneth Graunke
1b85c46bcf
glcpp: Initialize error state.
15 years ago
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
15 years ago
Kenneth Graunke
74704e80c6
glcpp: Print to the main compiler's infolog, not stdout.
15 years ago