| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
function
|
| |
|
|
|
|
| |
This is a glsl_to_tgsi port of commit f7cd9a858c04.
|
|
|
|
| |
This is a glsl_to_tgsi port of commit d6e1a8f71437.
|
|
|
|
| |
Unlike Mesa IR, TGSI doesn't have a SWZ opcode.
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes an assertion failure in piglit test glsl-texcoord-array.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
I noticed these issues while working on get_bitmap_visitor().
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
These two passes are written to handle indirect addressing properly.
|
|
|
|
|
| |
The conditions of IF opcodes were not being counted as reads, which sometimes
led to the condition register being wrong or undefined.
|
|
|
|
|
| |
This is a hack, but it's better than emitting an unnecessary MOV instruction
and hoping the optimization passes clean it up.
|
| |
|
| |
|
|
|
|
|
|
|
| |
generating assignments
This reduces the number of instructions in the fragment shader of
glsl-fs-atan-2 from 174 to 146 with EmitNoIfs enabled.
|
| |
|
|
|
|
|
| |
The opcode is never emitted by the glsl_to_tgsi_visitor, so its special case in
compile_tgsi_instruction() was dead code.
|
|
|
|
|
| |
This prevents the copy propagation pass from being confused by undefined
channels and thus missing optimization opportunities.
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
Signed-off-by: Bryan Cain <[email protected]>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
This commit fixes all of the piglit tests regressed by "mesa, glsl_to_tgsi: add
native support for integers in shaders" on softpipe.
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Fixes several Piglit tests, although it's a step backwards for optimization.
|
|
|
|
|
| |
Before, the translator used Mesa IR opcodes (a holdover from ir_to_mesa) and
converted them to TGSI opcodes during TGSI emission.
|
| |
|
|
|
|
| |
generating TGSI
|
|
|
|
| |
Fixes the Nexuiz title screen and the water in 0 A.D.
|
|
|
|
| |
It was triggered by Alien Arena.
|
|
|
|
| |
Fixes a regression in 0 A.D. introduced by 809a11c77073e999fd47.
|
|
|
|
|
| |
Before, it was still generating unused Mesa IR as a remnant of ir_to_mesa, and
depended on some of the information from it.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
[airlied: final chunk of Mike's patch from bug 37476
this uses a loop to emit the GRADIENTS and does a check to
see if we need to fetch to a temporary register. It also
increases the context src gpr to 4 which is needed here.]
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
| |
[airlied: taken from Mike's patch in bug 37476]
Signed-off-by: Dave Airlie <[email protected]>
|
|
|
|
|
|
|
| |
Signed-off-by: Kenneth Graunke <[email protected]>
NOTE: This is a candidate for stable release branches (and don't forget
to re-run "make builtins" after cherry-picking.)
|
|
|
|
|
|
|
|
| |
Mike had actually done a lot of the TXD support in a patch in bug
37476 which I see now, I'll add the bits of his work that I didn't think
to add to my work.
Signed-off-by: Dave Airlie <[email protected]>
|