aco: Only include nir.h in instruction selection.

Don't recompile entire ACO when something changes in NIR.
Instead, only use some headers which are actually needed,
include these in ACO files instead of relying on nir.h to
include them.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22241>
This commit is contained in:
Timur Kristóf 2023-03-31 21:59:33 +02:00 committed by Marge Bot
parent 8e9d269da6
commit 2ff1267959
9 changed files with 18 additions and 5 deletions

View file

@ -25,6 +25,8 @@
#include "aco_builder.h"
#include "aco_ir.h"
#include "util/bitset.h"
#include <algorithm>
#include <bitset>
#include <set>

View file

@ -27,6 +27,8 @@
#include "aco_ir.h"
#include "nir.h"
#include <array>
#include <unordered_map>
#include <vector>

View file

@ -25,8 +25,6 @@
#ifndef ACO_INTERFACE_H
#define ACO_INTERFACE_H
#include "nir.h"
#include "amd_family.h"
#include "aco_shader_info.h"
@ -34,6 +32,7 @@
extern "C" {
#endif
typedef struct nir_shader nir_shader;
struct ac_shader_config;
struct aco_shader_info;
struct aco_vs_prolog_info;

View file

@ -25,19 +25,21 @@
#ifndef ACO_IR_H
#define ACO_IR_H
#include "aco_interface.h"
#include "aco_opcodes.h"
#include "aco_shader_info.h"
#include "aco_util.h"
#include "nir.h"
#include "util/compiler.h"
#include "ac_binary.h"
#include "amd_family.h"
#include <algorithm>
#include <bitset>
#include <memory>
#include <vector>
typedef struct nir_shader nir_shader;
namespace aco {
extern uint64_t debug_flags;

View file

@ -25,6 +25,8 @@
#include "aco_builder.h"
#include "aco_ir.h"
#include "util/enum_operators.h"
#include <algorithm>
#include <map>
#include <vector>

View file

@ -24,6 +24,8 @@
#include "aco_ir.h"
#include "util/u_debug.h"
#ifdef LLVM_AVAILABLE
#if defined(_MSC_VER) && defined(restrict)
#undef restrict

View file

@ -24,14 +24,16 @@
#include "aco_ir.h"
#include "util/enum_operators.h"
#include <algorithm>
#include <array>
#include <bitset>
#include <map>
#include <optional>
#include <set>
#include <unordered_map>
#include <vector>
#include <optional>
namespace aco {
namespace {

View file

@ -28,6 +28,7 @@
#define ACO_SHADER_INFO_H
#include "ac_shader_args.h"
#include "amd_family.h"
#include "shader_enums.h"
#ifdef __cplusplus

View file

@ -25,6 +25,7 @@
#include "aco_ir.h"
#include "util/memstream.h"
#include "util/ralloc.h"
#include <array>
#include <map>