summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add remaining signatures for 'max' builtin.Kenneth Graunke2010-06-092-0/+78
|
* Add remaining signatures for 'min' builtin.Kenneth Graunke2010-06-092-0/+78
|
* Add remaining signatures for 'mod' builtin.Kenneth Graunke2010-06-092-0/+78
|
* ir_function_cloning_visitor: Add support for ir_texture.Kenneth Graunke2010-06-092-3/+23
|
* Don't call _mesa_glsl_initialize_types for every builtin function.Kenneth Graunke2010-06-092-7/+1
| | | | This was clearly wrong; types are now only initialized once.
* Only initialize types after #extension directives have been processed.Kenneth Graunke2010-06-092-10/+8
| | | | | | | Since _mesa_glsl_initialize_types add types for various extensions, we can't call it until after processing "#extension foo : disable" lines. Fixes tex_rect_02.frag.
* Commit output of texture_builtins.py and refresh builtin_function.cpp.Kenneth Graunke2010-06-0914-7/+3041
|
* texture_builtins.py: Support the EXT_texture_array extension.Kenneth Graunke2010-06-091-1/+30
|
* Add EXT_texture_array support.Kenneth Graunke2010-06-093-0/+29
|
* generate_builtins.pl: Support stage-specific builtins even for extensions.Kenneth Graunke2010-06-091-12/+15
|
* texture_builtins.py: Fixes for Array variants.Kenneth Graunke2010-06-091-5/+9
| | | | The array layer is now included as part of the texture coordinate.
* texture_builtins.py: Add support for 130 Proj variants.Kenneth Graunke2010-06-091-0/+36
|
* Add a python script to generate texture builtins.Kenneth Graunke2010-06-091-0/+229
|
* generate_builtins.pl: Support directiories for each extension.Kenneth Graunke2010-06-091-11/+14
|
* generate_builtins.pl: Support _fs directories as well as _vs.Kenneth Graunke2010-06-091-1/+3
|
* Set the type of ir_texture properly; infer it from the sampler type.Kenneth Graunke2010-06-095-2/+30
|
* ir_reader: Add support for reading ir_texture.Kenneth Graunke2010-06-091-1/+149
|
* ir_reader: Refactor reading of dereferences for later reuse.Kenneth Graunke2010-06-091-8/+26
|
* Add stub visitor support for ir_texture.Kenneth Graunke2010-06-098-0/+67
|
* ir_print_visitor: Add support for ir_texture.Kenneth Graunke2010-06-092-0/+50
|
* Add mappings between ir_texture_opcode and strings.Kenneth Graunke2010-06-092-0/+31
|
* Define IR instruction for texture look-upsIan Romanick2010-06-091-0/+77
|
* Use array delete operator to delete an arrayIan Romanick2010-06-091-1/+1
| | | | | | This was detected by valgrind. I think GCC still does the right thing, but the C++ spec allows the compiler to do something stupid... like crash or only delete the first entry in the array.
* Bump GL_MAX_TEXTURE_COORDS from 2 to 4Ian Romanick2010-06-071-9/+12
| | | | | | | | | | | | Every platform that supports GLSL sets GL_MAX_TEXTURE_COORDS to at least 4, so hard-code 4 for now. This causes the following tests to pass: glslparsertest/glsl2/norsetto-bumptbn_sh_fp.vert glslparsertest/glsl2/xreal-lighting-d-omni.vert glslparsertest/glsl2/xreal-lighting-db-omni.vert glslparsertest/glsl2/xreal-lighting-dbs-omni.vert
* Only allow global precision qualifier for int and floatIan Romanick2010-06-071-0/+7
| | | | | | This causes the following tests to pass: glslparsertest/glsl2/precision-03.vert
* Fix parsing of precision qualifiersIan Romanick2010-06-071-7/+45
| | | | | | | | | | | | | This causes the following tests to pass: glslparsertest/glsl2/precision-02.vert glslparsertest/glsl2/precision-04.vert glslparsertest/glsl2/precision-06.vert This causes the following test to fail. This shader was previously failing to compile, but it was failing for the wrong reasons. glslparsertest/glsl2/precision-03.vert
* Don't process empty shadersIan Romanick2010-06-071-2/+3
| | | | | | | Some valid shaders, such as 'precision highp float;', evaluate to empty sets of instructions. This causes some of the optimization stages to enter infinite loops. Instead, don't bother processing the empty ones.
* Generate an error on empty declaration listsIan Romanick2010-06-071-2/+7
| | | | This causes an error for code such as 'float;'
* Check variable mode when comparing qualifier lists.Kenneth Graunke2010-06-041-0/+1
| | | | Fixes function-05.vert.
* ir_dereference_array always operates on an r-valueIan Romanick2010-06-021-9/+1
| | | | | | ir_dereference_array::array is always an r-value. If the dereference is of a varaible, that r-value will be an ir_dereference_variable. This simplifies the code a bit.
* There is no class ir_label, so there's no need for ir_instruction::as_labelIan Romanick2010-06-021-1/+0
|
* Remove some cruft from the MakefileIan Romanick2010-06-021-3/+0
| | | | This was affecting the build, but the files don't actually exist.
* Add builtin gl_LightSource[].Eric Anholt2010-06-011-1/+10
| | | | Fixes gst-gl-bumper.vert parsing.
* builtins: Add support for reflect().Eric Anholt2010-06-012-0/+120
| | | | Fixes glsl-orangebook-ch06.frag parsing.
* builtins: Add ftransform().Eric Anholt2010-06-013-2/+36
| | | | Fixes glsl-orangebook-ch06-bump.vert.
* Allow arrays of floats as varyings.Eric Anholt2010-06-011-4/+13
| | | | | The comment just above the code said arrays were OK, then it didn't handle arrays. Whoops. Partially fixes CorrectUnsizedArray.frat.
* gl_Normal is a vec3 not a vec4.Eric Anholt2010-06-011-1/+1
| | | | Fixes CorrectSwizzle1.vert.
* builtins: Add the mix(gentype, gentype, float) variant.Eric Anholt2010-06-012-0/+42
| | | | | The broken-in-mesa Regnum Online shader now parses, except for its preprocessor usage.
* Handle GLSL 1.20 implicit type conversions.Eric Anholt2010-06-011-9/+20
| | | | | | We were nicely constructing a new expression for the implicit type conversion, but then checking that the previous types matched instead of the new expression's type. Fixes errors in Regnum Online shaders.
* builtins: Add atan().Eric Anholt2010-06-012-0/+312
|
* builtins: Add asin().Eric Anholt2010-06-012-0/+182
|
* ir_constant_expression: Handle several floating point unops.Eric Anholt2010-06-011-0/+97
| | | | Cleans up a bunch of pointless operations in a GStreamer fragment shader.
* ir_constant_variable: New pass to mark constant-assigned variables constant.Eric Anholt2010-06-015-0/+262
| | | | | | This removes a bunch of gratuitous moving around of constant values from constructors. Makes a shader ir I was looking at for structure handling almost readable.
* ir_constant_folding: Look at instructions in functions.Eric Anholt2010-06-011-1/+4
| | | | This was broken in the ir_label -> ir_function rework.
* ir_swizzle_swizzle: Reduce swizzle chains to a single swizzle.Eric Anholt2010-06-014-0/+100
|
* ir_vec_index_to_swizzle: Pass to convert indexing of vectors to swizzles.Eric Anholt2010-06-015-2/+176
| | | | | This should remove the burden of handling constant vector indexing well from backend codegen, and could help with swizzle optimizations.
* ir_expression_flattening: Handle flattening values out of swizzles, too.Eric Anholt2010-06-011-12/+30
| | | | Fixes an uninlined normalize() in CorrectSwizzle2.vert.
* ir_expression_flattening: Fix breakage from hierarchichal visitor.Eric Anholt2010-06-011-0/+30
| | | | | | | | | Similar to other situations where the visitor pattern doesn't fit, in this case we need the pointer to the base instruction in the instruction stream for where to insert any new instructions we generate (not the instruction in the tree we're looking at). By removing the code for setting the base_ir, flattened expressions would end up, for example, before the function definition where they had appeared.
* Reimplement ir_function_inlining_visitor using ir_hierarchical_vistorIan Romanick2010-05-261-139/+43
|
* Reimplement ir_copy_propagation_visitor using ir_hierarchical_vistorIan Romanick2010-05-261-105/+45
|