Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add remaining signatures for 'max' builtin. | Kenneth Graunke | 2010-06-09 | 2 | -0/+78 |
| | |||||
* | Add remaining signatures for 'min' builtin. | Kenneth Graunke | 2010-06-09 | 2 | -0/+78 |
| | |||||
* | Add remaining signatures for 'mod' builtin. | Kenneth Graunke | 2010-06-09 | 2 | -0/+78 |
| | |||||
* | ir_function_cloning_visitor: Add support for ir_texture. | Kenneth Graunke | 2010-06-09 | 2 | -3/+23 |
| | |||||
* | Don't call _mesa_glsl_initialize_types for every builtin function. | Kenneth Graunke | 2010-06-09 | 2 | -7/+1 |
| | | | | This was clearly wrong; types are now only initialized once. | ||||
* | Only initialize types after #extension directives have been processed. | Kenneth Graunke | 2010-06-09 | 2 | -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 Graunke | 2010-06-09 | 14 | -7/+3041 |
| | |||||
* | texture_builtins.py: Support the EXT_texture_array extension. | Kenneth Graunke | 2010-06-09 | 1 | -1/+30 |
| | |||||
* | Add EXT_texture_array support. | Kenneth Graunke | 2010-06-09 | 3 | -0/+29 |
| | |||||
* | generate_builtins.pl: Support stage-specific builtins even for extensions. | Kenneth Graunke | 2010-06-09 | 1 | -12/+15 |
| | |||||
* | texture_builtins.py: Fixes for Array variants. | Kenneth Graunke | 2010-06-09 | 1 | -5/+9 |
| | | | | The array layer is now included as part of the texture coordinate. | ||||
* | texture_builtins.py: Add support for 130 Proj variants. | Kenneth Graunke | 2010-06-09 | 1 | -0/+36 |
| | |||||
* | Add a python script to generate texture builtins. | Kenneth Graunke | 2010-06-09 | 1 | -0/+229 |
| | |||||
* | generate_builtins.pl: Support directiories for each extension. | Kenneth Graunke | 2010-06-09 | 1 | -11/+14 |
| | |||||
* | generate_builtins.pl: Support _fs directories as well as _vs. | Kenneth Graunke | 2010-06-09 | 1 | -1/+3 |
| | |||||
* | Set the type of ir_texture properly; infer it from the sampler type. | Kenneth Graunke | 2010-06-09 | 5 | -2/+30 |
| | |||||
* | ir_reader: Add support for reading ir_texture. | Kenneth Graunke | 2010-06-09 | 1 | -1/+149 |
| | |||||
* | ir_reader: Refactor reading of dereferences for later reuse. | Kenneth Graunke | 2010-06-09 | 1 | -8/+26 |
| | |||||
* | Add stub visitor support for ir_texture. | Kenneth Graunke | 2010-06-09 | 8 | -0/+67 |
| | |||||
* | ir_print_visitor: Add support for ir_texture. | Kenneth Graunke | 2010-06-09 | 2 | -0/+50 |
| | |||||
* | Add mappings between ir_texture_opcode and strings. | Kenneth Graunke | 2010-06-09 | 2 | -0/+31 |
| | |||||
* | Define IR instruction for texture look-ups | Ian Romanick | 2010-06-09 | 1 | -0/+77 |
| | |||||
* | Use array delete operator to delete an array | Ian Romanick | 2010-06-09 | 1 | -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 4 | Ian Romanick | 2010-06-07 | 1 | -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 float | Ian Romanick | 2010-06-07 | 1 | -0/+7 |
| | | | | | | This causes the following tests to pass: glslparsertest/glsl2/precision-03.vert | ||||
* | Fix parsing of precision qualifiers | Ian Romanick | 2010-06-07 | 1 | -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 shaders | Ian Romanick | 2010-06-07 | 1 | -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 lists | Ian Romanick | 2010-06-07 | 1 | -2/+7 |
| | | | | This causes an error for code such as 'float;' | ||||
* | Check variable mode when comparing qualifier lists. | Kenneth Graunke | 2010-06-04 | 1 | -0/+1 |
| | | | | Fixes function-05.vert. | ||||
* | ir_dereference_array always operates on an r-value | Ian Romanick | 2010-06-02 | 1 | -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_label | Ian Romanick | 2010-06-02 | 1 | -1/+0 |
| | |||||
* | Remove some cruft from the Makefile | Ian Romanick | 2010-06-02 | 1 | -3/+0 |
| | | | | This was affecting the build, but the files don't actually exist. | ||||
* | Add builtin gl_LightSource[]. | Eric Anholt | 2010-06-01 | 1 | -1/+10 |
| | | | | Fixes gst-gl-bumper.vert parsing. | ||||
* | builtins: Add support for reflect(). | Eric Anholt | 2010-06-01 | 2 | -0/+120 |
| | | | | Fixes glsl-orangebook-ch06.frag parsing. | ||||
* | builtins: Add ftransform(). | Eric Anholt | 2010-06-01 | 3 | -2/+36 |
| | | | | Fixes glsl-orangebook-ch06-bump.vert. | ||||
* | Allow arrays of floats as varyings. | Eric Anholt | 2010-06-01 | 1 | -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 Anholt | 2010-06-01 | 1 | -1/+1 |
| | | | | Fixes CorrectSwizzle1.vert. | ||||
* | builtins: Add the mix(gentype, gentype, float) variant. | Eric Anholt | 2010-06-01 | 2 | -0/+42 |
| | | | | | The broken-in-mesa Regnum Online shader now parses, except for its preprocessor usage. | ||||
* | Handle GLSL 1.20 implicit type conversions. | Eric Anholt | 2010-06-01 | 1 | -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 Anholt | 2010-06-01 | 2 | -0/+312 |
| | |||||
* | builtins: Add asin(). | Eric Anholt | 2010-06-01 | 2 | -0/+182 |
| | |||||
* | ir_constant_expression: Handle several floating point unops. | Eric Anholt | 2010-06-01 | 1 | -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 Anholt | 2010-06-01 | 5 | -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 Anholt | 2010-06-01 | 1 | -1/+4 |
| | | | | This was broken in the ir_label -> ir_function rework. | ||||
* | ir_swizzle_swizzle: Reduce swizzle chains to a single swizzle. | Eric Anholt | 2010-06-01 | 4 | -0/+100 |
| | |||||
* | ir_vec_index_to_swizzle: Pass to convert indexing of vectors to swizzles. | Eric Anholt | 2010-06-01 | 5 | -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 Anholt | 2010-06-01 | 1 | -12/+30 |
| | | | | Fixes an uninlined normalize() in CorrectSwizzle2.vert. | ||||
* | ir_expression_flattening: Fix breakage from hierarchichal visitor. | Eric Anholt | 2010-06-01 | 1 | -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_vistor | Ian Romanick | 2010-05-26 | 1 | -139/+43 |
| | |||||
* | Reimplement ir_copy_propagation_visitor using ir_hierarchical_vistor | Ian Romanick | 2010-05-26 | 1 | -105/+45 |
| |