[Bug 76130] Radeon HD 4570 set dpm state fails after suspend

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=76130

Evgeny Grechnikov <diamondaz+fdb at yandex.ru> changed:

   What|Removed |Added

 CC||diamondaz+fdb at yandex.ru

--- Comment #15 from Evgeny Grechnikov <diamondaz+fdb at yandex.ru> ---
Same issue on Debian 8 stable, kernel 3.16: two *ERROR*s in kernel log and a
notable performance degradation in some games after suspend/resume.

I have tried the proposed patch, it does not help (the recompiled driver still
has the same behavior).

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/7886c724/attachment.html>


[Bug 92858] AMD Radeon GPU Acceleration Disabled Under Kernels 4.2.x and later versions

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92858

--- Comment #4 from Christian König  ---
Well you are already doing quite fine and as far as I understand you are
capable to build your own kernel from source and that's everything you need.

I will try to explain the rest step by step in detail and what the commands do.

First of all the long strings of text like
"c11d716218910c3aa2bac1bb641e6086ad649555" are hash code, which identify a
patch or change in the history of the kernel development.

Each change the developers did between 4.1 and 4.2 has such a hash code which
is basically just a fingerprint of the whole source code at that moment.

When you initially clone a source repository using "git clone" it indeed checks
out the latest version by default.

Now you already did "git bisect start v4.2 v4.1" in the newly created source
directory which tells git that version 4.2 is bad and version 4.1 is good.

This command than takes a look at all the changes between version 4.1 and 4.2
and then jumps into the middle of this list. In your case that is commit
"[c11d716218910c3aa2bac1bb641e6086ad649555] Merge tag 'armsoc-cleanup' of...".

This commit is now checked out and you can build, install and test the kernel.

Then you go into the directory again and do "git bisect good" if the newly
build kernel works and if it doesn't work you do "git bisect bad".

Git will then look at the list of changes again and jumps either toward the
direction of version 4.1 or 4.2 (depends on if you said good or bad) and then
checks out the next change to test.

This repeats roughly 13 times until git found the change which caused your
problems.

All you need to do is making sure you always boot the latest installed kernel.
By default grub for example will boot the kernel with the highest version
number.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/182187fd/attachment.html>


[Bug 92858] AMD Radeon GPU Acceleration Disabled Under Kernels 4.2.x and later versions

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92858

--- Comment #3 from Darren  ---
I downloaded the kernel source via git, using "git clone
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git,; then I
changed directory into the folder it created, called "linux."

I then ran "git bisect start v4.2 v4.1" and the output was:

"Bisecting: 7353 revisions left to test after this (roughly 13 steps)
[c11d716218910c3aa2bac1bb641e6086ad649555] Merge tag 'armsoc-cleanup' of
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc"

I'm not to up to speed on git bisect, but don't I need to declare a good
revision first so bisect has somewhere to start? Also, in order to declare a
good revision, I'd need to compile the whole kernel again starting with the
initial git commit during the 4.2 merge window, wouldn't I?

The above "git clone" command checks out the source for the latest kernel (not
sure about which if any kernel history it downloads,) no? And if I compile
using it, wouldn't it build 4.3.0 instead of an earlier revision?

To summarize, I'm very much a newcomer to git--if I needed to install a kernel
before, I would use AUR packages, or in the case of beginner friendly
distributions like Ubuntu, would simply grab the latest kernel from a PPA. I
can copy and paste commands, learned what "--depth=X" does-in the event I
needed to download without history-while building the nouveau kernel tree back
when I had a nVidia GPU, but I'm not otherwise too experienced. Can you point
me to the best resource/s on learning git and how to identify what those long
strings of text like "c11d716218910c3aa2bac1bb641e6086ad649555" indicate and
what to do to isolate a good revsion so bisect can start at it?

Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/82dbbb6b/attachment.html>


[Bug 92300] 0 A.D. 100% reproduceable AMD Hawaii (R390X) GPU lockup after a few seconds of running Sicilia map

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92300

MC Return  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from MC Return  ---
Fixed with recent driver updates. Cannot reproduce this anymore.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/1c6451c9/attachment.html>


[Bug 92858] AMD Radeon GPU Acceleration Disabled Under Kernels 4.2.x and later versions

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92858

--- Comment #2 from Darren  ---
(In reply to Christian König from comment #1)
> (In reply to Darren from comment #0)
> > The section pasted above of the dmesg from kernel 4.3-rc-7 indicates the
> > driver is failing on the "drm:r600_ringtest"...however, this is not a r600
> > card but a Southern Islands.
> 
> Yeah, indeed the very basic test if the command process is up and running
> didn't worked. Because of this the driver pretty much disables itself,
> except for bringing up a picture to the screen.
> 
> That r600_ringtest is used for a Verde is perfectly normal, we only got
> r100_ringtest, r300_ringtest and r600_ringtest for the different hardware
> generations.
> 
> > Steps taken while attempting to resolve the issue: I'd initiallly thought it
> > could be a firmware issue, with the linux-firmware package in the distro
> > perhaps not having been updated to support the latest kernels, but even when
> > I installed linux-firmware-git from the AUR to replace the standard
> > linux-firmware package and then booted linux 4.3-rc7, mesa was still using
> > llvmpipe instead of radeonsi, due to no GPU accel. I've also compiled the
> > 4.3.0 kernel using the tarball directly from kernel.org, and a default
> > kernel configuration file from ubuntu. When I booted into the 4.3.0 upstream
> > kernel, GPU acceleration was still disabled. As neither the source nor the
> > kernel config were from Manjaro, doesn't this rule out a distro bug and
> > indicate the issue is upstream?
> 
> Yes that sounds like somewhere between 4.1 and 4.2 a patch broke the support
> for Verde.
> 
> As far as I know we didn't changed anything related to Verde between 4.1 and
> 4.2.
> 
> Can you get the kernel source using git and then run "git bisect start v4.2
> v4.1" to figure out which patch exactly caused the regression?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/25ccd245/attachment-0001.html>


[Bug 92858] AMD Radeon GPU Acceleration Disabled Under Kernels 4.2.x and later versions

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92858

Christian König  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #1 from Christian König  ---
(In reply to Darren from comment #0)
> The section pasted above of the dmesg from kernel 4.3-rc-7 indicates the
> driver is failing on the "drm:r600_ringtest"...however, this is not a r600
> card but a Southern Islands.

Yeah, indeed the very basic test if the command process is up and running
didn't worked. Because of this the driver pretty much disables itself, except
for bringing up a picture to the screen.

That r600_ringtest is used for a Verde is perfectly normal, we only got
r100_ringtest, r300_ringtest and r600_ringtest for the different hardware
generations.

> Steps taken while attempting to resolve the issue: I'd initiallly thought it
> could be a firmware issue, with the linux-firmware package in the distro
> perhaps not having been updated to support the latest kernels, but even when
> I installed linux-firmware-git from the AUR to replace the standard
> linux-firmware package and then booted linux 4.3-rc7, mesa was still using
> llvmpipe instead of radeonsi, due to no GPU accel. I've also compiled the
> 4.3.0 kernel using the tarball directly from kernel.org, and a default
> kernel configuration file from ubuntu. When I booted into the 4.3.0 upstream
> kernel, GPU acceleration was still disabled. As neither the source nor the
> kernel config were from Manjaro, doesn't this rule out a distro bug and
> indicate the issue is upstream?

Yes that sounds like somewhere between 4.1 and 4.2 a patch broke the support
for Verde.

As far as I know we didn't changed anything related to Verde between 4.1 and
4.2.

Can you get the kernel source using git and then run "git bisect start v4.2
v4.1" to figure out which patch exactly caused the regression?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/c16c78d5/attachment.html>


[Bug 92858] AMD Radeon GPU Acceleration Disabled Under Kernels 4.2.x and later versions

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92858

Christian König  changed:

   What|Removed |Added

 Attachment #119469|text/plain  |application/binary
  mime type||

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/5e2e150b/attachment.html>


[Bug 92860] [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92860

--- Comment #5 from Shawn Starr  ---
I should also note, this has *significantly* boosted FPS and reduced stalls in
game. This has fixed a bottleneck somewhere

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/ee1cb8b8/attachment.html>


[Bug 92860] [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92860

--- Comment #4 from Shawn Starr  ---
Confirmed:

[Mesa-dev] [PATCH] mesa/copyimage: allow width/height to not be multiples of
block

Fixed issue in apitrace/in game.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/f92e54b7/attachment.html>


[Bug 92860] [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92860

--- Comment #3 from Ilia Mirkin  ---
The problem is that it creates a mip-mapped compressed texture (DXT1) and
copies in each level. However DXT1 has a block size of 4x4, so mesa refuses to
copy in the last 2 levels. I need to go back and look at the spec, but I
believe that's bogus behaviour... we should be allowing this.

521945 glBindTexture(target = GL_TEXTURE_2D, texture = 2714)
521946 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_WRAP_S, param
= GL_REPEAT)
521947 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_WRAP_T, param
= GL_REPEAT)
521948 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_WRAP_R, param
= GL_REPEAT)
521949 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MAG_FILTER,
param = GL_NEAREST)
521950 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MIN_FILTER,
param = GL_NEAREST)
521951 glTexParameteri(target = GL_TEXTURE_2D, pname =
GL_TEXTURE_MAX_ANISOTROPY_EXT, param = 1)
521952 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_BASE_LEVEL,
param = 0)
521953 glTexParameteri(target = GL_TEXTURE_2D, pname = GL_TEXTURE_MAX_LEVEL,
param = 11)
521954 glTexStorage2D(target = GL_TEXTURE_2D, levels = 12, internalformat =
GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, width = 2048, height = 2048)
521955 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
0, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXT
URE_2D, dstLevel = 5, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 64, srcHeight =
64, srcDepth = 1)
521956 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
1, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXT
URE_2D, dstLevel = 6, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 32, srcHeight =
32, srcDepth = 1)
521957 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
2, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXT
URE_2D, dstLevel = 7, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 16, srcHeight =
16, srcDepth = 1)
521958 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
3, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXT
URE_2D, dstLevel = 8, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 8, srcHeight =
8, srcDepth = 1)
521959 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
4, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXT
URE_2D, dstLevel = 9, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 4, srcHeight =
4, srcDepth = 1)
521960 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
5, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXTURE_2D,
dstLevel = 10, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 2, srcHeight = 2,
srcDepth = 1)
521961 glCopyImageSubData(srcName = 2672, srcTarget = GL_TEXTURE_2D, srcLevel =
6, srcX = 0, srcY = 0, srcZ = 0, dstName = 2714, dstTarget = GL_TEXTURE_2D,
dstLevel = 11, dstX = 0, dstY = 0, dstZ = 0, srcWidth = 1, srcHeight = 1,
srcDepth = 1)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/81b9dc92/attachment.html>


[Bug 92518] Radeon 7870 XT Stalling Between Ring 0 and Ring 3

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92518

benli1392 at gmail.com changed:

   What|Removed |Added

 Attachment #119389|0   |1
is obsolete||
 Attachment #119390|0   |1
is obsolete||

--- Comment #15 from benli1392 at gmail.com ---
Created attachment 119475
  --> https://bugs.freedesktop.org/attachment.cgi?id=119475=edit
xorg log with newer version of xf86-video-ati.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/31b7025e/attachment-0001.html>


[Bug 92518] Radeon 7870 XT Stalling Between Ring 0 and Ring 3

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92518

--- Comment #14 from benli1392 at gmail.com ---
Created attachment 119474
  --> https://bugs.freedesktop.org/attachment.cgi?id=119474=edit
dmesg log with newer version of xf86-video-ati.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/d5295a77/attachment.html>


[Bug 92518] Radeon 7870 XT Stalling Between Ring 0 and Ring 3

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92518

--- Comment #13 from benli1392 at gmail.com ---
I followed your recommendations and created a xorg.conf in /etc/X11/ and
removed 20-radeon.conf from /etc/X11/xorg.conf.d/.

DRI3 is also enabled when I added a repo with xf86-video-ati that is much more
up to date: 
http://download.opensuse.org/repositories/home:/pontostroy:/X11/openSUSE_Tumbleweed/

It has gotten better, but it still does not work with a newer version of the
driver. dmesg seems to have dumped a lot of information on the radeon driver. I
am attaching an updated dmesg and xorg log.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/b142a78b/attachment.html>


[Bug 92860] [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92860

--- Comment #2 from Shawn Starr  ---
>From a corrupted apitrace it spits out this:

521960: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
521960: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
521961: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
521961: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
521998: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
521998: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
521999: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
521999: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957720: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957720: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957721: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957721: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957750: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957750: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957751: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957751: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957780: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957780: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957781: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957781: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957810: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957810: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957811: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957811: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957840: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957840: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957841: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957841: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957870: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957870: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957871: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957871: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957900: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957900: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957901: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957901: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957930: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957930: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957931: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957931: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957960: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957960: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957961: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957961: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957990: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)
957990: warning: glGetError(glCopyImageSubData) = GL_INVALID_VALUE
957991: message: major api error 2: GL_INVALID_VALUE in
glCopyImageSubData(unaligned src rectangle)

The APItrace can be found here:
https://drive.google.com/open?id=0Bze7CJKD12nObEZmVkxlclZwbjA

Video of game rendering frames OK with ARB_copy_image reverted:
https://www.youtube.com/watch?v=_sNCykCtcns

Video of game rendering frames BAD with ARB_copy_image implemented:
https://www.youtube.com/watch?v=GNMR6NoiCBg

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/d611c878/attachment.html>


[Bug 92860] [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92860

Shawn Starr  changed:

   What|Removed |Added

 Attachment #119470|0   |1
is obsolete||

--- Comment #1 from Shawn Starr  ---
Created attachment 119471
  --> https://bugs.freedesktop.org/attachment.cgi?id=119471=edit
Corruption seen in game (Screenshot #1)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/6243ebb3/attachment.html>


[Bug 92860] [radeonsi][bisected] st/mesa: implement ARB_copy_image - Corruption in ARK Survival Evolved

2015-11-08 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=92860

Bug ID: 92860
   Summary: [radeonsi][bisected] st/mesa: implement ARB_copy_image
- Corruption in ARK Survival Evolved
   Product: Mesa
   Version: unspecified
  Hardware: Other
OS: All
Status: NEW
  Severity: normal
  Priority: medium
 Component: Drivers/Gallium/radeonsi
  Assignee: dri-devel at lists.freedesktop.org
  Reporter: shawn.starr at rogers.com
QA Contact: dri-devel at lists.freedesktop.org

Created attachment 119470
  --> https://bugs.freedesktop.org/attachment.cgi?id=119470=edit
Corruption seen in game (Screenshot #1)

I noticed certain textures were corrupted in color or for water, corrupted in
reflection from light.

Reverting this extension resolves corruption, the Game is OpenGL 3.3 and it
seems this extension broke for OpenGL 3.3 backwards compat?

Attached is a screenshot of the corruption seen

-- 
You are receiving this mail because:
You are the assignee for the bug.
-- next part --
An HTML attachment was scrubbed...
URL: 
<http://lists.freedesktop.org/archives/dri-devel/attachments/20151108/12f39c55/attachment-0001.html>


[PATCH] drm/nouveau: Fix pre-nv50 pageflip events

2015-11-08 Thread Mario Kleiner
Sorry for the late reply! Looking into it...
-mario

On 11/06/2015 06:19 PM, Thierry Reding wrote:
> Cc += Mario Kleiner, Mario, can you take a look whether this proposed
> solution makes sense and fixes the issues you were seeing back when you
> posted the patch in commit:
>
> commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
> Author: Mario Kleiner 
> Date:   Tue May 13 00:42:08 2014 +0200
>
>  drm/nouveau/kms/nv04-nv40: fix pageflip events via special case.
>
>  Cards with nv04 display engine can't reliably use vblank
>  counts and timestamps computed via drm_handle_vblank(), as
>  the function gets invoked after sending the pageflip events.
>
>  Fix this by defaulting to the old crtcid = -1 fallback path
>  on <= NV-50 cards, and only using the precise path on NV-50
>  and later.
>
>  Signed-off-by: Mario Kleiner 
>  Signed-off-by: Ben Skeggs 
>  Cc:  # 3.13+
>
> Do you happen to still have the setup around where you saw this?
>
> Thierry
>
> On Fri, Oct 30, 2015 at 10:55:40PM +0100, Daniel Vetter wrote:
>> Apparently pre-nv50 pageflip events happen before the actual vblank
>> period. Therefore that functionality got semi-disabled in
>>
>> commit af4870e406126b7ac0ae7c7ce5751f25ebe60f28
>> Author: Mario Kleiner 
>> Date:   Tue May 13 00:42:08 2014 +0200
>>
>>  drm/nouveau/kms/nv04-nv40: fix pageflip events via special case.
>>
>> Unfortunately that hack got uprooted in
>>
>> commit cc1ef118fc099295ae6aabbacc8af94d8d8885eb
>> Author: Thierry Reding 
>> Date:   Wed Aug 12 17:00:31 2015 +0200
>>
>>  drm/irq: Make pipe unsigned and name consistent
>>
>> Trigering a warning when trying to sample the vblank timestamp for a
>> non-existing pipe. There's a few ways to fix this:
>>
>> - Open-code the old behaviour, which just enshrines this slight
>>breakage of the userspace ABI.
>>
>> - Revert Mario's commit and again inflict broken timestamps, again not
>>pretty.
>>
>> - Fix this for real by delaying the pageflip TS until the next vblank
>>interrupt, thereby making it accurate.
>>
>> This patch implements the third option. Since having a page flip
>> interrupt that happens when the pageflip gets armed and not when it
>> completes in the next vblank seems to be fairly common (older i915 hw
>> works very similarly) create a new helper to arm vblank events for
>> such drivers.
>>
>> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=106431
>> Cc: Thierry Reding 
>> Cc: Mario Kleiner 
>> Cc: Ben Skeggs 
>> Cc: Ilia Mirkin 
>> Signed-off-by: Daniel Vetter 
>> ---
>>
>> Note that due to lack of hw this is completely untested. But I think
>> it's the right way to fix this.
>> -Daniel
>> ---
>>   drivers/gpu/drm/drm_irq.c | 56 
>> ++-
>>   drivers/gpu/drm/nouveau/nouveau_display.c | 16 -
>>   include/drm/drmP.h|  4 +++
>>   3 files changed, 66 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c
>> index 46dbc34b81ba..b3e1f58666a6 100644
>> --- a/drivers/gpu/drm/drm_irq.c
>> +++ b/drivers/gpu/drm/drm_irq.c
>> @@ -972,7 +972,8 @@ static void send_vblank_event(struct drm_device *dev,
>>  struct drm_pending_vblank_event *e,
>>  unsigned long seq, struct timeval *now)
>>   {
>> -WARN_ON_SMP(!spin_is_locked(>event_lock));
>> +assert_spin_locked(>event_lock);
>> +
>>  e->event.sequence = seq;
>>  e->event.tv_sec = now->tv_sec;
>>  e->event.tv_usec = now->tv_usec;
>> @@ -985,6 +986,59 @@ static void send_vblank_event(struct drm_device *dev,
>>   }
>>
>>   /**
>> + * drm_arm_vblank_event - arm vblanke event after pageflip
>> + * @dev: DRM device
>> + * @pipe: CRTC index
>> + * @e: the event to prepare to send
>> + *
>> + * A lot of drivers need to generate vblank events for the very next vblank
>> + * interrupt. For example when the page flip interrupt happens when the page
>> + * flip gets armed, but not when it actually executes within the next vblank
>> + * period. This helper function implements exactly the required vblank 
>> arming
>> + * behaviour.
>> + *
>> + * Caller must hold event lock. Caller must also hold a vblank reference 
>> for the
>> + * event @e, which will be dropped when the next vblank arrives.
>> + *
>> + * This is the legacy version of drm_crtc_arm_vblank_event().
>> + */
>> +void drm_arm_vblank_event(struct drm_device *dev, unsigned int pipe,
>> +  struct drm_pending_vblank_event *e)
>> +{
>> +struct timeval now;
>> +unsigned int seq;
>> +
>> +assert_spin_locked(>event_lock);
>> +
>> +e->pipe = pipe;
>> +list_add_tail(>base.link, >vblank_event_list);
>> +}
>> +EXPORT_SYMBOL(drm_arm_vblank_event);
>> +
>> +/**
>> + * drm_arm_vblank_event - arm vblanke event after pageflip
>> + * @crtc: the source CRTC of the vblank event
>> + * @e: the event to send
>> + *
>> + * A lot of drivers need to generate vblank events for the very next