Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AMD/Linux register error when compiling shaders #1601

Closed
eyelash opened this issue Aug 23, 2017 · 7 comments
Closed

AMD/Linux register error when compiling shaders #1601

eyelash opened this issue Aug 23, 2017 · 7 comments

Comments

@eyelash
Copy link

eyelash commented Aug 23, 2017

When running cargo run --example basic I get the following output:

OpenGL version 3.3 (Core Profile) Mesa 17.1.6
Shader resource path: None
EE r600_shader.c:3661 r600_shader_from_tgsi - GPR limit exceeded - shader requires 305 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:800 r600_shader_select - Failed to build shader variant (type=0) -12
EE r600_shader.c:3661 r600_shader_from_tgsi - GPR limit exceeded - shader requires 243 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:800 r600_shader_select - Failed to build shader variant (type=0) -12
EE r600_shader.c:3661 r600_shader_from_tgsi - GPR limit exceeded - shader requires 305 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:800 r600_shader_select - Failed to build shader variant (type=0) -12
EE r600_shader.c:3661 r600_shader_from_tgsi - GPR limit exceeded - shader requires 243 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:800 r600_shader_select - Failed to build shader variant (type=0) -12

My graphics card is a Radeon HD 2400 XT running the latest Mesa drivers on Linux.
I get the same error messages when running the servo nightly build and webpages do not render correctly. I know this card is probably too old to properly run webrender but I'm reporting this bug anyway in the hope that there might be some solution to at least render webpages correctly in servo.
If want me to provide more information or try some patches I will happily do so.

@nical
Copy link
Contributor

nical commented Aug 23, 2017

Added to the list of driver issues. Hopefully the work with splitting shader shared preludes will help, although it would make sense that this issue is happening after the compiler eliminated the dead code.

@asppsa
Copy link

asppsa commented Nov 15, 2017

FWIW I am seeing more or less the same thing with a Radeon HD 5750 (Juniper PRO) and slightly more recent Mesa:

$ cargo run --example basic
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `/home/asp/src/webrender/target/debug/examples/basic`
OpenGL version 3.3 (Core Profile) Mesa 17.2.5
Shader resource path: None
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:787 r600_shader_select - Failed to build shader variant (type=0) -1
EE r600_shader.c:3663 r600_shader_from_tgsi - GPR limit exceeded - shader requires 244 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:787 r600_shader_select - Failed to build shader variant (type=0) -12
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:787 r600_shader_select - Failed to build shader variant (type=0) -1
EE r600_shader.c:3663 r600_shader_from_tgsi - GPR limit exceeded - shader requires 244 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:787 r600_shader_select - Failed to build shader variant (type=0) -12
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:787 r600_shader_select - Failed to build shader variant (type=0) -1
EE r600_shader.c:3663 r600_shader_from_tgsi - GPR limit exceeded - shader requires 244 registers
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
EE r600_state_common.c:787 r600_shader_select - Failed to build shader variant (type=0) -12
EE r600_shader.c:183 r600_pipe_shader_create - translation from TGSI failed !
[ ... repeats an infinitum ... ]

I see the exact same errors if I try run Firefox Nightly with WebRender enabled. In the cargo run case, any interaction, - such as clicking or moving the mouse in the window - is enough to generate more repetitions of the errors. In Firefox, there is just a constant stream of the errors.

@eyelash
Copy link
Author

eyelash commented Nov 15, 2017

Might be this bug which was recently fixed (the fix will be in Mesa 17.3).

@kvark kvark changed the title register error AMD/Linux register error when compiling shaders Nov 15, 2017
@asppsa
Copy link

asppsa commented Nov 16, 2017

@eyelash, compiling & running mesa from git seems to have gotten rid of the messages for me! Will try again when there's a 17.3 release

@glennw
Copy link
Member

glennw commented Nov 16, 2017

Thanks for testing that!

@ghost
Copy link

ghost commented Dec 3, 2017

I was as well impacted by this bug with an AMD RV710, such as in: https://bugzilla.mozilla.org/show_bug.cgi?id=1407254 Here's the logs when debugging https://gist.githubusercontent.com/anonymous/d7c4634bd02790cd32b30fec8e1b3822/raw/6b632bfdef81e80a8a60239d7868947bce8d4d96/debug.txt

I can confirm that when using the latest drivers from https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers this issue disappears.

@glennw
Copy link
Member

glennw commented Dec 3, 2017

Closing, since this is a driver bug with a known update fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants