Mesa (master): 46 new commits
Bryan Cain
bryanc at kemper.freedesktop.org
Thu Aug 4 20:47:42 UTC 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