mesa/st: set the color write cbuf property for fragColor writes
This commit is contained in:
@@ -444,6 +444,7 @@ st_translate_fragment_program(struct st_context *st,
|
||||
enum pipe_error error;
|
||||
const GLbitfield inputsRead = stfp->Base.Base.InputsRead;
|
||||
struct ureg_program *ureg;
|
||||
GLboolean write_all = GL_FALSE;
|
||||
|
||||
ubyte input_semantic_name[PIPE_MAX_SHADER_INPUTS];
|
||||
ubyte input_semantic_index[PIPE_MAX_SHADER_INPUTS];
|
||||
@@ -568,6 +569,8 @@ st_translate_fragment_program(struct st_context *st,
|
||||
/* handled above */
|
||||
assert(0);
|
||||
break;
|
||||
case FRAG_RESULT_COLOR:
|
||||
write_all = GL_TRUE; /* fallthrough */
|
||||
default:
|
||||
assert(attr == FRAG_RESULT_COLOR ||
|
||||
(FRAG_RESULT_DATA0 <= attr && attr < FRAG_RESULT_MAX));
|
||||
@@ -592,6 +595,8 @@ st_translate_fragment_program(struct st_context *st,
|
||||
_mesa_print_program_parameters(st->ctx, &stfp->Base.Base);
|
||||
debug_printf("\n");
|
||||
}
|
||||
if (write_all == GL_TRUE)
|
||||
ureg_property_fs_color0_writes_all_cbufs(ureg, 1);
|
||||
|
||||
error = st_translate_mesa_program(st->ctx,
|
||||
TGSI_PROCESSOR_FRAGMENT,
|
||||
|
||||
Reference in New Issue
Block a user