| commit | 3ffc98ca8021ca4b771f1a0246cd33b3e55325e0 | [log] [tgz] |
|---|---|---|
| author | David 'Digit' Turner <digit@google.com> | Wed Jun 12 12:57:10 2019 +0000 |
| committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Wed Jun 12 12:57:10 2019 +0000 |
| tree | 0d3f0e41a8478d507f7b70d6bfac43d01668c664 | |
| parent | 0375511c74cedbba2f6916d29142a8f366f9f188 [diff] |
[graphics][compute]: Simplify hotsort target generation.
This CL simplifies the build rules associated with hotsort
and spinel target generation.
- Modify the hotsort_target() GN template definition to
pass hotsort_gen configuration parameters through named
variables (e.g. 'type_dwords', 'thread_regs', etc)
instead of command-line flags that are more difficult
to understand. So now, a target declaration looks like:
hotsort_target("hs_amd_gcn3_u64") {
vendor = "amd"
type_dwords = 2
warp_lanes = 64
thread_regs = 8
smem_bs = 32768
smem_bc = 32768
warps_per_group = 16
warps_min = 1
warps_mod = 1
merge_flip_lo = 1
merge_flip_hi = 1
merge_half_lo = 1
merge_half_hi = 1
glsl_bindings = "1,0,1,0"
autotune = true
}
BONUS: This makes gn-format happier than the previous format!
- Each hotsort_target() GN target now provides a public_configs
value that simplifies client usage. I.e. as long as your
source_set() depends on a hotsort_target() target, its
source code can directly include "<target_name>/hs_target.h".
There is no need to chase the right include_dirs value for
this include to work.
- Do the same for spinel_target() GN targets.
+ Simplify spinel_vk_context and spinel_vk_path_builder
accordingly. Note that for now, all targets are still linked
into the test programs themselves.
TEST: Rebuild with fx build src/graphics/lib/compute:tests
Change-Id: I39992ecff3c8639999eff0171fb897e14e1fcb43
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
See Getting Started.
See the documentation.