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
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev