vc4: Mark our shaders as single-threaded.
I had my understanding of this bit flipped. We're using the full register space, so we need to say so.
This commit is contained in:
parent
df3005de18
commit
c93ffd661a
|
@ -780,6 +780,11 @@ validate_gl_shader_rec(struct drm_device *dev,
|
|||
exec->shader_rec_v += roundup(packet_size, 16);
|
||||
exec->shader_rec_size -= packet_size;
|
||||
|
||||
if (!(*(uint16_t *)pkt_u & VC4_SHADER_FLAG_FS_SINGLE_THREAD)) {
|
||||
DRM_ERROR("Multi-threaded fragment shaders not supported.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
for (i = 0; i < shader_reloc_count; i++) {
|
||||
if (src_handles[i] > exec->bo_count) {
|
||||
DRM_ERROR("Shader handle %d too big\n", src_handles[i]);
|
||||
|
|
|
@ -139,6 +139,7 @@ vc4_emit_gl_shader_state(struct vc4_context *vc4, const struct pipe_draw_info *i
|
|||
/* VC4_DIRTY_PRIM_MODE | VC4_DIRTY_RASTERIZER */
|
||||
cl_u16(&shader_rec,
|
||||
VC4_SHADER_FLAG_ENABLE_CLIPPING |
|
||||
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));
|
||||
|
|
Loading…
Reference in New Issue