Commit - Fix xf86CrtcSetModeTransform() to not skip transform processing with KMS
"Defnet, Benjamin R" <[email protected]> Tue, 12 May 2009 17:54:47 -0700
| Newsgroups | gmane.comp.freedesktop.xserver.cvs |
|---|---|
| Message-ID | <D2090E375276764B96AA3E46B35569CB413E56B2@orsmsx501.amr.corp.intel.com> |
--_004_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_
Content-Type: multipart/alternative;
boundary="_000_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_"
--_000_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Fix xf86CrtcSetModeTransform() to properly process required rotation and tr=
ansformation data, even when using kernel mode setting. Previously, with ke=
rnel mode setting enabled, this function just called set_mode_major() and r=
eturned causing transformations to never be applied.
This is my first time submitting a patch so please let me know if I'm not d=
oing this right.
See attached patch
Ben Defnet
--_000_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3DGenerator content=3D"Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:Arial;
color:windowtext;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=3DEN-US link=3Dblue vlink=3Dpurple>
<div class=3DSection1>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3D"C=
ourier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>Fix
xf86CrtcSetModeTransform() to properly process required rotation and
transformation data, even when using kernel mode setting. Previously, with
kernel mode setting enabled, this function just called set_mode_major() and
returned causing transformations to never be applied.<o:p></o:p></span></fo=
nt></p>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3D"C=
ourier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></spa=
n></font></p>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3DAr=
ial><span
style=3D'font-size:10.0pt;font-family:Arial'>This is my first time submitti=
ng a
patch so please let me know if I’m not doing this right.<o:p></o:p></=
span></font></p>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3D"C=
ourier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></spa=
n></font></p>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3D"C=
ourier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>See attached patch<o:p=
></o:p></span></font></p>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3D"C=
ourier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></spa=
n></font></p>
<p class=3DMsoNormal style=3D'text-autospace:none'><font size=3D2 face=3D"C=
ourier New"><span
style=3D'font-size:10.0pt;font-family:"Courier New"'>Ben Defnet<o:p></o:p><=
/span></font></p>
<p class=3DMsoNormal><font size=3D2 face=3DArial><span style=3D'font-size:1=
0.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
</div>
</body>
</html>
--_000_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_--
--_004_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_
Content-Type: application/octet-stream;
name="0001-Fix-xf86CrtcSetModeTransform-to-properly-process-r.patch"
Content-Description: 0001-Fix-xf86CrtcSetModeTransform-to-properly-process-r.patch
Content-Disposition: attachment;
filename="0001-Fix-xf86CrtcSetModeTransform-to-properly-process-r.patch";
size=5344; creation-date="Tue, 12 May 2009 17:51:26 GMT";
modification-date="Tue, 12 May 2009 17:51:26 GMT"
Content-Transfer-Encoding: base64
RnJvbSA2Yjg4NDE2MzlhNTlhMTE5MzIzYTgzYTY2NTJmNjkyMDM5M2ZlNTdmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCZW5qYW1pbiBEZWZuZXQgPGJlbmphbWluLnIuZGVmbmV0QGlu
dGVsLmNvbT4KRGF0ZTogVHVlLCAxMiBNYXkgMjAwOSAxNzo0NDoyNyAtMDcwMApTdWJqZWN0OiBb
UEFUQ0hdIEZpeCB4Zjg2Q3J0Y1NldE1vZGVUcmFuc2Zvcm0oKSB0byBwcm9wZXJseSBwcm9jZXNz
IHJlcXVpcmVkIHJvdGF0aW9uCiBhbmQgdHJhbnNmb3JtYXRpb24gZGF0YSwgZXZlbiB3aGVuIHVz
aW5nIGtlcm5lbCBtb2RlIHNldHRpbmcuCiBQcmV2aW91c2x5LCB3aXRoIGtlcm5lbCBtb2RlIHNl
dHRpbmcgZW5hYmxlZCwgdGhpcyBmdW5jdGlvbiBqdXN0CiBjYWxsZWQgc2V0X21vZGVfbWFqb3Io
KSBhbmQgcmV0dXJuZWQgY2F1c2luZyB0cmFuc2Zvcm1hdGlvbnMgdG8KIG5ldmVyIGJlIGFwcGxp
ZWQuCiBTaWduZWQtb2ZmLWJ5OiBCZW5qYW1pbiBEZWZuZXQgPGJlbmphbWluLnIuZGVmbmV0QGlu
dGVsLmNvbT4KCgltb2RpZmllZDogICB4Zjg2Q3J0Yy5jCgltb2RpZmllZDogICB4Zjg2Q3J0Yy5o
Ci0tLQogaHcveGZyZWU4Ni9tb2Rlcy94Zjg2Q3J0Yy5jIHwgICA5MiArKysrKysrKysrKysrKysr
KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBody94ZnJlZTg2L21vZGVzL3hmODZDcnRjLmgg
fCAgICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDQ0IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL2h3L3hmcmVlODYvbW9kZXMveGY4NkNydGMuYyBiL2h3L3hmcmVl
ODYvbW9kZXMveGY4NkNydGMuYwppbmRleCAxYzJlZTQ5Li5jYjFmYzczIDEwMDY0NAotLS0gYS9o
dy94ZnJlZTg2L21vZGVzL3hmODZDcnRjLmMKKysrIGIvaHcveGZyZWU4Ni9tb2Rlcy94Zjg2Q3J0
Yy5jCkBAIC0yNTQsOSArMjU0LDcgQEAgeGY4NkNydGNTZXRNb2RlVHJhbnNmb3JtICh4Zjg2Q3J0
Y1B0ciBjcnRjLCBEaXNwbGF5TW9kZVB0ciBtb2RlLCBSb3RhdGlvbiByb3RhdGkKICAgICBSb3Rh
dGlvbgkJc2F2ZWRfcm90YXRpb247CiAgICAgUlJUcmFuc2Zvcm1SZWMJc2F2ZWRfdHJhbnNmb3Jt
OwogICAgIEJvb2wJCXNhdmVkX3RyYW5zZm9ybV9wcmVzZW50OwotCi0gICAgaWYgKGNydGMtPmZ1
bmNzLT5zZXRfbW9kZV9tYWpvcikKLQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPnNldF9tb2RlX21ham9y
KGNydGMsIG1vZGUsIHJvdGF0aW9uLCB4LCB5KTsKKyAgICBCb29sCQl1c2Vfa2VybmVsX21vZGVf
c2V0dGluZyA9IChjcnRjLT5mdW5jcy0+c2V0X21vZGVfbWFqb3IgIT0gTlVMTCk7CiAKICAgICBj
cnRjLT5lbmFibGVkID0geGY4NkNydGNJblVzZSAoY3J0Yyk7CiAKQEAgLTMwNiw2MyArMzA0LDcx
IEBAIHhmODZDcnRjU2V0TW9kZVRyYW5zZm9ybSAoeGY4NkNydGNQdHIgY3J0YywgRGlzcGxheU1v
ZGVQdHIgbW9kZSwgUm90YXRpb24gcm90YXRpCiAJZ290byBkb25lOwogICAgIH0KIAotICAgIC8q
IFBhc3Mgb3VyIG1vZGUgdG8gdGhlIG91dHB1dHMgYW5kIHRoZSBDUlRDIHRvIGdpdmUgdGhlbSBh
IGNoYW5jZSB0bwotICAgICAqIGFkanVzdCBpdCBhY2NvcmRpbmcgdG8gbGltaXRhdGlvbnMgb3Ig
b3V0cHV0IHByb3BlcnRpZXMsIGFuZCBhbHNvCi0gICAgICogYSBjaGFuY2UgdG8gcmVqZWN0IHRo
ZSBtb2RlIGVudGlyZWx5LgotICAgICAqLwotICAgIGZvciAoaSA9IDA7IGkgPCB4Zjg2X2NvbmZp
Zy0+bnVtX291dHB1dDsgaSsrKSB7Ci0JeGY4Nk91dHB1dFB0ciBvdXRwdXQgPSB4Zjg2X2NvbmZp
Zy0+b3V0cHV0W2ldOworICAgIGlmICghdXNlX2tlcm5lbF9tb2RlX3NldHRpbmcpIHsKKwkvKiBQ
YXNzIG91ciBtb2RlIHRvIHRoZSBvdXRwdXRzIGFuZCB0aGUgQ1JUQyB0byBnaXZlIHRoZW0gYSBj
aGFuY2UgdG8KKwkgKiBhZGp1c3QgaXQgYWNjb3JkaW5nIHRvIGxpbWl0YXRpb25zIG9yIG91dHB1
dCBwcm9wZXJ0aWVzLCBhbmQgYWxzbworCSAqIGEgY2hhbmNlIHRvIHJlamVjdCB0aGUgbW9kZSBl
bnRpcmVseS4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgeGY4Nl9jb25maWctPm51bV9vdXRwdXQ7
IGkrKykgeworCSAgICB4Zjg2T3V0cHV0UHRyIG91dHB1dCA9IHhmODZfY29uZmlnLT5vdXRwdXRb
aV07CiAKLQlpZiAob3V0cHV0LT5jcnRjICE9IGNydGMpCi0JICAgIGNvbnRpbnVlOworCSAgICBp
ZiAob3V0cHV0LT5jcnRjICE9IGNydGMpCisJCWNvbnRpbnVlOwogCi0JaWYgKCFvdXRwdXQtPmZ1
bmNzLT5tb2RlX2ZpeHVwKG91dHB1dCwgbW9kZSwgYWRqdXN0ZWRfbW9kZSkpIHsKLQkgICAgZ290
byBkb25lOworCSAgICBpZiAoIW91dHB1dC0+ZnVuY3MtPm1vZGVfZml4dXAob3V0cHV0LCBtb2Rl
LCBhZGp1c3RlZF9tb2RlKSkgeworCQlnb3RvIGRvbmU7CisJICAgIH0KIAl9Ci0gICAgfQogCi0g
ICAgaWYgKCFjcnRjLT5mdW5jcy0+bW9kZV9maXh1cChjcnRjLCBtb2RlLCBhZGp1c3RlZF9tb2Rl
KSkgewotCWdvdG8gZG9uZTsKKwlpZiAoIWNydGMtPmZ1bmNzLT5tb2RlX2ZpeHVwKGNydGMsIG1v
ZGUsIGFkanVzdGVkX21vZGUpKSB7CisJICAgIGdvdG8gZG9uZTsKKwl9CiAgICAgfQogCiAgICAg
aWYgKCF4Zjg2Q3J0Y1JvdGF0ZSAoY3J0YykpCiAJZ290byBkb25lOwogCi0gICAgLyogUHJlcGFy
ZSB0aGUgb3V0cHV0cyBhbmQgQ1JUQ3MgYmVmb3JlIHNldHRpbmcgdGhlIG1vZGUuICovCi0gICAg
Zm9yIChpID0gMDsgaSA8IHhmODZfY29uZmlnLT5udW1fb3V0cHV0OyBpKyspIHsKLQl4Zjg2T3V0
cHV0UHRyIG91dHB1dCA9IHhmODZfY29uZmlnLT5vdXRwdXRbaV07CisgICAgaWYgKCF1c2Vfa2Vy
bmVsX21vZGVfc2V0dGluZykgeworCS8qIFByZXBhcmUgdGhlIG91dHB1dHMgYW5kIENSVENzIGJl
Zm9yZSBzZXR0aW5nIHRoZSBtb2RlLiAqLworCWZvciAoaSA9IDA7IGkgPCB4Zjg2X2NvbmZpZy0+
bnVtX291dHB1dDsgaSsrKSB7CisJICAgIHhmODZPdXRwdXRQdHIgb3V0cHV0ID0geGY4Nl9jb25m
aWctPm91dHB1dFtpXTsKIAotCWlmIChvdXRwdXQtPmNydGMgIT0gY3J0YykKLQkgICAgY29udGlu
dWU7CisJICAgIGlmIChvdXRwdXQtPmNydGMgIT0gY3J0YykKKwkJY29udGludWU7CiAKLQkvKiBE
aXNhYmxlIHRoZSBvdXRwdXQgYXMgdGhlIGZpcnN0IHRoaW5nIHdlIGRvLiAqLwotCW91dHB1dC0+
ZnVuY3MtPnByZXBhcmUob3V0cHV0KTsKLSAgICB9CisJICAgIC8qIERpc2FibGUgdGhlIG91dHB1
dCBhcyB0aGUgZmlyc3QgdGhpbmcgd2UgZG8uICovCisJICAgIG91dHB1dC0+ZnVuY3MtPnByZXBh
cmUob3V0cHV0KTsKKwl9CiAKLSAgICBjcnRjLT5mdW5jcy0+cHJlcGFyZShjcnRjKTsKKwljcnRj
LT5mdW5jcy0+cHJlcGFyZShjcnRjKTsKIAotICAgIC8qIFNldCB1cCB0aGUgRFBMTCBhbmQgYW55
IG91dHB1dCBzdGF0ZSB0aGF0IG5lZWRzIHRvIGFkanVzdCBvciBkZXBlbmQKLSAgICAgKiBvbiB0
aGUgRFBMTC4KLSAgICAgKi8KLSAgICBjcnRjLT5mdW5jcy0+bW9kZV9zZXQoY3J0YywgbW9kZSwg
YWRqdXN0ZWRfbW9kZSwgY3J0Yy0+eCwgY3J0Yy0+eSk7Ci0gICAgZm9yIChpID0gMDsgaSA8IHhm
ODZfY29uZmlnLT5udW1fb3V0cHV0OyBpKyspIAotICAgIHsKLQl4Zjg2T3V0cHV0UHRyIG91dHB1
dCA9IHhmODZfY29uZmlnLT5vdXRwdXRbaV07Ci0JaWYgKG91dHB1dC0+Y3J0YyA9PSBjcnRjKQot
CSAgICBvdXRwdXQtPmZ1bmNzLT5tb2RlX3NldChvdXRwdXQsIG1vZGUsIGFkanVzdGVkX21vZGUp
OwotICAgIH0KKwkvKiBTZXQgdXAgdGhlIERQTEwgYW5kIGFueSBvdXRwdXQgc3RhdGUgdGhhdCBu
ZWVkcyB0byBhZGp1c3Qgb3IgZGVwZW5kCisJICogb24gdGhlIERQTEwuCisJICovCisJY3J0Yy0+
ZnVuY3MtPm1vZGVfc2V0KGNydGMsIG1vZGUsIGFkanVzdGVkX21vZGUsIGNydGMtPngsIGNydGMt
PnkpOworCWZvciAoaSA9IDA7IGkgPCB4Zjg2X2NvbmZpZy0+bnVtX291dHB1dDsgaSsrKQorCXsK
KwkgICAgeGY4Nk91dHB1dFB0ciBvdXRwdXQgPSB4Zjg2X2NvbmZpZy0+b3V0cHV0W2ldOworCSAg
ICBpZiAob3V0cHV0LT5jcnRjID09IGNydGMpCisJCW91dHB1dC0+ZnVuY3MtPm1vZGVfc2V0KG91
dHB1dCwgbW9kZSwgYWRqdXN0ZWRfbW9kZSk7CisJfQogCi0gICAgLyogTm93LCBlbmFibGUgdGhl
IGNsb2NrcywgcGxhbmUsIHBpcGUsIGFuZCBvdXRwdXRzIHRoYXQgd2Ugc2V0IHVwLiAqLwotICAg
IGNydGMtPmZ1bmNzLT5jb21taXQoY3J0Yyk7Ci0gICAgZm9yIChpID0gMDsgaSA8IHhmODZfY29u
ZmlnLT5udW1fb3V0cHV0OyBpKyspIAotICAgIHsKLQl4Zjg2T3V0cHV0UHRyIG91dHB1dCA9IHhm
ODZfY29uZmlnLT5vdXRwdXRbaV07Ci0JaWYgKG91dHB1dC0+Y3J0YyA9PSBjcnRjKQotCSAgICBv
dXRwdXQtPmZ1bmNzLT5jb21taXQob3V0cHV0KTsKKwkvKiBOb3csIGVuYWJsZSB0aGUgY2xvY2tz
LCBwbGFuZSwgcGlwZSwgYW5kIG91dHB1dHMgdGhhdCB3ZSBzZXQgdXAuICovCisJY3J0Yy0+ZnVu
Y3MtPmNvbW1pdChjcnRjKTsKKwlmb3IgKGkgPSAwOyBpIDwgeGY4Nl9jb25maWctPm51bV9vdXRw
dXQ7IGkrKykKKwl7CisJICAgIHhmODZPdXRwdXRQdHIgb3V0cHV0ID0geGY4Nl9jb25maWctPm91
dHB1dFtpXTsKKwkgICAgaWYgKG91dHB1dC0+Y3J0YyA9PSBjcnRjKQorCQlvdXRwdXQtPmZ1bmNz
LT5jb21taXQob3V0cHV0KTsKKwl9CisJcmV0ID0gVFJVRTsKKyAgICB9CisgICAgZWxzZSB7CisJ
LyogVXNpbmcga2VybmVsIG1vZGUgc2V0dGluZyAqLworCXJldCA9IGNydGMtPmZ1bmNzLT5zZXRf
bW9kZV9tYWpvcihjcnRjLCBtb2RlLCB4LCB5KTsKICAgICB9CiAKICAgICAvKiBYWFggZnJlZSBh
ZGp1c3RlZG1vZGUgKi8KLSAgICByZXQgPSBUUlVFOwogICAgIGlmIChzY3JuLT5wU2NyZWVuKQog
CXhmODZDcnRjU2V0U2NyZWVuU3VicGl4ZWxPcmRlciAoc2Nybi0+cFNjcmVlbik7CiAKZGlmZiAt
LWdpdCBhL2h3L3hmcmVlODYvbW9kZXMveGY4NkNydGMuaCBiL2h3L3hmcmVlODYvbW9kZXMveGY4
NkNydGMuaAppbmRleCAwYTU5NmJjLi5lZWJiNmIwIDEwMDY0NAotLS0gYS9ody94ZnJlZTg2L21v
ZGVzL3hmODZDcnRjLmgKKysrIGIvaHcveGZyZWU4Ni9tb2Rlcy94Zjg2Q3J0Yy5oCkBAIC0yMTIs
NyArMjEyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX3hmODZDcnRjRnVuY3MgewogICAgICAqLwogICAg
IEJvb2wKICAgICAoKnNldF9tb2RlX21ham9yKSh4Zjg2Q3J0Y1B0ciBjcnRjLCBEaXNwbGF5TW9k
ZVB0ciBtb2RlLAotCQkgICAgICBSb3RhdGlvbiByb3RhdGlvbiwgaW50IHgsIGludCB5KTsKKwkJ
ICAgICAgaW50IHgsIGludCB5KTsKIAogICAgIC8qKgogICAgICAqIENhbGxiYWNrIGZvciBwYW5u
aW5nLiBEb2Vzbid0IGNoYW5nZSB0aGUgbW9kZS4KLS0gCjEuNi4wLjYKCg==
--_004_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
xserver-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xserver-commit
--_004_D2090E375276764B96AA3E46B35569CB413E56B2orsmsx501amrcor_--