[PATCH 3/5] d3dcompiler: Do not store matrix and vector indexes as deref instructions.
Matteo Bruni
matteo.mystral at gmail.com
Tue May 19 15:03:50 CDT 2020
On Tue, May 19, 2020 at 9:39 PM Zebediah Figura <zfigura at codeweavers.com> wrote:
>
> On 5/19/20 2:32 PM, Matteo Bruni wrote:
> > On Mon, May 4, 2020 at 10:04 PM Zebediah Figura <z.figura12 at gmail.com> wrote:
> >>
> >> Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
> >> ---
> >> dlls/d3dcompiler_43/hlsl.y | 12 +++---------
> >> 1 file changed, 3 insertions(+), 9 deletions(-)
> >>
> >> diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y
> >> index 5875705cf18..cc868757a26 100644
> >> --- a/dlls/d3dcompiler_43/hlsl.y
> >> +++ b/dlls/d3dcompiler_43/hlsl.y
> >> @@ -619,13 +619,10 @@ static struct hlsl_ir_deref *new_array_deref(struct hlsl_ir_node *array,
> >> {
> >> data_type = expr_type->e.array.type;
> >> }
> >> - else if (expr_type->type == HLSL_CLASS_MATRIX)
> >> + else if (expr_type->type == HLSL_CLASS_MATRIX || expr_type->type == HLSL_CLASS_VECTOR)
> >> {
> >> - data_type = new_hlsl_type(NULL, HLSL_CLASS_VECTOR, expr_type->base_type, expr_type->dimx, 1);
> >> - }
> >> - else if (expr_type->type == HLSL_CLASS_VECTOR)
> >> - {
> >> - data_type = new_hlsl_type(NULL, HLSL_CLASS_SCALAR, expr_type->base_type, 1, 1);
> >> + FIXME("Index of matrix or vector type.\n");
> >> + return NULL;
> >> }
> >> else
> >> {
> >> @@ -2337,9 +2334,6 @@ postfix_expr: primary_expr
> >> }
> >> | postfix_expr '[' expr ']'
> >> {
> >> - /* This may be an array dereference or a vector/matrix
> >> - * subcomponent access.
> >> - * We store it as an array dereference in any case. */
> >
> > Technically the first half of the comment still applies. Not sure it's
> > worth a comment but it didn't seem too obnoxious.
> >
>
> Sure. I think it's probably clear enough from new_array_deref(), but I
> can restore the comment if you'd prefer.
Nah, it's not worth the effort.
More information about the wine-devel
mailing list