diff options
author | Iago Toral Quiroga <[email protected]> | 2016-08-18 11:15:56 +0200 |
---|---|---|
committer | Samuel Iglesias Gonsálvez <[email protected]> | 2017-01-03 11:26:51 +0100 |
commit | 2b57adad0056273e38d9a9736cd98be95c0deb07 (patch) | |
tree | 5eb8828d8e0b8502568ac4b5b16ca5159eeb9936 /src/gbm/main/backend.c | |
parent | c3edacaa288ae01c0f37e645737feeeb48f2c3f2 (diff) |
i965/vec4/scalarize_df: support more swizzles via vstride=0
By exploiting gen7's hardware decompression bug with vstride=0 we gain the
capacity to support additional swizzle combinations.
This also fixes ZW writes from X/Y channels like in:
mov r2.z:df r0.xxxx:df
Because DF regions use 2-wide rows with a vstride of 2, the region generated
for the source would be r0<2,2,1>.xyxy:DF, which is equivalent to r0.xxzz, so
we end up writing r0.z in r2.z instead of r0.x. Using a vertical stride of 0
in these cases we get to replicate the XX swizzle and write what we want.
Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/gbm/main/backend.c')
0 files changed, 0 insertions, 0 deletions