mesa/src/amd/common/ac_binary.h
Marek Olšák e18344dd24 ac,radeonsi,winsyses: switch to SPDX-License-Identifier: MIT
excluding: aco, radv, addrlib

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23113>
2023-05-24 21:48:19 +00:00

45 lines
1 KiB
C

/*
* Copyright 2014 Advanced Micro Devices, Inc.
*
* SPDX-License-Identifier: MIT
*/
#ifndef AC_BINARY_H
#define AC_BINARY_H
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
struct radeon_info;
struct ac_shader_config {
unsigned num_sgprs;
unsigned num_vgprs;
unsigned num_shared_vgprs; /* GFX10: number of VGPRs shared between half-waves */
unsigned spilled_sgprs;
unsigned spilled_vgprs;
unsigned lds_size; /* in HW allocation units; i.e 256 bytes on SI, 512 bytes on CI+ */
unsigned spi_ps_input_ena;
unsigned spi_ps_input_addr;
unsigned float_mode;
unsigned scratch_bytes_per_wave;
unsigned rsrc1;
unsigned rsrc2;
unsigned rsrc3;
};
void ac_parse_shader_binary_config(const char *data, size_t nbytes, unsigned wave_size,
const struct radeon_info *info, struct ac_shader_config *conf);
unsigned ac_align_shader_binary_for_prefetch(const struct radeon_info *info, unsigned size);
#ifdef __cplusplus
}
#endif
#endif /* AC_BINARY_H */