[Bug 94705] [radeonsi] blue ground in Company of Heroes 2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



changed bug 94705
What Removed Added
Resolution --- NOTOURBUG
Status NEW RESOLVED

Comment # 1 on bug 94705 from
Hi Laurent, thanks for the report. I did some digging into the apitrace you
provided.

Long story short: The game does not properly deal with the
implementation-defined limit on the number of samplers that are available in a
fragment shader. Perhaps there is some graphics quality setting that can be
reduced to convince the game to use only shaders with fewer samplers as a
workaround.

The long story: In the provided apitrace, the artefacts first appear in
textures 10884 and 10885, which are terrain colour and normal maps. They are
rendered to around call @516614, which is a glLinkProgram call for program 658
that fails because the attached fragment shader 611 has not been compiled. It
is evident from the trace leading up to @516933 that the game intends to do
rendering using 658 precisely when the artefacts appear, because there are a
bunch of (failing) calls to query uniform locations.

Why has shader 611 not been compiled? Well, most likely there is logic in the
game that does check for implementation-defined sampler limits, because shader
611 uses 18 samplers and we only expose 16. So probably some part of the game
engine notices the limitation and doesn't even try to compile the shader, but
this problem is not propagated up to higher layers in the engine.


You are receiving this mail because:
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux