Mesa (master): 46 new commits

Bryan Cain bryanc at kemper.freedesktop.org
Thu Aug 4 13:47:42 PDT 2011


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4683529048ee133481b2d8f1cae1685aa1736f9a
Merge: 50073563b2bfe3716b3dc8b1ed2f91381ba24305 9adcab9cd464d659288e31e6767efb5dee3894ff
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Aug 4 15:43:34 2011 -0500

    Merge branch 'glsl-to-tgsi'
    
    Conflicts:
    	src/mesa/state_tracker/st_atom_pixeltransfer.c
    	src/mesa/state_tracker/st_program.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9adcab9cd464d659288e31e6767efb5dee3894ff
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Aug 4 10:15:54 2011 -0500

    st/mesa: replace duplicated create_color_map_texture() function with shared function

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7e89115310628310bf458a33f2df2bf23384cf3
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Tue Aug 2 11:36:44 2011 -0500

    glsl_to_tgsi: remove debugging printf

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=189e9f12c7d3a82d7dd28695935a83e4319bb267
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Wed Jul 27 16:39:40 2011 -0500

    glsl_to_tgsi: copy reladdr in st_src_reg(st_dst_reg) constructor
    
    This is a glsl_to_tgsi port of commit f7cd9a858c04.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e7fce9773ec332665326a785b6ed1fcf5bd578e
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Wed Jul 27 16:36:10 2011 -0500

    glsl_to_tgsi: add each relative address to the previous
    
    This is a glsl_to_tgsi port of commit d6e1a8f71437.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=10d31cb307f90a08fafed5c67945ffe53d279940
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Wed Jul 27 15:45:16 2011 -0500

    glsl_to_tgsi: lower all ir_quadop_vector expressions
    
    Unlike Mesa IR, TGSI doesn't have a SWZ opcode.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3354a5b56398f90fc36ab14b6444aae27b50e859
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Wed Jul 27 15:20:19 2011 -0500

    glsl_to_tgsi: rework immediate tracking to not use gl_program_parameter_list

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f751730ad003bb19ce85bc4d0abddaf40edde6c1
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jul 22 13:24:42 2011 -0500

    glsl_to_tgsi: update comments

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2c3b9f38d81f363bd62abc87dc3abef2beeba95
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jul 22 13:23:26 2011 -0500

    glsl_to_tgsi: make coding style more consistent

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0da994a9f15b461d16cf88ce16dc07e98dfada6f
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jul 21 16:29:56 2011 -0500

    glsl_to_tgsi: make assignment hack safer
    
    Fixes an assertion failure in piglit test glsl-texcoord-array.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7732822c833ee22e259af3f8bd2bfb57c986612e
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jul 21 15:49:26 2011 -0500

    glsl_to_tgsi: separate immediates from array constants during IR translation
    
    Before, if any uniform or constant array was accessed with indirect
    addressing, st_translate_program() would emit uniform constants in the place
    of immediates.  This behavior was unavoidable with ir_to_mesa/mesa_to_tgsi, but
    glsl_to_tgsi can work around it since the GLSL IR backend and the TGSI
    emission are both inside the state tracker.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87f8d8547db9b947ae847c509a464e06d0ac6c64
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sun Jul 10 17:36:04 2011 -0500

    glsl_to_tgsi: fix mistakes in get_pixel_transfer_visitor()
    
    I noticed these issues while working on get_bitmap_visitor().

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f0b4b0e9d376f9ec1cb5ae08c36052f4f51ac37
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sun Jul 10 17:17:38 2011 -0500

    st/mesa, glsl_to_tgsi: support glBitmap with a GLSL fragment shader active

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0dcab2882a4731dccd363a40c3ebcabc88b9c5d
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jul 8 21:12:08 2011 -0500

    st/mesa, glsl_to_tgsi: support glDrawPixels/glCopyPixels with a GLSL fragment shader active
    
    Since this was previously implemented using Mesa IR and _mesa_combine_programs,
    this commit adds a new code path that works with glsl_to_tgsi.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=33e0c47b05c8fbae9d7af57ba65b612825b5db60
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Jul 4 08:44:12 2011 -0500

    glsl_to_tgsi: replace MAX_PROGRAM_TEMPS (256) with MAX_TEMPS (4096)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=54db6e618e43abbd69b59e0a03e2b6ec83d3120f
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jun 30 13:42:37 2011 -0500

    r200, r600c, i965: fix build

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9c2810103d107d1e5ef8bd8b57819d12264f664a
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Jun 27 17:40:10 2011 -0500

    glsl_to_tgsi: always run copy_propagate() and eliminate_dead_code_advanced()
    
    These two passes are written to handle indirect addressing properly.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c8b6a286887628e5fc35306189a4c4a83c482ea
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Jun 27 17:25:50 2011 -0500

    glsl_to_tgsi: fix mistake in new dead code elimination pass
    
    The conditions of IF opcodes were not being counted as reads, which sometimes
    led to the condition register being wrong or undefined.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f00406b68c07f97b11e873c04917cafdb1a67462
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Jun 27 17:11:07 2011 -0500

    glsl_to_tgsi: improve assignment handling
    
    This is a hack, but it's better than emitting an unnecessary MOV instruction
    and hoping the optimization passes clean it up.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=71cbc9e3c4c9ef6090ee31e87601ae64af26321e
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jun 24 23:17:30 2011 -0500

    glsl_to_tgsi: improve eliminate_dead_code_advanced()

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3bd06e5b82b438041f50e2469be9ea68bf3b4300
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jun 24 22:32:26 2011 -0500

    glsl_to_tgsi: use the correct writemask in try_emit_mad() and try_emit_sat()

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=194732fd7299481dd57815f46a594d155260ce17
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jun 24 20:37:53 2011 -0500

    glsl_to_tgsi: use a more specific condition for gl_FragDepth hack in generating assignments
    
    This reduces the number of instructions in the fragment shader of
    glsl-fs-atan-2 from 174 to 146 with EmitNoIfs enabled.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41472f7809dcff114223b8fadc5b97baff6060a9
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Jun 24 18:45:04 2011 -0500

    glsl_to_tgsi: add a better, more advanced dead code elimination pass

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ec7dd4fb6ae6c8aa29988754476e1212eb986ef
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jun 23 19:53:37 2011 -0500

    glsl_to_tgsi: remove handling of XPD opcode in compile_tgsi_instruction()
    
    The opcode is never emitted by the glsl_to_tgsi_visitor, so its special case in
    compile_tgsi_instruction() was dead code.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b881ad1c3d9dd3c96afbdbb608a7240d40e9c92
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jun 23 19:35:36 2011 -0500

    glsl_to_tgsi: use swizzle_for_size for src reg in conditional moves
    
    This prevents the copy propagation pass from being confused by undefined
    channels and thus missing optimization opportunities.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c50f18b29637470539d05ccc32b0cae0092aeac
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Tue Jun 21 21:52:19 2011 +0100

    glsl_to_tgsi: execute merge_registers() after eliminate_dead_code()
    
    Fixes a regression unintentionally introduced by "glsl_to_tgsi: fix shaders with
    indirect addressing of temps" that caused missing leaves in 3dmark01 test 4 (Nature)
    and missing/displaced textures on human models in Counter-Strike: Source.
    
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    Signed-off-by: Bryan Cain <bryancain3 at gmail.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=29d21417e38aed0f0710d3692df320728aef90b1
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jun 16 18:36:16 2011 -0500

    glsl_to_tgsi: implement simplify_cmp pass needed by r300g

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=552cc48fca9b932fceb3d8fa7f9d0067f46b67c2
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu Jun 16 13:42:57 2011 -0500

    glsl_to_tgsi: fix compile error with g++ 4.6

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1141c3f4c4014e3c2834db65b96a3ba7cc78744a
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Wed Jun 15 17:31:51 2011 -0500

    glsl: remove glsl_type::get_vec4_type()
    
    Thanks to Kenneth Graunke for pointing out that glsl_type::get_instance(base, 4, 1)
    is the same as glsl_type::get_vec4_type(base).
    
    The function was only used in st_glsl_to_tgsi, and this commit replaces that usage
    with get_instance.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b30bbd7436bdb9727d3766ba9c07abd610e6dda8
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Wed Jun 15 14:45:03 2011 -0500

    glsl_to_tgsi: silence compiler warning

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf1cee9f24022e3da96d84fdc6baaa050d3eadf1
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Tue Jun 14 18:17:40 2011 -0500

    glsl_to_tgsi: finish some loose ends

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2c067e3075414703a7ebad439d4290c27cab46a
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Tue Jun 14 17:38:14 2011 -0500

    glsl-to-tgsi: fix piglit tests
    
    This commit fixes all of the piglit tests regressed by "mesa, glsl_to_tgsi: add
    native support for integers in shaders" on softpipe.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b191382c60bdcfeb7f424b23aa6ab63de81e2f08
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Jun 13 18:12:56 2011 -0500

    mesa, glsl_to_tgsi: add native support for integers in shaders
    
    Disabled by default on all drivers.  To enable it, change ctx->GLSLVersion to 130
    in st_extensions.c.  Currently, softpipe is the only driver with integer support.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f95169deb40f8245f4b3b07b17b222746da29bdd
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Jun 13 17:52:54 2011 -0500

    tgsi: add support for TGSI_OPCODE_MOD in tgsi_exec

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d89abadbcd68bbe9e08f041412549f8dc1fc73c
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Tue May 17 17:13:20 2011 -0500

    mesa: support boolean and integer-based parameters in prog_parameter
    
    The functionality is not used by anything yet, and the glUniform functions will
    need to be reworked before this can reach its full usefulness.  It is
    nonetheless a step towards integer support in the state tracker and classic drivers.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=17b695e6e7dd730497fb60a8e161935b23fa0e9c
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Thu May 5 21:10:28 2011 -0500

    gallium: add PIPE_SHADER_CAP_INTEGERS

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=16d7a717d592524e4d62fec4173cb9523f7a1453
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon May 2 23:12:18 2011 -0500

    glsl_to_tgsi: fix shaders with indirect addressing of temps
    
    Fixes several Piglit tests, although it's a step backwards for optimization.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=56dc2c176c3ef0d4d5abea54ff4035b062262286
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sun May 1 21:49:21 2011 -0500

    glsl_to_tgsi: use TGSI opcodes when converting from GLSL IR
    
    Before, the translator used Mesa IR opcodes (a holdover from ir_to_mesa) and
    converted them to TGSI opcodes during TGSI emission.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b0858f1aed83e2d90449f042d625c86ac7b93ed
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sun May 1 11:55:03 2011 -0500

    glsl_to_tgsi: support DDY (ir_unop_dFdy)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6705aa5ca151278ed1e596b68a327afd1405b9e
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sat Apr 30 23:17:11 2011 -0500

    glsl_to_tgsi: lower noise opcodes when converting from GLSL IR, not when generating TGSI

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5768ed6429937940bd48f5de4f8383273952880a
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sat Apr 30 21:17:38 2011 -0500

    glsl_to_tgsi: define the sampler objects used
    
    Fixes the Nexuiz title screen and the water in 0 A.D.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=556bd82ce1227a568d69dfa0c22841986267d39f
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sat Apr 30 13:44:32 2011 -0500

    glsl_to_tgsi: remove a bad assertion
    
    It was triggered by Alien Arena.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c341d3cfd0ddbabf6274212b7f0da1a25854a673
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Sat Apr 30 13:03:33 2011 -0500

    glsl_to_tgsi: remove reads to output registers
    
    Fixes a regression in 0 A.D. introduced by 809a11c77073e999fd47.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=44867da3543ca54ef245695cef72a6e305451d93
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Apr 29 19:24:57 2011 -0500

    glsl_to_tgsi: stop generating Mesa IR
    
    Before, it was still generating unused Mesa IR as a remnant of ir_to_mesa, and
    depended on some of the information from it.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1e5fd8e480b661c1ab748c2ded587650ea7f3d20
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Fri Apr 29 19:00:24 2011 -0500

    mesa: fix segfault when no Mesa IR is generated

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f379d8f73063a4c4d6cf379318c6b37118d46bfa
Author: Bryan Cain <bryancain3 at gmail.com>
Date:   Mon Apr 25 23:37:47 2011 -0500

    st/mesa: Add a GLSL IR to TGSI translator.
    
    It is still a work in progress at this point, but it produces working and
    reasonably well-optimized code.
    
    Originally based on ir_to_mesa and st_mesa_to_tgsi, but does not directly use
    Mesa IR instructions in TGSI generation, instead generating TGSI from the
    intermediate class glsl_to_tgsi_instruction.  It also has new optimization
    passes to replace _mesa_optimize_program.



More information about the mesa-commit mailing list