mesa: Fix fragment.color (no index) writes with OPTION ARB_draw_buffers.
Fixes a bug in Trine where fragment.color would write FRAG_RESULT_COLOR (which is interpreted by drivers as being the "write this to all color buffers" option) instead of FRAG_RESULT_DATA0 (just the first target). Fixes piglit ATI_draw_buffers/arbfp-no-index.
This commit is contained in:
@@ -2060,9 +2060,14 @@ resultColBinding: COLOR optResultFaceType optResultColorType
|
||||
|
||||
optResultFaceType:
|
||||
{
|
||||
$$ = (state->mode == ARB_vertex)
|
||||
? VERT_RESULT_COL0
|
||||
: FRAG_RESULT_COLOR;
|
||||
if (state->mode == ARB_vertex) {
|
||||
$$ = VERT_RESULT_COL0;
|
||||
} else {
|
||||
if (state->option.DrawBuffers)
|
||||
$$ = FRAG_RESULT_DATA0;
|
||||
else
|
||||
$$ = FRAG_RESULT_COLOR;
|
||||
}
|
||||
}
|
||||
| '[' INTEGER ']'
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user