Hello, In src/gallium/drivers/r600/r600_pipe.c I saw this : /* Render targets. */ case PIPE_CAP_MAX_RENDER_TARGETS: /* FIXME some r6xx are buggy and can only do 4 */ return 8;
The last line of R6xx_R7xx_3D.pdf says : 4 MRT + 8-Sample Restriction On RV610, there is a maximum of 4 enabled render targets for 8-sample surfaces. Is this related ? I don't know what is 8-sample surfaces... so I don't know if the attached fix is as simple as this. Regards. Benjamin Bellec
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 48b0fe9..a82f9bb 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -398,8 +398,8 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* Render targets. */ case PIPE_CAP_MAX_RENDER_TARGETS: - /* FIXME some r6xx are buggy and can only do 4 */ - return 8; + /* On RV610, there is a maximum of 4 enabled render targets for 8-sample surfaces */ + return family == CHIP_RV610 ? 4 : 8; /* Timer queries, present when the clock frequency is non zero. */ case PIPE_CAP_TIMER_QUERY:
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev