vc4: Mark threaded FSes as non-singlethread in the CL.

This commit is contained in:
Eric Anholt 2016-11-10 17:50:34 -08:00
parent ace0d810e5
commit 96ffee2d02
3 changed files with 6 additions and 1 deletions

View File

@ -163,6 +163,8 @@ struct vc4_compiled_shader {
*/
bool failed;
bool fs_threaded;
uint8_t num_inputs;
/* Byte offsets for the start of the vertex attributes 0-7, and the

View File

@ -155,7 +155,8 @@ vc4_emit_gl_shader_state(struct vc4_context *vc4,
/* VC4_DIRTY_PRIM_MODE | VC4_DIRTY_RASTERIZER */
cl_u16(&shader_rec,
VC4_SHADER_FLAG_ENABLE_CLIPPING |
VC4_SHADER_FLAG_FS_SINGLE_THREAD |
(vc4->prog.fs->fs_threaded ?
0 : VC4_SHADER_FLAG_FS_SINGLE_THREAD) |
((info->mode == PIPE_PRIM_POINTS &&
vc4->rasterizer->base.point_size_per_vertex) ?
VC4_SHADER_FLAG_VS_POINT_SIZE : 0));

View File

@ -2543,6 +2543,8 @@ vc4_get_compiled_shader(struct vc4_context *vc4, enum qstage stage,
sizeof(uint64_t));
}
shader->fs_threaded = c->fs_threaded;
/* Copy the compiler UBO range state to the compiled shader, dropping
* out arrays that were never referenced by an indirect load.
*