glsl: add texture gather changes
V2 [Chris Forbes]: - Add new pattern, fixup parameter reading. V3: Rebase onto new builtins machinery Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
This commit is contained in:
committed by
Chris Forbes
parent
d3575622b7
commit
18002d9eda
@@ -947,6 +947,8 @@ ir_reader::read_texture(s_expression *expr)
|
||||
{ "txf_ms", s_type, s_sampler, s_coord, s_sample_index };
|
||||
s_pattern txs_pattern[] =
|
||||
{ "txs", s_type, s_sampler, s_lod };
|
||||
s_pattern tg4_pattern[] =
|
||||
{ "tg4", s_type, s_sampler, s_coord, s_offset };
|
||||
s_pattern other_pattern[] =
|
||||
{ tag, s_type, s_sampler, s_coord, s_offset, s_proj, s_shadow, s_lod };
|
||||
|
||||
@@ -960,6 +962,8 @@ ir_reader::read_texture(s_expression *expr)
|
||||
op = ir_txf_ms;
|
||||
} else if (MATCH(expr, txs_pattern)) {
|
||||
op = ir_txs;
|
||||
} else if (MATCH(expr, tg4_pattern)) {
|
||||
op = ir_tg4;
|
||||
} else if (MATCH(expr, other_pattern)) {
|
||||
op = ir_texture::get_opcode(tag->value());
|
||||
if (op == -1)
|
||||
@@ -1010,7 +1014,7 @@ ir_reader::read_texture(s_expression *expr)
|
||||
}
|
||||
}
|
||||
|
||||
if (op != ir_txf && op != ir_txf_ms && op != ir_txs && op != ir_lod) {
|
||||
if (op != ir_txf && op != ir_txf_ms && op != ir_txs && op != ir_lod && op != ir_tg4) {
|
||||
s_int *proj_as_int = SX_AS_INT(s_proj);
|
||||
if (proj_as_int && proj_as_int->value() == 1) {
|
||||
tex->projector = NULL;
|
||||
|
||||
Reference in New Issue
Block a user