diff options
author | Keith Packard <keithp@keithp.com> | 2008-04-09 09:30:35 -0500 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2008-04-10 16:58:11 -0500 |
commit | b01d582e23fc99e32bc47a395e9caa366731372a (patch) | |
tree | c5b5fbb2e92f92dc85fe638686dbc81afd848583 /src/exa_wm_write.g4a | |
parent | 3fc3d1a701bae257b70aa7b7654c722f30e71399 (diff) |
Revert "Compute pixel values directly into data port"
This reverts commit 346cf57deabb4c336612df4c13650a87b5ef6775.
Mixing randr transforms and video caused screen corruption for Render
operations. No, I don't understand why.
Diffstat (limited to 'src/exa_wm_write.g4a')
-rw-r--r-- | src/exa_wm_write.g4a | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/exa_wm_write.g4a b/src/exa_wm_write.g4a index c46023e8..b16e6497 100644 --- a/src/exa_wm_write.g4a +++ b/src/exa_wm_write.g4a @@ -27,6 +27,24 @@ include(`exa_wm.g4i') +/* + * Prepare data in m2-m5 for subspan(1,0), m6-m9 for subspan(3,2), + * + * Note that the SIMD16 write message takes data for the first + * two sub-spans followed by the data for the second two sub-spans + * instead of having the two sub-spans interleaved by channel. Weird. + */ + +mov (8) data_port_r_01<1>F src_sample_r_01<8,8,1>F { align1 }; +mov (8) data_port_g_01<1>F src_sample_g_01<8,8,1>F { align1 }; +mov (8) data_port_b_01<1>F src_sample_b_01<8,8,1>F { align1 }; +mov (8) data_port_a_01<1>F src_sample_a_01<8,8,1>F { align1 }; + +mov (8) data_port_r_23<1>F src_sample_r_23<8,8,1>F { align1 }; +mov (8) data_port_g_23<1>F src_sample_g_23<8,8,1>F { align1 }; +mov (8) data_port_b_23<1>F src_sample_b_23<8,8,1>F { align1 }; +mov (8) data_port_a_23<1>F src_sample_a_23<8,8,1>F { align1 }; + /* m0, m1 are all direct passed by PS thread payload */ mov (8) data_port_msg_1<1>UD g1<8,8,1>UD { align1 }; |