Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-28 Thread Marek Olšák
Yeah, st/mesa also compiles shaders on the first use, so we've got 3 places to fix: Wine, st/mesa, the driver. Marek On Wed, Aug 28, 2013 at 2:07 AM, Vadim Girlin vadimgir...@gmail.com wrote: On 08/28/2013 02:59 AM, Marek Olšák wrote: First, you won't really see any significant continual

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-28 Thread Christian König
Well, for this discussion let's just assume that we fixed the delay in the upper layers of the stack and the driver sees the shader code as soon as the application (if I understood it correctly Vadim has just volunteered for the job). Also let's assume that shaders are small and having allot

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-28 Thread Henri Verbeet
On 28 August 2013 12:17, Marek Olšák mar...@gmail.com wrote: Yeah, st/mesa also compiles shaders on the first use, so we've got 3 places to fix: Wine, st/mesa, the driver. For what it's worth, while Wine definitely has some room for improvement in this regard, in some cases we don't get the

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-28 Thread Vadim Girlin
On 08/28/2013 01:15 PM, Christian König wrote: Well, for this discussion let's just assume that we fixed the delay in the upper layers of the stack and the driver sees the shader code as soon as the application (if I understood it correctly Vadim has just volunteered for the job). No, I'm not

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-28 Thread Marek Olšák
On Wed, Aug 28, 2013 at 7:56 PM, Vadim Girlin vadimgir...@gmail.com wrote: On 08/28/2013 01:15 PM, Christian König wrote: Well, for this discussion let's just assume that we fixed the delay in the upper layers of the stack and the driver sees the shader code as soon as the application (if I

[Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Vadim Girlin
We need to export at least one color if the shader writes it, even when nr_cbufs==0. Signed-off-by: Vadim Girlin vadimgir...@gmail.com --- Tested on evergreen with multiple combinations of backends - no regressions, fixes some tests: default- fixes fb-alphatest-nocolor and

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Roland Scheidegger
Not that I'm qualified to review r600 code, but couldn't you create different shader variants depending on whether you need alpha test? At least I would assume shader exports aren't free. Roland Am 27.08.2013 19:56, schrieb Vadim Girlin: We need to export at least one color if the shader writes

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Marek Olšák
Shader variants are BAD, BAD, BAD. Have you ever played an AAA game with a Mesa driver that likes to compile shader variants on first use? It's HORRIBLE. What the patch does is probably the right solution. At least alpha-test state changes don't cause shader recompilation and re-binding, which

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Vadim Girlin
On 08/27/2013 11:00 PM, Roland Scheidegger wrote: Not that I'm qualified to review r600 code, but couldn't you create different shader variants depending on whether you need alpha test? At least I would assume shader exports aren't free. I thought about performance, but my main concern now is

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Vadim Girlin
On 08/28/2013 12:43 AM, Marek Olšák wrote: Shader variants are BAD, BAD, BAD. Have you ever played an AAA game with a Mesa driver that likes to compile shader variants on first use? It's HORRIBLE. I don't think that shader variants are bad, but it's definitely bad when we are compiling

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Roland Scheidegger
Am 27.08.2013 23:52, schrieb Vadim Girlin: On 08/28/2013 12:43 AM, Marek Olšák wrote: Shader variants are BAD, BAD, BAD. Have you ever played an AAA game with a Mesa driver that likes to compile shader variants on first use? It's HORRIBLE. I don't think that shader variants are bad, but

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Marek Olšák
First, you won't really see any significant continual difference in frame rate no matter how many shader variants you have unless you are very CPU-bound. The problem is shader compilation on the first use, that's where you get a big hiccup. Try Skyrim for example: You have to first look around and

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Vadim Girlin
On 08/28/2013 02:28 AM, Roland Scheidegger wrote: Am 27.08.2013 23:52, schrieb Vadim Girlin: On 08/28/2013 12:43 AM, Marek Olšák wrote: Shader variants are BAD, BAD, BAD. Have you ever played an AAA game with a Mesa driver that likes to compile shader variants on first use? It's HORRIBLE. I

Re: [Mesa-dev] [PATCH] r600g: fix color exports when we have no CBs

2013-08-27 Thread Vadim Girlin
On 08/28/2013 02:59 AM, Marek Olšák wrote: First, you won't really see any significant continual difference in frame rate no matter how many shader variants you have unless you are very CPU-bound. The problem is shader compilation on the first use, that's where you get a big hiccup. Try Skyrim