glsl: skip tree grafting for sampler and image types
v2: - use is_sampler()/is_image() instead (Samuel Pitoiset) Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
This commit is contained in:

committed by
Samuel Pitoiset

parent
d04b0f31d3
commit
b738fae4b9
@@ -371,6 +371,17 @@ tree_grafting_basic_block(ir_instruction *bb_first,
|
|||||||
if (lhs_var->data.precise)
|
if (lhs_var->data.precise)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/* Do not graft sampler and image variables. This is a workaround to
|
||||||
|
* st/glsl_to_tgsi being unable to handle expression parameters to image
|
||||||
|
* intrinsics.
|
||||||
|
*
|
||||||
|
* Note that if this is ever fixed, we still need to skip grafting when
|
||||||
|
* any image layout qualifiers (including the image format) are set,
|
||||||
|
* since we must not lose those.
|
||||||
|
*/
|
||||||
|
if (lhs_var->type->is_sampler() || lhs_var->type->is_image())
|
||||||
|
continue;
|
||||||
|
|
||||||
ir_variable_refcount_entry *entry = info->refs->get_variable_entry(lhs_var);
|
ir_variable_refcount_entry *entry = info->refs->get_variable_entry(lhs_var);
|
||||||
|
|
||||||
if (!entry->declaration ||
|
if (!entry->declaration ||
|
||||||
|
Reference in New Issue
Block a user