All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400
@ 2014-10-14  8:31 bugzilla-daemon
  2014-10-14  8:33 ` [Bug 84977] " bugzilla-daemon
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-14  8:31 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 5590 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

            Bug ID: 84977
           Summary: r300/compiler: register allocation pass generate
                    invalid swizzle for r300/r400
           Product: Mesa
           Version: unspecified
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Drivers/Gallium/r300
          Assignee: dri-devel@lists.freedesktop.org
          Reporter: david.heidelberger@ixit.cz

Created attachment 107808
  --> https://bugs.freedesktop.org/attachment.cgi?id=107808&action=edit
r300_deadsource.txt

Error:
Not a native swizzle: 00000fc3

Can be workarounded forcing

diff --git a/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c
b/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c
index 14f93fb..5682b55 100644
--- a/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c
+++ b/src/gallium/drivers/r300/compiler/radeon_pair_regalloc.c
@@ -432,6 +432,8 @@ static enum rc_reg_class variable_get_class(
                }
        }

+       can_change_writemask = 0;
+
        class_index = find_class(classes, writemask,
                                                can_change_writemask ? 3 : 1);
 done:

Seems like if "(!r300_swizzle_is_native_basic(new_swizzle)) {"
didn't check this one swizzle (checked by fprintf).

Output from register allocation pass compared with can_change_writemask = 0;

--- r300_regalloc.txt       2014-10-14 01:51:00.813113749 +0200
+++ r300_regalloc-workaround.txt    2014-10-14 01:51:40.207223071 +0200
@@ -10,20 +10,20 @@
      DP3, src0.xyz, src0.xyz
      DP3 temp[3].w, src0._, src0._
   5: src0.xyz = input[3], src0.w = temp[3]
-     DP3 temp[7].z, src0.xyz, src0.xyz
+     DP3 temp[8].x, src0.xyz, src0.xyz
      RSQ temp[4].w, |src0.w|
-  6: src0.xyz = input[6], src1.xyz = temp[7]
-     DP3 temp[7].z, src0.xyz, src0.xyz
-     RSQ temp[5].w, |src1.z|
-  7: src0.xyz = input[5], src0.w = temp[3]
+  6: src0.xyz = input[6], src1.xyz = temp[8]
      DP3 temp[8].x, src0.xyz, src0.xyz
+     RSQ temp[5].w, |src1.x|
+  7: src0.xyz = input[5], src0.w = temp[3]
+     DP3 temp[9].x, src0.xyz, src0.xyz
      MAD temp[3].w, -src0.w, src0.1, src0.1
-  8: src0.w = temp[4], src1.xyz = input[4], src2.xyz = temp[8]
+  8: src0.w = temp[4], src1.xyz = input[4], src2.xyz = temp[9]
      MAD temp[4].xyz, src0.www, src1.xyz, src0.000
      RSQ temp[4].w, |src2.x|
-  9: src0.xyz = temp[7], src1.xyz = temp[7]
+  9: src0.xyz = temp[7], src1.xyz = temp[8]
      MAD temp[7].xy, src0.xy_, src0.11_, src0.HH_
-     RSQ temp[6].w, |src1.z|
+     RSQ temp[6].w, |src1.x|
  10: src0.xyz = input[3], src0.w = temp[5], src2.xyz = temp[4]
      MAD temp[3].xyz, src0.xyz, src0.www, src2.xyz
  11: src0.xyz = input[5], src0.w = temp[4]
@@ -38,10 +38,10 @@
  15: src0.xyz = temp[6], src1.xyz = temp[4]
      DP3_SAT temp[4].x, src0.xyz, src1.xyz
  16: src0.xyz = temp[3]
-     DP3 temp[4].y, src0.xyz, src0.xyz
- 17: src0.xyz = temp[5], src1.xyz = const[7], src2.xyz = temp[4]
+     DP3 temp[7].x, src0.xyz, src0.xyz
+ 17: src0.xyz = temp[5], src1.xyz = const[7], src2.xyz = temp[7]
      MAD temp[5].xy, src0.xy_, src1.xx_, src1.yy_
-     RSQ temp[5].w, |src2.y|
+     RSQ temp[5].w, |src2.x|
  18: src0.xyz = temp[4], src0.w = input[0], src1.xyz = input[0]
      MAD temp[0].xyz, src0.xxx, src1.xyz, src0.000
      MAD temp[0].w, src0.x, src0.w, src0.0
@@ -53,24 +53,24 @@
      DP3_SAT, src0.xyz, src1.xyz
      DP3_SAT temp[5].w, src0._, src0._
  22: src0.xyz = temp[5], src0.w = const[7], src1.xyz = const[7]
-     MAD temp[3].x, src0.y__, src1.z__, src0.w__
+     MAD temp[3].z, src0.__y, src1.__z, src0.__w
      MAD temp[6].w, src0.x, src1.z, src0.w
  23: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3], src1.w =
const[6]
-     MAD temp[3].x, src0.y__, src1.x__, src1.w__
+     MAD temp[3].z, src0.__y, src1.__z, src1.__w
      MAD temp[6].w, src0.x, src0.w, src1.w
  24: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3], src2.xyz =
const[8]
-     MAD temp[3].x, src0.y__, src1.x__, src2.x__
+     MAD temp[3].z, src0.__y, src1.__z, src2.__x
      MAD temp[6].w, src0.x, src0.w, src2.x
  25: src0.w = temp[5]
      LG2 temp[5].w, src0.w
  26: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3]
-     MAD temp[6].x, src0.y__, src1.x__, -src0.H__
+     MAD temp[6].z, src0.__y, src1.__z, -src0.__H
      MAD temp[6].w, src0.x, src0.w, -src0.H
  27: src0.xyz = temp[5], src0.w = temp[5], src1.xyz = temp[6], src1.w =
temp[6], src2.xyz = const[4]
-     MAD temp[3].xy, src0.xy_, src1.wx_, src0.11_
+     MAD temp[3].xy, src0.xy_, src1.wz_, src0.11_
      MAD temp[5].w, src0.w, src2.x, src0.0
  28: src0.xyz = temp[3], src0.w = temp[4]
-     MAD temp[3].x, -src0.x__, src0.1__, src0.y__
+     MAD temp[3].y, -src0._x_, src0._1_, src0._y_
      MAD temp[4].w, -src0.x, src0.1, src0.w
  29: src0.w = temp[5]
      EX2 temp[5].w, src0.w
@@ -78,7 +78,7 @@
      MAD temp[1].xyz, src1.www, src1.xyz, src0.000
      MAD temp[1].w, src1.w, src0.w, src0.0
  31: src0.xyz = temp[3]
-     RCP temp[5].w, src0.x
+     RCP temp[5].w, src0.y
  32: src0.w = temp[4], src1.w = temp[5]
      MAD_SAT temp[4].w, src1.w, src0.w, src0.0
  33: src0.xyz = const[8], src0.w = temp[4]
@@ -110,4 +110,4 @@
      MAD temp[0].w, src2.w, srcp.w, src0.0
  43: src0.xyz = temp[0], src0.w = temp[0]
      MAD color[0].xyz, src0.xyz, src0.111, src0.000
-     MAD color[0].w, src0.w, src0.1, src0.0
+     MAD color[0].w, src0.w, src0.1, src0.0

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 7065 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
@ 2014-10-14  8:33 ` bugzilla-daemon
  2014-10-14  8:34 ` bugzilla-daemon
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-14  8:33 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 400 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #1 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
Created attachment 107809
  --> https://bugs.freedesktop.org/attachment.cgi?id=107809&action=edit
r300_regalloc.txt

Also, problematic swizzle can be seen on instruction 27: in diff wx -> wz.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1374 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
  2014-10-14  8:33 ` [Bug 84977] " bugzilla-daemon
@ 2014-10-14  8:34 ` bugzilla-daemon
  2014-10-14 17:07 ` bugzilla-daemon
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-14  8:34 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 610 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

David Heidelberger (okias) <david.heidelberger@ixit.cz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |david.heidelberger@ixit.cz

--- Comment #2 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
Created attachment 107810
  --> https://bugs.freedesktop.org/attachment.cgi?id=107810&action=edit
r300_regalloc-workaround.txt

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2186 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
  2014-10-14  8:33 ` [Bug 84977] " bugzilla-daemon
  2014-10-14  8:34 ` bugzilla-daemon
@ 2014-10-14 17:07 ` bugzilla-daemon
  2014-10-14 22:11 ` bugzilla-daemon
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-14 17:07 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 546 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #3 from Tom Stellard <tstellar@gmail.com> ---
(In reply to David Heidelberger (okias) from comment #1)
> Created attachment 107809 [details]
> r300_regalloc.txt
> 
> Also, problematic swizzle can be seen on instruction 27: in diff wx -> wz.

.wz is a legal swizzle according to the native_swizzles table.  Can you add
printfs to lookup_native_swizzle to see why it is not being treated as a legal
swizzle?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1639 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (2 preceding siblings ...)
  2014-10-14 17:07 ` bugzilla-daemon
@ 2014-10-14 22:11 ` bugzilla-daemon
  2014-10-15 13:55 ` bugzilla-daemon
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-14 22:11 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 619 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #4 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
> > Also, problematic swizzle can be seen on instruction 27: in diff wx -> wz.
> 
> .wz is a legal swizzle according to the native_swizzles table.  Can you add
> printfs to lookup_native_swizzle to see why it is not being treated as a
> legal swizzle?

I made printf in lookup_native_swizzle originally.
I probably messed this. It's wz -> wx. (it fails for www after 1. w, same for
wzy, also fails after 1. w).

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1515 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (3 preceding siblings ...)
  2014-10-14 22:11 ` bugzilla-daemon
@ 2014-10-15 13:55 ` bugzilla-daemon
  2014-10-15 21:51 ` bugzilla-daemon
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-15 13:55 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 767 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #5 from Tom Stellard <tstellar@gmail.com> ---
(In reply to David Heidelberger (okias) from comment #4)
> > > Also, problematic swizzle can be seen on instruction 27: in diff wx -> wz.
> > 
> > .wz is a legal swizzle according to the native_swizzles table.  Can you add
> > printfs to lookup_native_swizzle to see why it is not being treated as a
> > legal swizzle?
> 
> I made printf in lookup_native_swizzle originally.
> I probably messed this. It's wz -> wx. (it fails for www after 1. w, same
> for wzy, also fails after 1. w).

What is the value of sd  is returned when the swizzle .wx is passed to
lookup_native_swizzle?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1707 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (4 preceding siblings ...)
  2014-10-15 13:55 ` bugzilla-daemon
@ 2014-10-15 21:51 ` bugzilla-daemon
  2014-10-17 14:07 ` bugzilla-daemon
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-15 21:51 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 284 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #6 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
in function r300FPTranslateRGBSwizzle is return value of sd == 0 (for sure)

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1128 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (5 preceding siblings ...)
  2014-10-15 21:51 ` bugzilla-daemon
@ 2014-10-17 14:07 ` bugzilla-daemon
  2014-10-18 10:07 ` bugzilla-daemon
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-17 14:07 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 576 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #7 from Tom Stellard <tstellar@gmail.com> ---
(In reply to David Heidelberger (okias) from comment #6)
> in function r300FPTranslateRGBSwizzle is return value of sd == 0 (for sure)

So it sounds like this might be a bug somewhere in
rc_reg_class_variable_get_class()

At the very bottom of this function, there is a call to find_class(), it would
be good to put a printf to check the value of can_change_writemask and also
class_index.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 1468 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (6 preceding siblings ...)
  2014-10-17 14:07 ` bugzilla-daemon
@ 2014-10-18 10:07 ` bugzilla-daemon
  2014-10-28 11:02 ` bugzilla-daemon
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-18 10:07 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 2774 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #8 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
$ wine D3D9HLSLPixelLighting.exe 
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:win:EnumDisplayDevicesW ((null),0,0x32f6f8,0x00000000), stub!
r300: DRM version: 2.39.0, Name: ATI RS690, ID: 0x791f, GB: 1, Z: 1
r300: GART size: 509 MB, VRAM size: 128 MB
r300: AA compression RAM: YES, Z compression RAM: NO, HiZ RAM: NO
fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",0,0x32f6f8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW (L"\\\\.\\DISPLAY1",1,0x32f6f8,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),1,0x32f6f8,0x00000000), stub!
fixme:d3d9:d3dadapter9_new 
Native Direct3D 9 is active.
For more informations visit https://wiki.ixit.cz/d3d9
(L"\\\\.\\DISPLAY1",0,0x32f718,0x00000000), stub!
r300: DRM version: 2.39.0, Name: ATI RS690, ID: 0x791f, GB: 1, Z: 1
r300: GART size: 509 MB, VRAM size: 128 MB
r300: AA compression RAM: YES, Z compression RAM: NO, HiZ RAM: NO
fixme:d3dadapter:DRI3PresentGroup_GetMultiheadCount (0x1363e8), stub!
fixme:d3dadapter:DRI3PresentGroup_GetMultiheadCount (0x1363e8), stub!
fixme:d3d9:Direct3DShaderValidatorCreate9 stub
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x32fb54 1 C) semi-stub
fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (0x32f994 1 C) semi-stub
nine:device9.c:2397: NineDevice9_SetNPatchMode STUB!
nine:device9.c:2397: NineDevice9_SetNPatchMode STUB!
nine:nine_state_copy_common: Fixed function state not handled properly by
StateBlocks.
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 10, can_change_writemask: 0
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 10, can_change_writemask: 0
class_index: 10, can_change_writemask: 0
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 10, can_change_writemask: 0
class_index: 10, can_change_writemask: 0
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
class_index: 4, can_change_writemask: 1
class_index: 10, can_change_writemask: 0
class_index: 0, can_change_writemask: 1
class_index: 0, can_change_writemask: 1
Not a native swizzle: 00000fc3

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 3688 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (7 preceding siblings ...)
  2014-10-18 10:07 ` bugzilla-daemon
@ 2014-10-28 11:02 ` bugzilla-daemon
  2014-10-28 11:18 ` bugzilla-daemon
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-28 11:02 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 1307 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #9 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
class_index: 1, dstindex: 8, writemask: 3, can_change: 0
class_index: 0, dstindex: 35, writemask: 1, can_change: 1
class_index: 0, dstindex: 41, writemask: 1, can_change: 1
class_index: 0, dstindex: 20, writemask: 1, can_change: 1
class_index: 1, dstindex: 9, writemask: 3, can_change: 0
class_index: 1, dstindex: 10, writemask: 3, can_change: 0
class_index: 0, dstindex: 45, writemask: 1, can_change: 1
class_index: 0, dstindex: 38, writemask: 1, can_change: 1
class_index: 1, dstindex: 11, writemask: 3, can_change: 0
class_index: 1, dstindex: 12, writemask: 3, can_change: 0
class_index: 0, dstindex: 13, writemask: 4, can_change: 1
class_index: 0, dstindex: 14, writemask: 4, can_change: 1
class_index: 0, dstindex: 15, writemask: 4, can_change: 1
class_index: 4, dstindex: 16, writemask: 12, can_change: 1
class_index: 1, dstindex: 17, writemask: 3, can_change: 0
class_index: 0, dstindex: 18, writemask: 2, can_change: 1
class_index: 0, dstindex: 30, writemask: 1, can_change: 1
Not a native swizzle: 00000fc3

Not sure, if I fully get it. It has only INST up to 43. Why is there dstindex
45?

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2151 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (8 preceding siblings ...)
  2014-10-28 11:02 ` bugzilla-daemon
@ 2014-10-28 11:18 ` bugzilla-daemon
  2014-10-28 21:56 ` bugzilla-daemon
  2019-09-18 18:52 ` bugzilla-daemon
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-28 11:18 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 1309 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #10 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
class_index: 1, dstindex: 8, writemask: 3, can_change: 0
class_index: 0, dstindex: 35, writemask: 1, can_change: 1
class_index: 0, dstindex: 41, writemask: 1, can_change: 1
class_index: 0, dstindex: 20, writemask: 1, can_change: 1
class_index: 1, dstindex: 9, writemask: 3, can_change: 0
class_index: 1, dstindex: 10, writemask: 3, can_change: 0
class_index: 0, dstindex: 45, writemask: 1, can_change: 1
class_index: 0, dstindex: 38, writemask: 1, can_change: 1
class_index: 1, dstindex: 11, writemask: 3, can_change: 0
class_index: 1, dstindex: 12, writemask: 3, can_change: 0
class_index: 0, dstindex: 13, writemask: 4, can_change: 1
class_index: 0, dstindex: 14, writemask: 4, can_change: 1
class_index: 0, dstindex: 15, writemask: 4, can_change: 1
class_index: 4, dstindex: 16, writemask: 12, can_change: 0
class_index: 1, dstindex: 17, writemask: 3, can_change: 0
class_index: 0, dstindex: 18, writemask: 2, can_change: 1
class_index: 0, dstindex: 30, writemask: 1, can_change: 1

output with additional code:

if (writemask == 12) can_change_writemask = 0; // which is WZ later converted
to WX

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2154 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (9 preceding siblings ...)
  2014-10-28 11:18 ` bugzilla-daemon
@ 2014-10-28 21:56 ` bugzilla-daemon
  2019-09-18 18:52 ` bugzilla-daemon
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2014-10-28 21:56 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 1273 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

--- Comment #11 from David Heidelberger (okias) <david.heidelberger@ixit.cz> ---
Created attachment 108592
  --> https://bugs.freedesktop.org/attachment.cgi?id=108592&action=edit
r300_regalloc-separated_workaround.txt

I made separeted workaround with line 

if (writemask == 12) can_change_writemask = 0;

$ diff -Naur r300_regalloc.txt r300_regalloc-separated_workaround.txt 
--- r300_regalloc.txt   2014-10-28 22:54:13.673516366 +0100
+++ r300_regalloc-separated_workaround.txt      2014-10-28 22:54:05.065450759
+0100
@@ -64,10 +64,10 @@
  25: src0.w = temp[5]
      LG2 temp[5].w, src0.w
  26: src0.xyz = temp[5], src0.w = temp[6], src1.xyz = temp[3]
-     MAD temp[6].x, src0.y__, src1.x__, -src0.H__
+     MAD temp[6].z, src0.__y, src1.__x, -src0.__H
      MAD temp[6].w, src0.x, src0.w, -src0.H
  27: src0.xyz = temp[5], src0.w = temp[5], src1.xyz = temp[6], src1.w =
temp[6], src2.xyz = const[4]
-     MAD temp[3].xy, src0.xy_, src1.wx_, src0.11_
+     MAD temp[3].xy, src0.xy_, src1.wz_, src0.11_
      MAD temp[5].w, src0.w, src2.x, src0.0
  28: src0.xyz = temp[3], src0.w = temp[4]
      MAD temp[3].x, -src0.x__, src0.1__, src0.y__

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2303 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [Bug 84977] r300/compiler: register allocation pass generate invalid swizzle for r300/r400
  2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
                   ` (10 preceding siblings ...)
  2014-10-28 21:56 ` bugzilla-daemon
@ 2019-09-18 18:52 ` bugzilla-daemon
  11 siblings, 0 replies; 13+ messages in thread
From: bugzilla-daemon @ 2019-09-18 18:52 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 841 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=84977

GitLab Migration User <gitlab-migration@fdo.invalid> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |MOVED
             Status|NEW                         |RESOLVED

--- Comment #12 from GitLab Migration User <gitlab-migration@fdo.invalid> ---
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.

You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/363.

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 2527 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-09-18 18:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-14  8:31 [Bug 84977] New: r300/compiler: register allocation pass generate invalid swizzle for r300/r400 bugzilla-daemon
2014-10-14  8:33 ` [Bug 84977] " bugzilla-daemon
2014-10-14  8:34 ` bugzilla-daemon
2014-10-14 17:07 ` bugzilla-daemon
2014-10-14 22:11 ` bugzilla-daemon
2014-10-15 13:55 ` bugzilla-daemon
2014-10-15 21:51 ` bugzilla-daemon
2014-10-17 14:07 ` bugzilla-daemon
2014-10-18 10:07 ` bugzilla-daemon
2014-10-28 11:02 ` bugzilla-daemon
2014-10-28 11:18 ` bugzilla-daemon
2014-10-28 21:56 ` bugzilla-daemon
2019-09-18 18:52 ` bugzilla-daemon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.