On Wed, Jun 21, 2017 at 10:37 PM, Rob Clark <[email protected]> wrote: > On Tue, Jun 20, 2017 at 6:54 PM, Marek Olšák <[email protected]> wrote: >> Hi, >> >> This series updates pipe loaders so that flags such as drirc options >> can be passed to create_screen(). I have compile-tested everything >> except clover. >> >> The first pipe_screen flag is a drirc option to fix incorrect grass >> rendering in Rocket League for radeonsi. Rocket League expects DirectX >> behavior for partial derivative computations after discard/kill, but >> radeonsi implements the more efficient but stricter OpenGL behavior >> and that will remain our default behavior. The new screen flag forces >> radeonsi to use the DX behavior for that game. >> > > do we really want this to be a *global* option for the screen?
Yes. Shaders are pipe_screen (global) objects in radeonsi, so a compiler option also has to be global. We can't look at the context during the TGSI->LLVM translation. > > I'm just thinking, some drivers use lowering passes that internally > generate kill's. I *guess* it would only matter if they also had > ddx/ddy instructions, but not sure. > > not really sure if this would actually be a problem or not.. Whether or not this affects you depends on how your hardware implements kill/discard. Not just ddx/ddy, texture instructions computing derivatives internally are affected by kill/discard too. Marek _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
