[PATCH 1/5] d3dcompiler: Avoid "naked" vars in record dereferences.
Matteo Bruni
mbruni at codeweavers.com
Thu Oct 11 12:48:45 CDT 2012
---
dlls/d3dcompiler_43/utils.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/dlls/d3dcompiler_43/utils.c b/dlls/d3dcompiler_43/utils.c
index eca67c9..5bd39e8 100644
--- a/dlls/d3dcompiler_43/utils.c
+++ b/dlls/d3dcompiler_43/utils.c
@@ -1568,7 +1568,10 @@ struct hlsl_ir_deref *new_record_deref(struct hlsl_ir_node *record, struct hlsl_
deref->node.type = HLSL_IR_DEREF;
deref->node.data_type = field->type;
deref->type = HLSL_IR_DEREF_RECORD;
- deref->v.record.record = record;
+ if (record->type == HLSL_IR_VAR)
+ deref->v.record.record = &new_var_deref(var_from_node(record))->node;
+ else
+ deref->v.record.record = record;
deref->v.record.field = field;
return deref;
}
--
1.7.8.6
More information about the wine-patches
mailing list