summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add hash table helper functions for using pointers as hash keysIan Romanick2010-07-064-26/+41
|
* Make hashtable.h be C++ friendlyIan Romanick2010-07-061-0/+7
|
* ir_to_mesa: Use the compiler-assigned locations for builtin attrs/varyings.Eric Anholt2010-07-061-74/+9
| | | | | | The previous table didn't distinguish gl_Color for the VS and FS, so we would use the FS's attribute index for the VS and read undefined. This partially fixes glsl-routing to match its behavior on master.
* Refresh autogenerated file builtin_function.cpp.Kenneth Graunke2010-07-021-101/+18
|
* glcpp: Add #error support.Kenneth Graunke2010-07-021-0/+8
|
* glsl2: Fix for dead strings being stored in the symbol table.Kenneth Graunke2010-07-021-2/+2
|
* ir_to_mesa: Fix uninitalized value.Kenneth Graunke2010-07-021-1/+1
|
* glsl2/builtins: Use vector ops in the 130 version of "sign."Kenneth Graunke2010-07-021-15/+3
|
* glsl2/builtins: Use vector ops in "smoothstep."Kenneth Graunke2010-07-021-86/+15
|
* ir_to_mesa: Fix up implementation of ir_unop_exp.Eric Anholt2010-07-021-1/+2
| | | | | | | | OPCODE_EXP is not to ir_unop_exp what OPCODE_EX2 is to ir_unop_exp2. It's the weird VP approximation helper opcode. Just implement it with OPCODE_POW instead. Fixes glsl-fs-exp.
* i965: Add support for the DP2 opcode, which we use for dot(vec2, vec2).Eric Anholt2010-07-024-0/+38
| | | | | | | The original glsl compiler would generate a.x * b.x + a.y * b.y, which we would do mul+mul+add for instead of this mul+mac. Fixes glsl-fs-dot-vec2.
* ir_to_mesa: Add support for scalar * mat, vec * mat.Eric Anholt2010-07-021-0/+36
| | | | This is not tested by piglit currently.
* ir_to_mesa: Add support for shadow comparison to texture instructions.Eric Anholt2010-07-021-2/+15
| | | | piglit lacks tests for this currently.
* ir_to_mesa: Move projection handling out of ir_tex so txb and txl get it.Eric Anholt2010-07-021-27/+53
| | | | | | Fixes: glsl-fs-texture2dproj-bias glsl-fs-texture2dproj-bias-2
* glsl2: Print the linking info log in the stand-alone compilerIan Romanick2010-07-021-0/+3
|
* ir_to_mesa: Add support for projected non-shadow/bias/lod texturing.Eric Anholt2010-07-021-3/+18
| | | | | | Fixes: glsl-fs-texture2dproj glsl-fs-texture2dproj-2
* ir_to_mesa: Fix sparse swizzling of src regs when a writemask is present.Eric Anholt2010-07-021-0/+26
| | | | Fixes glsl-fs-texture2d-masked.
* ir_to_mesa: Don't forget to run the Mesa IR optimization passes.Eric Anholt2010-07-021-0/+5
| | | | | | With how we generate assignments, the trivial copy propagation in it is really important, and some drivers will really want the register allocation, too.
* glsl2: Add a pass to break ir_binop_div to _mul and _rcp.Eric Anholt2010-07-024-3/+81
| | | | This results in constant folding of a constant divisor.
* glsl2: Conditionally allow optional extensions to be enabledIan Romanick2010-07-014-0/+11
| | | | | The only optional extension currently supported by the compiler is GL_EXT_texture_array.
* glsl2: Append _TOK to some parser tokensIan Romanick2010-07-012-7/+7
| | | | | This prevents conflicts with defines elsewhere in Mesa and allows including mtypes.h in the compiler.
* glsl2: Conditionally define preprocessor tokens for optional extensionsIan Romanick2010-07-017-12/+25
| | | | | The only optional extension currently supported by the compiler is GL_EXT_texture_array.
* glsl2: Define preprocessor tokens for extensionsIan Romanick2010-07-011-1/+17
| | | | | | Currently only GL_ARB_draw_buffers and GL_ARB_texture_rectangle are defined because those extensions are always enabled. This make tex_rect-03.frag pass.
* glsl2: Support AST-to-IR translation of invariant keywordIan Romanick2010-07-011-14/+70
|
* glsl2: Initialize ast_declarator_list::invariant in constructorIan Romanick2010-07-011-0/+1
|
* glsl2: Don't bounds check unsize array redeclarationsIan Romanick2010-07-011-1/+1
| | | | This along with several previous commits fix test CorrectUnsizedArray.frag.
* glsl2: Add gl_MaxTextureCoordsIan Romanick2010-07-015-22/+24
|
* glsl2: Default delcaration of gl_TexCoord is unsizedIan Romanick2010-07-012-11/+34
|
* glsl2: Change order of semaintic checks on variable declarationsIan Romanick2010-07-011-61/+61
| | | | This will make it easier to support more (valid) kinds of redeclarations.
* ir_to_mesa: Fill in remaining ops, remove default case for expression types.Eric Anholt2010-07-011-7/+4
| | | | | We should now have support for all the expression types we need for GLSL 1.20.
* ir_to_mesa: Add support for ir_unop_rcp.Eric Anholt2010-07-011-0/+3
| | | | This isn't used at the moment, but will be soon.
* glsl2: Update README for what I've been thinking about with expr types work.Eric Anholt2010-07-011-1/+38
|
* glsl2: Add a pass to convert mod(a, b) to b * fract(a/b).Eric Anholt2010-07-018-7/+120
| | | | This is used by the Mesa IR backend to implement mod, fixing glsl-fs-mod.
* glsl2: Remove dead member from dead code visitor.Eric Anholt2010-07-011-1/+0
|
* glsl2: Add ir_unop_fract as an expression type.Eric Anholt2010-07-016-8/+33
| | | | | Most backends will prefer seeing this to seeing (a - floor(a)), so represent it explicitly.
* ir_to_mesa: Add support for discard instructions.Eric Anholt2010-06-301-2/+3
| | | | Fixes glsl-fs-discard-01.
* glsl2: Don't break sign() down by vector components.Eric Anholt2010-06-302-32/+6
|
* ir_to_mesa: Add support for ir_unop_sign.Eric Anholt2010-06-301-0/+3
| | | | Fixes glsl-fs-sign, glsl-vs-sign.
* i965: Add support for OPCODE_SSG.Eric Anholt2010-06-305-0/+54
| | | | | The old compiler didn't use SSG, and instead emitted SGT/SGT/SUB. We can do a little better for SSG than we do for the SGT series.
* ir_to_mesa: Add missing no-op type conversions.Eric Anholt2010-06-301-0/+2
| | | | Fixes glsl-fs-step.
* glsl2: Fix reversed value of step().Eric Anholt2010-06-302-38/+38
| | | | It's 0.0 if x < edge, not 1.0. Partial fix for glsl-fs-step.
* ir_to_mesa: Note which of our expr ops are unsupported 1.30 features.Eric Anholt2010-06-301-0/+11
|
* glsl2: Fix up the implementation of fract() for vector types.Eric Anholt2010-06-302-30/+6
| | | | There's no need to split each vector component out, just do vector ops.
* ir_to_mesa: Initialize the (we never use it) abs field of Mesa src regs.Eric Anholt2010-06-301-0/+1
|
* ir_to_mesa: Send the negate field on to Mesa IR.Eric Anholt2010-06-301-0/+2
| | | | Fixes glsl-fs-neg.
* ir_to_mesa: When generating a swizzle, respect the reg's current swizzle.Eric Anholt2010-06-301-5/+5
| | | | Fixes depth-tex-modes-glsl.
* glsl2: Implement AST->HIR support for the "discard" instruction.Kenneth Graunke2010-06-301-1/+1
|
* glsl2: Define new ir_discard instruction.Kenneth Graunke2010-06-3011-0/+115
|
* ir_to_mesa: Support gl_FragDepth.Eric Anholt2010-06-301-1/+1
| | | | Fixes glsl-bug-22603.
* glsl2: Allow a fragment shader to not write a color.Eric Anholt2010-06-301-6/+0
| | | | | | I can't find any text justifying this check, and it caused a reasonable-looking shader in glsl-bug-22603 (which writes only gl_FragDepth) to fail.