PlayScriptRedux / playscript

PlayScript is an ActionScript compatible compiler and Flash compatible runtime that runs in the Mono/.NET environment
Other
17 stars 9 forks source link

Away3d display strangely clipped #76

Closed sushihangover closed 9 years ago

sushihangover commented 9 years ago

Example: Particle Fire demo, the checker board texture is clipped strangely:

screen shot 2015-08-26 at 2 56 28 pm

sushihangover commented 9 years ago

Bisected:

fbcab00be6a98c6dcdd949aee35bf993958c7cb5 Add is operator tests for upstream merge regression
9bd72bda370527d059c28f6276e2f537483968c4 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '644ff6' into c8cfee
c8cfee5dd7cf444aa842233409784d8e54fe3280 Merge commit '38c3874627b632c0fbd3809891bd43df7e3cac68'
4a519976d8116e04341c944a5c3951e755588d7b Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'acb0cc' into 63c11d
bb48711856630cb2db3ac8ccc9013a1453493b44 Automated Stalker (StalkMerge) merge commit from: 'b2d61a' into 63c11d
85a4e55bdcf688ebb1a2a4b2a16e145cc90f3d59 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'ba64d7' into 63c11d
b9ae8e21462aa2892b77e84828bcd84d5071ab69 Automated Stalker (StalkMerge) merge commit from: '03aee9' into 63c11d
84d5c41af6743ea4bfe1289a046bea4bf08b7f3d Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '903c5e' into 63c11d
c564b37bd79e2716baf3b98fb33e093433ee68d0 Automated Stalker (StalkMerge) merge commit from: '7ec978' into 63c11d
dc6a4f62f52c50116b8c353582e751312c972929 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'fff41a' into 63c11d
a4235c03362069a005794ba5ec2a4d763508fad3 Automated Stalker (StalkMerge) merge commit from: 'dc75a4' into 63c11d
57a1a51e60b03a9d32d917b21ffb4a9a2bc06030 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'b27c2d' into 63c11d
4d339c3aabd5c8cb01e6690afb6680477b4a2adf Automated Stalker (StalkMerge) merge commit from: '397176' into 63c11d
14fece3bd7712e39a6dbb10653445a196d8302f4 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '4b48ec' into 63c11d
de0181ffe72aa41f36f1028ed297dffd05cf3be3 Automated Stalker (StalkMerge) merge commit from: '33c345' into 63c11d
efd8c7c5221a675c83cd9e8d7d92594626e95969 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'fee0db' into 63c11d
0e615bfc5d241a6efab770927c72f45234a97979 Automated Stalker (StalkMerge) merge commit from: '924d62' into 63c11d
b11bbfe6630f532be18ecb4497e50db65189e7ff Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '30c030' into 63c11d
63c11d9f5d11a5c7ef40a3689371f9405cb0bdbd Merge commit '121766abb99b75a30d0f508d24979bed54c9b4a9'
becf76609a94ab7395b8cac7faff4bdaa29fabdb Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '379be3' into 57a553
57a553c88f6e6692ea9a258f654f01eca1388788 Merge commit '4b2ddc74cc5e84905eb37265a99a9a2a709af6eb'
cd017e58cc17f3b56b40e69b58793e4680047712 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '8c6e7f' into 3f9ac7
3f9ac753f8307e4a1fbf6a1aebc91f244221f51a Merge commit '7152730bcdcaea793be72c4a43cb8842fd855700'
e3281a54ab3c1fc0e45b8aa4a83ab06480333d53 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '9330b9' into 2717f1
2717f11b296e8fc94b042046a09e1f49d7d1099d Merge commit '48661028204bd1a123e8f4ed18d989585365ad15'
2238a529adadb36c7e812fdcb985d655d7a10958 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'af4dcd' into ebc874
343c54900535c141dd0ee87e1b7a4b063dbc4044 Automated Stalker (StalkMerge) merge commit from: 'e1d28d' into ebc874
bb80d6b44039788496cd2a7998d081d372581e65 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '5d2f30' into ebc874
ebc8747227a361a2f22a8bde8b48b9bc18c7f65d Merge commit 'd87c7069818786e4533c548c12223d7007622590'
9a35c263380bbbdf70db1a07de80ad415c5e5869 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '8c6593' into 588c6d
47d8303a9b0b9967a56893ad990acc6f6192b748 Automated Stalker (StalkMerge) merge commit from: '78b1cd' into 588c6d
ea80d7f5387a6cb66c174e6d996a7cbe284af6c4 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'f2b5c8' into 588c6d
c68636e49674fb6ec4a15da8778cbad687ee4db5 Automated Stalker (StalkMerge) merge commit from: '289331' into 588c6d
ee0cea639cba45b221b8fb0af078e18ace0fa1f7 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '271277' into 588c6d
588c6daea96bc77017e49a66f834b987afa4a726 Merge commit '8020aafc3b2cfe43696b8f0e9d784c7ead432380'
fd0d1f47a171271c2674011c7746f82ada6e4295 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '105c91' into caf3c6
bd7d20ea7dc219c9fb6bce5098d33b5b0e5dbff8 Automated Stalker (StalkMerge) merge commit from: '0cdfb2' into caf3c6
b6d31e5887f6253844c4cbae002e84228c39711c Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'd990d9' into caf3c6
caf3c6755765c68336941e58e9a35fdc1e32f60e Merge commit 'e9b93e27881e24b6791e9412a2655c830b2189b9'
cd963ae0a060fb01ff3f59cbf5f75ad602be8624 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '776efa' into 9d3af9
3d134a3451c554eb72c85660dcf40e94a351ee8e Automated Stalker (StalkMerge) merge commit from: 'e57c1e' into 9d3af9
19c7d5495db9089489eacbac9de602b5f452ba65 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '24ef95' into 9d3af9
9d3af9d8217bdc619acaaa8585bf4e56e03abd37 Merge commit '37e33ceb3e26fc1b6192238688e6a2895e06668f'

broken 9b73c00d5abc45d88360ba607699da77b8039ff7 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'ebcc2e' into c14924

888269839dcde8a8badb2e2c7c3f370321373d2c Automated Stalker (StalkMerge) merge commit from: '09f73f' into c14924
55ebbe966e9043c41dba5b5ab358aebe8b9125f7 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'c69e74' into c14924
24ec57af6f5285a4927fbee1eee50e95a5710f91 Automated Stalker (StalkMerge) merge commit from: '2c6797' into c14924
d0119661ebc03ceb0c3033d25cb1e49c50c6d2f9 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'b3251b' into c14924
3a3640777d0910ffed542c1adc75973f1b6c8fe8 Automated Stalker (StalkMerge) merge commit from: 'a41a62' into c14924
6367bb1210fd64493f44719399bed21b0b146797 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '9c4688' into c14924
c149241ae67012f6f63d698c52feec3749e86f33 Merge commit '24005444c7c1c570db730f17b6d15dd66d3728b6'
deba56be4e91f9b9ae09cc221f6ac522bfd19aa5 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '38d569' into 1677d8
826eaad56f42183f06913b48e33b283ab5180adf Automated Stalker (StalkMerge) merge commit from: '2c037b' into 1677d8
99b9db067e9763b3ea938c57969acdee052fe221 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '76efee' into 1677d8
1677d8f3cae0efafb7e0d898c700e9ca8691be03 Merge commit '230b3bfce41ee2a79814bbf95adae26b795a0a9c'
66fbb6563627cbe396fbb0ba6a7ca1e56828c65f Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'd34210' into f363c9
f363c9ee50487e16b5d7428778b5726a77ec3b68 Merge commit '5aeec74842c99c975530dadcc99d44d03bebe263'
f379c9e1cfccb2dc7c423622821fbf1f34676996 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'acb552' into 898d56
609a2e7ffd4c559b45ae8caed7cd3869b9cd8fe5 Automated Stalker (StalkMerge) merge commit from: '62a15c' into 898d56
07764fc40220fee7806020a58f458c2e7de49668 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '512c14' into 898d56

broken/away3d-clipped 91777d71b5a7ca312b82ea6df51e3e654a939bbe Automated Stalker (StalkMerge) merge commit from: 'c8c631' into 898d56

083df951f3887ad631404d4b8ddf32afc4d281bc Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'a4f96b' into 898d56
898d560ecdc5c848537a13c811423a8d9ee88baf Add some parity to nameof changes in .play files:

Broken build 5cbfd9f46aee49e47696959a636a499870e0d2a7 Merge commit 'b8d8f62956c377b535278195cfa5fc4c75653738' into merges-to-mono-3.10.0

ps-lang.cs(51,28): error CS0115: `Mono.CSharp.UntypedTypeExpression.ResolveAsType(Mono.CSharp.IMemberContext)' is marked as an override but no suitable method found to override
ps-lang.cs(93,28): error CS0115: `Mono.CSharp.UntypedExceptionExpression.ResolveAsType(Mono.CSharp.IMemberContext)' is marked as an override but no suitable method found to override
Compila

8c54fd6c737591d68651b7cc03b7be285e81cf21 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '416c5e' into c78807
c78807ea859b70494e9f36af8a86b191af93ad9b Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '48e112' into 00e6dd
00e6dd5a8536696455150c36464b80e364409533 Fixes #74 : ActionScript function casts
3e7d84b5b1f5d02e04bdde3c4515cc9c3bcf80ac Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '8e9da6' into 1b3ba9
1b3ba9818c569d6553d1f0bb924fe46178a29584 Merge commit '49699b81881dcec17c0e101901ffa196acb73d58'
57f85a563b9186aa136a027c0034d74dc31453e3 Add new tests to track any regresssions against upstream merge:
192865ffde1a2c6e193bc8e37417c75578e570c8 Do not flag duplicate names as an error in tests since ActionScript allows this
1fa20de07d174732c3510d917b88ad2ea84e5c8e Merge commit 'be86c5d4066ab4e306901e81e67272b19c3be395'
1375fe27a35a4338cc8755b221add96b1bf6ac5f Automated Stalker (StalkMerge) merge commit from: '7c9d05' into bd83dc
c9a3c0d45175b0cba8f6af24476bc518f422537b Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '82f411' into bd83dc
124f469d16ff02415b4ff66a1a5c349cacbd8811 Automated Stalker (StalkMerge) merge commit from: '11a3da' into bd83dc
2bd2993a2ab8359141c7a84d5df244092ca3a825 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '6f3ad3' into bd83dc
bd83dce87da87ade60389b32cc4b6091f3d86a7f Merge commit '90ccde72e53abc6fce46b457251b332783c8da79'
c7d8792de0d862365069c816c32b61730a178eb8 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'f17d71' into ac3fb0
f3d868961136038fd84b7a227f8d3259c336e9ba Automated Stalker (StalkMerge) merge commit from: '4165d8' into ac3fb0

broken/away3d-clipped ae38bbd53856f43858c12efe2857bf2a809861b7 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '31daf9' into ac3fb0

ac3fb0d3b8ffd98d8a78d00e3cabdc49dabbc05d Merge commit 'f5629c16e0b13d9c29966c8731b1dd39e47e1a33'
2318053592354141c9d2d74d3ec4954942e061d9 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '98bbf8' into 1d5d66
1d5d6604705e4375c7c6c540d3a66ed82b452604 Merge commit 'c6ae57fa19ec8ecf3ebeebfe568e31d5eb208c48'
c72716f04e1e4821257b7d53e947947cd8d213c3 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '0f1a42' into e7dfbc
e7dfbc16a053ae1dc59763771d392ac9a22e7d18 Merge commit 'd3553fefdc5515445fbfcdfb7933edd8c463dd19'

broken/away3d-clipped d929cb3070bdea2a7ed2c5cd0a80bc5fb976c0d7 Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: '631f36' into fddf57

c3f3ca4c1ff82d2711a0970ef9d67ce0f1601f58 Automated Stalker (StalkMerge) merge commit from: '6b32f6' into fddf57
492e55dd422f1cb92c01c868a11d9f7a77ed4a7f Automated Stalker (StalkUpTo) merge commit from: '1a021c' to: 'cd364b' into fddf57

broken/away3d-clipped fddf57c83a751ee0de870b10301bdca9ced625cf Build fix: Bad upstream merge

b53c9a49969c204dacf79933c63cc0c6350f7f4e Stalker merge commit from: 'ba1842' into 6a72a1
878a1afc400b61aeae0f959940511c9f28bdf37c Merge commit 'adf5717203ebd0f8fe5941bc6785d7514799a651'

broken/away3d-clipped 200ce023da2b9645640d38a60c69d5439bcc2147 Merge commit '3bd87b33c522187af6aa8e31bbd82043905d357e'

d4785ec34b1dfd424953bf8e2a07dbd1ee43ea8c Merge commit '04ae3b8a2e96bd9d78b214a92ec6d8385dc5d3ea'

broken build : f5ca8e232ac6865d81b7e0d82a23a2bb1cba3c40 Update missing IL verification data
Mono.Documentation/mdoc.cs(51,31): error CS0246: The type or namespace name `MDocPreserve' could not be found. Are you missing an assembly reference?

broken/away3d-clipped  5a594cf95631f1f7bbf76d6f4debb1e5f1155757 Merge commit 'c8796a126da7d22bc66576d2186c77ff9bed9f22'

broken/away3d-clipped  50248d648de81e4bd98fd182993e6bc462f19dc4 Merge commit 'da44df5a50996b186f4d74ce78446c0d7578e62f'

WORKS dba0fddcfbc638504cdbd1abedcc634d3fb630e0 Stalker merge commit from: '90c38a' into 6a72a1

21eb36528c145f326e1d59e1095ac6cd6d2890cb Merge commit '30407b77ce155878630cc71453f40b63854acf93'
59fff3fe72e54008948693126ded5cf1ea7b2a10 Ref #72 : Start of Null Operators to have parity in .play and C# 6
6d822246669b35b7e584bbc73cdb123760ed90b9 Merge commit 'e7bf6d81ea3f864f26f702cc5257a511990c1ed6'
sushihangover commented 9 years ago

WORKS dba0fddcfbc638504cdbd1abedcc634d3fb630e0 BROKEN 50248d648de81e4bd98fd182993e6bc462f19dc4

git diff --name-status 
dba0fddcfbc638504cdbd1abedcc634d3fb630e0..50248d648de81e4bd98fd182993e6bc462f19dc4
M       configure.ac
M       libgc/configure.ac
M       libgc/dyn_load.c
M       libgc/include/gc.h
M       libgc/include/private/gcconfig.h
M       man/mono.1
M       mcs/class/System/System.Net.NetworkInformation/NetworkInterface.cs
M       mcs/class/monodoc/Monodoc.Ecma/EcmaDesc.cs
M       mcs/class/monodoc/Monodoc/cache.cs
M       mcs/class/monodoc/Monodoc/providers/EcmaDoc.cs
M       mcs/class/monodoc/Monodoc/providers/ecma-provider.cs
A       mcs/errors/cs0429-5.cs
M       mcs/mcs/codegen.cs
M       mcs/mcs/nullable.cs
M       mcs/tests/test-898.cs
A       mcs/tests/test-903.cs
M       mcs/tests/ver-il-net_4_5.xml
M       mcs/tools/mdoc/Mono.Documentation/assembler.cs
M       mcs/tools/mdoc/Mono.Documentation/mdoc.cs
M       mcs/tools/mdoc/Mono.Documentation/monodocer.cs
A       mcs/tools/mdoc/Mono.Documentation/preserver.cs
M       mcs/tools/mdoc/mdoc.csproj
M       mono/io-layer/io.c
M       mono/metadata/sgen-alloc.c
M       mono/metadata/sgen-gc.c
M       mono/metadata/sgen-gc.h
M       mono/metadata/sgen-nursery-allocator.c
M       mono/metadata/sgen-os-posix.c
M       mono/metadata/sgen-protocol.c
M       mono/metadata/sgen-protocol.h
M       mono/mini/gshared.cs
M       mono/mini/method-to-ir.c
M       mono/mini/mini-amd64.h
M       mono/mini/mini-x86.h
M       mono/unit-tests/Makefile.am
M       mono/utils/mono-sigcontext.h
sushihangover commented 9 years ago

git diff dba0fddcfbc638504cdbd1abedcc634d3fb630e0..50248d648de81e4bd98fd182993e6bc462f19dc4 -- mcs/mcs/nullable.cs

diff --git a/mcs/mcs/nullable.cs b/mcs/mcs/nullable.cs
index 512484b..bfa5377 100644
--- a/mcs/mcs/nullable.cs
+++ b/mcs/mcs/nullable.cs
@@ -1203,6 +1203,12 @@ namespace Mono.CSharp.Nullable
                                return ReducedExpression.Create (right, this, false).Resolve (ec);

                        left = Convert.ImplicitConversion (ec, unwrap ?? left, rtype, loc);
+
+                       if (TypeSpec.IsValueType (left.Type) && !left.Type.IsNullableType) {
+                               Warning_UnreachableExpression (ec, right.Location);
+                               return ReducedExpression.Create (left, this, false).Resolve (ec);
+                       }
+
                        type = rtype;
                        return this;
                }
sushihangover commented 9 years ago

git diff dba0fddcfbc638504cdbd1abedcc634d3fb630e0..50248d648de81e4bd98fd182993e6bc462f19dc4 -- mcs/mcs/codegen.cs

diff --git a/mcs/mcs/codegen.cs b/mcs/mcs/codegen.cs
index 30e9eea..afbc4d5 100644
--- a/mcs/mcs/codegen.cs
+++ b/mcs/mcs/codegen.cs
@@ -546,8 +546,8 @@ namespace Mono.CSharp
                                // bool array can actually store any byte value
                                //
                                ig.Emit (OpCodes.Ldelem_U1);
-                               ig.Emit (OpCodes.Ldc_I4_1);
-                               ig.Emit (OpCodes.And);
+                               ig.Emit (OpCodes.Ldc_I4_0);
+                               ig.Emit (OpCodes.Cgt_Un);
                                break;
                        case BuiltinTypeSpec.Type.Byte:
                                ig.Emit (OpCodes.Ldelem_U1);
@@ -768,8 +768,8 @@ namespace Mono.CSharp
                                break;
                        case BuiltinTypeSpec.Type.Bool:
                                ig.Emit (OpCodes.Ldind_I1);
-                               ig.Emit (OpCodes.Ldc_I4_1);
-                               ig.Emit (OpCodes.And);
+                               ig.Emit (OpCodes.Ldc_I4_0);
+                               ig.Emit (OpCodes.Cgt_Un);
                                break;
                        case BuiltinTypeSpec.Type.ULong:
                        case BuiltinTypeSpec.Type.Long:
sushihangover commented 9 years ago

The code from the Nullable change is causing this, no AS regression tests is catching it...

screen shot 2015-08-26 at 6 53 22 pm

git diff --cached mcs/mcs/nullable.cs

diff --git a/mcs/mcs/nullable.cs b/mcs/mcs/nullable.cs
index bfa5377..512484b 100644
--- a/mcs/mcs/nullable.cs
+++ b/mcs/mcs/nullable.cs
@@ -1203,12 +1203,6 @@ namespace Mono.CSharp.Nullable
                                return ReducedExpression.Create (right, this, false).Resolve (ec);

                        left = Convert.ImplicitConversion (ec, unwrap ?? left, rtype, loc);
-
-                       if (TypeSpec.IsValueType (left.Type) && !left.Type.IsNullableType) {
-                               Warning_UnreachableExpression (ec, right.Location);
-                               return ReducedExpression.Create (left, this, false).Resolve (ec);
-                       }
-
                        type = rtype;
                        return this;
                }
sushihangover commented 9 years ago

git diff mcs/mcs/nullable.cs diff --git a/mcs/mcs/nullable.cs b/mcs/mcs/nullable.cs index 1248e04..a724b6f 100644 --- a/mcs/mcs/nullable.cs +++ b/mcs/mcs/nullable.cs @@ -1120,6 +1120,8 @@ namespace Mono.CSharp.Nullable

            Expression ConvertExpression (ResolveContext ec)
            {