Added few more stubs so that control reaches to DestroyDevice().
[mesa.git] / src / amd / common / ac_shader_util.h
index e4cf2bf57644d8622896543a82c0f7cc163ecb37..c2a52337a3dfd7263b38b12ca5176d60557c1ad3 100644 (file)
 #ifndef AC_SHADER_UTIL_H
 #define AC_SHADER_UTIL_H
 
+#include "ac_binary.h"
+#include "amd_family.h"
+#include "compiler/nir/nir.h"
+
 #include <stdbool.h>
 #include <stdint.h>
 
-#include "amd_family.h"
-#include "ac_llvm_build.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum ac_image_dim
+{
+   ac_image_1d,
+   ac_image_2d,
+   ac_image_3d,
+   ac_image_cube, // includes cube arrays
+   ac_image_1darray,
+   ac_image_2darray,
+   ac_image_2dmsaa,
+   ac_image_2darraymsaa,
+};
+
+struct ac_data_format_info {
+   uint8_t element_size;
+   uint8_t num_channels;
+   uint8_t chan_byte_size;
+   uint8_t chan_format;
+};
+
+struct ac_spi_color_formats {
+   unsigned normal : 8;
+   unsigned alpha : 8;
+   unsigned blend : 8;
+   unsigned blend_alpha : 8;
+};
 
-unsigned
-ac_get_spi_shader_z_format(bool writes_z, bool writes_stencil,
-                          bool writes_samplemask);
+unsigned ac_get_spi_shader_z_format(bool writes_z, bool writes_stencil, bool writes_samplemask);
 
-unsigned
-ac_get_cb_shader_mask(unsigned spi_shader_col_format);
+unsigned ac_get_cb_shader_mask(unsigned spi_shader_col_format);
 
-uint32_t
-ac_vgt_gs_mode(unsigned gs_max_vert_out, enum chip_class chip_class);
+uint32_t ac_vgt_gs_mode(unsigned gs_max_vert_out, enum chip_class chip_class);
 
-void
-ac_export_mrt_z(struct ac_llvm_context *ctx, LLVMValueRef depth,
-               LLVMValueRef stencil, LLVMValueRef samplemask,
-               struct ac_export_args *args);
+unsigned ac_get_tbuffer_format(enum chip_class chip_class, unsigned dfmt, unsigned nfmt);
+
+const struct ac_data_format_info *ac_get_data_format_info(unsigned dfmt);
+
+enum ac_image_dim ac_get_sampler_dim(enum chip_class chip_class, enum glsl_sampler_dim dim,
+                                     bool is_array);
+
+enum ac_image_dim ac_get_image_dim(enum chip_class chip_class, enum glsl_sampler_dim sdim,
+                                   bool is_array);
+
+unsigned ac_get_fs_input_vgpr_cnt(const struct ac_shader_config *config,
+                                  signed char *face_vgpr_index, signed char *ancillary_vgpr_index);
+
+void ac_choose_spi_color_formats(unsigned format, unsigned swap, unsigned ntype, bool is_depth,
+                                 struct ac_spi_color_formats *formats);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif