Commits on Jan 22, 2012
  1. @aras-p

    Merge pull request #5 from kalimaul/master

    Updates and fixes for cmake build system
    aras-p committed Jan 22, 2012
  2. @kalimaul

    CMake build system updates

    added glsl_optimizer binary
    fixed compilation of builtin_functions.cpp
    fixed removal of some unnecessary source files
    added DEBUG(=on/off) switch
    kalimaul committed Jan 22, 2012
Commits on Jan 20, 2012
  1. @aras-p

    Merge pull request #4 from kalimaul/master

    linux make system
    aras-p committed Jan 19, 2012
Commits on Jan 19, 2012
  1. @kalimaul

    Updated README to mention the cmake build system instead of the nonex…

    …istant linux Makefile.
    kalimaul committed Jan 19, 2012
  2. @kalimaul
  3. @kalimaul
Commits on Jan 12, 2012
  1. @aras-p

    minor: fix glsl printing of dot

    aras-p committed Jan 12, 2012
  2. @aras-p

    apply cc81eb0 from master:

    Paul Berry <stereotype441@gmail.com>
    
    glsl hierarchical visitor: Do not overwrite base_ir for parameter lists.
    This patch fixes a bug in ir_hirearchical_visitor: when traversing an
    exec_list representing the formal or actual parameters of a function,
    it modified base_ir to point to each parameter in turn, rather than
    leaving it as a pointer to the enclosing statement.  This was a
    problem, since base_ir is used by visitor classes to locate the
    statement containing the node being visited (usually so that
    additional statements can be inserted before or after it).  Without
    this fix, visitors might attempt to insert statements into parameter
    lists.
    aras-p committed Jan 12, 2012
  3. @aras-p

    tests: test for possible future optimizations involving mat4->mat3 an…

    …d matrix transpose
    aras-p committed Jan 12, 2012
  4. @aras-p

    git ignores

    aras-p committed Jan 12, 2012
Commits on Nov 17, 2011
  1. @aras-p
Commits on Oct 17, 2011
  1. @aras-p
  2. @aras-p

    Merge pull request #3 from cmcevoy/master

    A couple minor glsl-optimizer patches
    aras-p committed Oct 16, 2011
  3. @cmcevoy
  4. @cmcevoy
Commits on Oct 6, 2011
  1. @aras-p
  2. @aras-p
  3. @aras-p
Commits on Oct 4, 2011
  1. @aras-p

    add license details

    aras-p committed Oct 4, 2011
Commits on Aug 17, 2011
  1. @aras-p

    merge from upstream mesa

    aras-p committed Aug 17, 2011
  2. @aras-p

    update gitignore

    aras-p committed Aug 17, 2011
  3. @clbr @MostAwesomeDude
  4. @clbr @MostAwesomeDude

    xmlpool.h: fix a typo

    clbr committed with MostAwesomeDude Jul 1, 2011
  5. @clbr @MostAwesomeDude
Commits on Aug 16, 2011
  1. mesa: Bump instruction execution limit to 65536

    Shader Model 3.0[1] requires that shaders be able to execute at least
    65536 instructions.  Bump Mesa maxExec to that limit.  This allows
    several vertex shaders in the OpenGL ES 2.0 conformance test suite to
    run to completion.
    
    1: http://en.wikipedia.org/wiki/High_Level_Shader_Language
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Aug 3, 2011
  2. mesa: Add partial constant propagation pass for Mesa IR

    This cleans up some code generated by the IR-to-Mesa pass for i915.
    In particular, some shaders involving arrays of constant matrices
    result in really bad code.
    
    v2: Silence several warnings from merging the gl_constant_value work.
    Fix DP[23] folding.  Add support for a bunch more opcodes that appear
    in piglit runs on i915.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Feb 10, 2011
  3. ir_to_mesa: Emit a MAD(b, -a, b) for !a && b

    !a && b occurs frequently when nexted if-statements have been
    flattened.  It should also be possible use a MAD for (a && b) || c,
    though that would require a MAD_SAT.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Aug 2, 2011
  4. ir_to_mesa: Implement ir_binop_all_equal using DP4 w/SGE

    The operation ir_binop_all_equal is !(a.x != b.x || a.y != b.y || a.z
    != b.z || a.w != b.w).  Logical-or is implemented using addition
    (followed by clampling to [0,1]) on values of 0.0 and 1.0.  Replacing
    the logical-or operators with addition gives !bool((int(a.x != b.x) +
    int(a.y == b.y) + int(a.z == b.z) + int(a.w == b.w)).  This can be
    implemented using a dot-product with a vector of all 1.0.  After the
    dot-product, the value will be an integer on the range [0,4].
    
    Previously a SEQ instruction was used to clamp the resulting logic
    value to [0,1] and invert the result.  Using an SGE instruction on the
    negation of the dot-product result has the same effect.  Many older
    shader architectures do not support the SEQ instruction.  It must be
    emulated using two SGE instructions and a MUL.  On these
    architectures, the single SGE saves two instructions.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Aug 3, 2011
  5. ir_to_mesa: Implement ir_binop_any_nequal using DP4 w/saturate or DP4…

    … w/SLT
    
    The operation ir_binop_any_nequal is (a.x != b.x) || (a.y != b.y) ||
    (a.z != b.z) || (a.w != b.w), and that is the same as any(bvec4(a.x !=
    b.x, a.y != b.y, a.z != b.z, a.w != b.w)).  Implement the any() part
    the same way the regular ir_unop_any is implemented.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Aug 3, 2011
  6. ir_to_mesa: Implement ir_unop_any using DP4 w/saturate or DP4 w/SLT

    This is just like the ir_binop_logic_or case.  The operation
    ir_unop_any is (a.x || a.y || a.z || a.w).  Logical-or is implemented
    using addition (followed by clampling to [0,1]) on values of 0.0 and
    1.0.  Replacing the logical-or operators with addition gives (a.x +
    a.y + a.z + a.w).  This can be implemented using a dot-product with a
    vector of all 1.0.
    
    Previously a SNE instruction was used to clamp the resulting logic
    value to [0,1].  In a fragment shader, using a saturate on the
    dot-product has the same effect.  Adding the saturate to the
    dot-product is free, so (at least) one instruction is saved.
    
    In a vertex shader, using an SLT on the negation of the dot-product
    result has the same effect.  Many older shader architectures do not
    support the SNE instruction.  It must be emulated using two SLT
    instructions and an ADD.  On these architectures, the single SLT saves
    two instructions.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Aug 3, 2011
  7. ir_to_mesa: Make ir_to_mesa_visitor::emit_dp return the instruction

    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Jul 30, 2011
  8. ir_to_mesa: Implement ir_binop_logic_or using an add w/saturate or ad…

    …d w/SLT
    
    Logical-or is implemented using addition (followed by clampling to
    [0,1]) on values of 0.0 and 1.0.  Replacing the logical-or operators
    with addition gives a + b which has a result on the range [0, 2].
    
    Previously a SNE instruction was used to clamp the resulting logic
    value to [0,1].  In a fragment shader, using a saturate on the add has
    the same effect.  Adding the saturate to the add is free, so (at
    least) one instruction is saved.
    
    In a vertex shader, using an SLT on the negation of the add result has
    the same effect.  Many older shader architectures do not support the
    SNE instruction.  It must be emulated using two SLT instructions and
    an ADD.  On these architectures, the single SLT saves two
    instructions.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Jul 30, 2011
  9. ir_to_mesa: Implement ir_unop_logic_not using 1-x

    Since our logic values are 0.0 (false) and 1.0 (true), 1.0 - x
    accurately implements logical not.
    
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Ian Romanick committed Jul 30, 2011
  10. @chadversary

    mesa: Add Android to list of platforms that define fpclassify()

    This is a fix for the Android build.
    
    Signed-off-by: Chad Versace <chad@chad-versace.us>
    chadversary committed Aug 15, 2011
  11. @chadversary

    mesa: Fix Android build by #ifdef'ing out locale support

    Bionic does not support locales. This commit #ifdef's out the locale usage
    in _mesa_strtof().
    
    Signed-off-by: Chad Versace <chad@chad-versace.us>
    chadversary committed Aug 15, 2011