~mmach/netext73/xorg-intel

« back to all changes in this revision

Viewing changes to src/sna/brw/brw_sf.c

  • Committer: mmach
  • Date: 2021-03-17 18:24:35 UTC
  • Revision ID: netbit73@gmail.com-20210317182435-7okt04d35etrqgqp
lipiec

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "brw.h"
 
2
 
 
3
bool brw_sf_kernel__nomask(struct brw_compile *p)
 
4
{
 
5
        struct brw_reg inv, v0, v1, v2, delta;
 
6
 
 
7
        v0 = brw_vec4_grf(3, 0);
 
8
        v1 = brw_vec4_grf(4, 0);
 
9
        v2 = brw_vec4_grf(5, 0);
 
10
        delta = brw_vec8_grf(7, 0);
 
11
 
 
12
        inv = brw_vec4_grf(6, 0);
 
13
        brw_math_invert(p, inv, brw_vec4_grf(1, 11));
 
14
 
 
15
        brw_MOV(p, brw_message_reg(3), v0);
 
16
 
 
17
        brw_ADD(p, delta, v1, brw_negate(v2));
 
18
        brw_MUL(p, brw_message_reg(1), delta, brw_vec1_grf(6,0));
 
19
 
 
20
        brw_ADD(p, delta, v2, brw_negate(v0));
 
21
        brw_MUL(p, brw_message_reg(2), delta, brw_vec1_grf(6,2));
 
22
 
 
23
        brw_urb_WRITE(p, brw_null_reg(), 0, brw_vec8_grf(0 ,0),
 
24
                      false, true, 4, 0, true, true, 0,
 
25
                      BRW_URB_SWIZZLE_TRANSPOSE);
 
26
 
 
27
        return true;
 
28
}
 
29
 
 
30
bool brw_sf_kernel__mask(struct brw_compile *p)
 
31
{
 
32
        struct brw_reg inv, v0, v1, v2;
 
33
 
 
34
        v0 = brw_vec8_grf(3, 0);
 
35
        v1 = brw_vec8_grf(4, 0);
 
36
        v2 = brw_vec8_grf(5, 0);
 
37
 
 
38
        inv = brw_vec4_grf(6, 0);
 
39
        brw_math_invert(p, inv, brw_vec4_grf(1, 11));
 
40
 
 
41
        brw_MOV(p, brw_message_reg(3), v0);
 
42
 
 
43
        brw_ADD(p, brw_vec8_grf(7, 0), v1, brw_negate(v2));
 
44
        brw_MUL(p, brw_message_reg(1), brw_vec8_grf(7, 0), brw_vec1_grf(6,0));
 
45
 
 
46
        brw_ADD(p, brw_vec8_grf(7, 0), v2, brw_negate(v0));
 
47
        brw_MUL(p, brw_message_reg(2), brw_vec8_grf(7, 0), brw_vec1_grf(6,2));
 
48
 
 
49
        brw_urb_WRITE(p, brw_null_reg(), 0, brw_vec8_grf(0 ,0),
 
50
                      false, true, 4, 0, true, true, 0,
 
51
                      BRW_URB_SWIZZLE_TRANSPOSE);
 
52
 
 
53
        return true;
 
54
}