#ifndef AC_GPU_INFO_H
#define AC_GPU_INFO_H
-#include "amd_family.h"
-
#include <stdbool.h>
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-
#include "util/macros.h"
+#include "amd_family.h"
#ifdef __cplusplus
extern "C" {
#include "util/format/u_format.h"
#include "util/u_log.h"
#include "util/u_surface.h"
+#include "util/hash_table.h"
enum
{
#include "util/format/u_format.h"
#include "util/format_srgb.h"
#include "util/u_helpers.h"
+#include "util/hash_table.h"
static bool si_can_use_compute_blit(struct si_context *sctx, enum pipe_format format,
unsigned num_samples, bool is_store, bool has_dcc)
#include "radeon_vce.h"
#include "radeon_video.h"
#include "si_pipe.h"
+#include "ac_llvm_util.h"
#include "util/u_cpu_detect.h"
#include "util/u_screen.h"
#include "util/u_video.h"
#include "si_shader.h"
#include "si_state.h"
-#include "util/u_dynarray.h"
+#include "winsys/radeon_winsys.h"
+#include "util/u_blitter.h"
#include "util/u_idalloc.h"
#include "util/u_suballoc.h"
#include "util/u_threaded_context.h"
extern "C" {
#endif
+struct si_compute;
+struct ac_llvm_compiler;
+
#define ATI_VENDOR_ID 0x1002
#define SI_NOT_QUERY 0xffffffff
#define SI_BIND_VERTEX_BUFFER (1 << (SI_BIND_OTHER_BUFFER_SHIFT + 0))
#define SI_BIND_STREAMOUT_BUFFER (1 << (SI_BIND_OTHER_BUFFER_SHIFT + 1))
-struct si_compute;
-struct si_shader_context;
-struct hash_table;
-
/* Only 32-bit buffer allocations are supported, gallium doesn't support more
* at the moment.
*/
void si_gfx_blit(struct pipe_context *ctx, const struct pipe_blit_info *info);
/* si_nir_optim.c */
-bool si_nir_is_output_const_if_tex_is_const(nir_shader *shader, float *in, float *out, int *texunit);
+bool si_nir_is_output_const_if_tex_is_const(struct nir_shader *shader, float *in, float *out, int *texunit);
/* si_buffer.c */
bool si_cs_is_buffer_referenced(struct si_context *sctx, struct pb_buffer *buf,
* SPDX-License-Identifier: MIT
*/
+#include "si_pm4.h"
#include "si_pipe.h"
#include "si_build_pm4.h"
#include "sid.h"
#ifndef SI_PM4_H
#define SI_PM4_H
-#include "winsys/radeon_winsys.h"
+#include <stdint.h>
+#include <stdbool.h>
#ifdef __cplusplus
extern "C" {
#ifndef SI_PUBLIC_H
#define SI_PUBLIC_H
+struct pipe_screen;
+struct pipe_screen_config;
+
struct pipe_screen *radeonsi_screen_create(int fd, const struct pipe_screen_config *config);
#endif
* SPDX-License-Identifier: MIT
*/
+#include "si_shader.h"
#include "ac_nir.h"
#include "ac_rtld.h"
#include "nir.h"
#ifndef SI_SHADER_H
#define SI_SHADER_H
+#include "shader_info.h"
#include "ac_binary.h"
-#include "ac_llvm_build.h"
-#include "ac_llvm_util.h"
-#include "util/simple_mtx.h"
-#include "util/u_inlines.h"
+#include "ac_gpu_info.h"
#include "util/u_live_shader_cache.h"
#include "util/u_queue.h"
#include "si_pm4.h"
-#include <stdio.h>
-
#ifdef __cplusplus
extern "C" {
#endif
struct nir_shader;
-struct si_shader;
-struct si_context;
+struct nir_instr;
+struct nir_lower_subgroups_options;
#define SI_MAX_ATTRIBS 16
#define SI_MAX_VS_OUTPUTS 40
/* si_shader.c */
struct ac_rtld_binary;
-void si_update_shader_binary_info(struct si_shader *shader, nir_shader *nir);
+void si_update_shader_binary_info(struct si_shader *shader, struct nir_shader *nir);
bool si_compile_shader(struct si_screen *sscreen, struct ac_llvm_compiler *compiler,
struct si_shader *shader, struct util_debug_callback *debug);
bool si_create_shader_variant(struct si_screen *sscreen, struct ac_llvm_compiler *compiler,
struct si_shader_info *info);
/* si_shader_nir.c */
-extern const nir_lower_subgroups_options si_nir_subgroups_options;
+extern const struct nir_lower_subgroups_options si_nir_subgroups_options;
-bool si_alu_to_scalar_packed_math_filter(const nir_instr *instr, const void *data);
+bool si_alu_to_scalar_packed_math_filter(const struct nir_instr *instr, const void *data);
void si_nir_opts(struct si_screen *sscreen, struct nir_shader *nir, bool first);
-void si_nir_late_opts(nir_shader *nir);
+void si_nir_late_opts(struct nir_shader *nir);
char *si_finalize_nir(struct pipe_screen *screen, void *nirptr);
/* si_state_shaders.cpp */
#include "util/mesa-sha1.h"
#include "util/u_prim.h"
#include "sid.h"
+#include "nir.h"
struct si_shader_profile {
#define SI_SHADER_PRIVATE_H
#include "ac_shader_abi.h"
+#include "ac_llvm_build.h"
#include "si_shader.h"
struct util_debug_callback;
#ifndef SI_STATE_H
#define SI_STATE_H
-#include "pipebuffer/pb_slab.h"
#include "si_pm4.h"
-#include "util/u_blitter.h"
+#include "util/format/u_format.h"
#ifdef __cplusplus
extern "C" {
struct si_shader_selector;
struct si_texture;
struct si_qbo_state;
+struct legacy_surf_level;
+struct pb_slab_entry;
struct si_state_blend {
struct si_pm4_state pm4;
* SPDX-License-Identifier: MIT
*/
-#include "ac_nir.h"
-#include "ac_sqtt.h"
#include "si_build_pm4.h"
+
+#include "util/hash_table.h"
+#define XXH_INLINE_ALL
+#include "util/xxhash.h"
#include "util/u_cpu_detect.h"
#include "util/u_index_modify.h"
#include "util/u_prim.h"
#include "util/u_upload_mgr.h"
#include "ac_rtld.h"
-#include "si_build_pm4.h"
#if (GFX_VER == 6)
#define GFX(name) name##GFX6
* SPDX-License-Identifier: MIT
*/
+#include "ac_llvm_util.h"
#include "ac_nir.h"
#include "ac_shader_util.h"
#include "compiler/nir/nir_serialize.h"