gpu-compute: Create CU's ports in the standard way
authorTony Gutierrez <anthony.gutierrez@amd.com>
Fri, 29 Mar 2019 21:48:39 +0000 (17:48 -0400)
committerAnthony Gutierrez <anthony.gutierrez@amd.com>
Thu, 27 Aug 2020 16:31:46 +0000 (16:31 +0000)
commit94000aefe610d7084eb142cd41a8c66cd4670bbd
tree9b3e940fd6d9fbecb843221f983b773e62ce6de0
parenta7530f798be0eb4a16a1768cb13efbd83e50781f
gpu-compute: Create CU's ports in the standard way

The CU would initialize its ports in getMasterPort(), which
is not desirable as getMasterPort() may be called several
times for the same port. This can lead to a fatal if the CU
expects to only create a single port of a given type, and may
lead to other issues where stat names are duplicated.

This change instantiates and initializes the CU's ports in the
CU constructor using the CU params.

The index field is also removed from the CU's ports because the
base class already has an ID field, which will be set to the
default value in the base class's constructor for scalar ports.

It doesn't make sense for scalar port's to take an index because
they are scalar, so we let the base class initialize the ID to
the invalid port ID.

Change-Id: Id18386f5f53800a6447d968380676d8fd9bac9df
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/32836
Reviewed-by: Anthony Gutierrez <anthony.gutierrez@amd.com>
Maintainer: Anthony Gutierrez <anthony.gutierrez@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/gpu-compute/compute_unit.cc
src/gpu-compute/compute_unit.hh
src/gpu-compute/fetch_unit.cc
src/gpu-compute/shader.cc