gpu-compute: Fix Y-dimension ABI decode
authorMichael LeBeane <Michael.Lebeane@amd.com>
Tue, 23 Apr 2019 18:49:31 +0000 (14:49 -0400)
committerAnthony Gutierrez <anthony.gutierrez@amd.com>
Fri, 17 Jul 2020 16:32:56 +0000 (16:32 +0000)
commit83fe4754e756cb2bc17fe9dfc9a02d5804e7def2
treedcb7a238e16c82476e8e1680ba4d539721661557
parente4f7982e90c16b4080aa74a08b69a7b655795fcd
gpu-compute: Fix Y-dimension ABI decode

We currently have a bug in decoding workitem ID from the kernel
descriptor with multiple dimensions.  The enable_vgpr_workitem_id bits
are currently seperated into x and y components, when they should be
treated as a single 2 bit value, where y is enabled when it is > 0,
and z is enabled when it is > 1.  The current setup allows a kernel
launch with vgprs reserved for the z dimension and not the y dimension,
which is incorrect.

Change-Id: Iee64b207feb95bcf064898d5db33b8f201e25323
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/29965
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Matt Sinclair <mattdsinclair@gmail.com>
src/gpu-compute/hsa_queue_entry.hh
src/gpu-compute/kernel_code.hh