summaryrefslogtreecommitdiff
path: root/src/amd/compiler/aco_interface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/amd/compiler/aco_interface.cpp')
-rw-r--r--src/amd/compiler/aco_interface.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/amd/compiler/aco_interface.cpp b/src/amd/compiler/aco_interface.cpp
index 9b3f88e8a26..55ddd19b638 100644
--- a/src/amd/compiler/aco_interface.cpp
+++ b/src/amd/compiler/aco_interface.cpp
@@ -23,6 +23,7 @@
#include "aco_interface.h"
#include "aco_ir.h"
+#include "util/memstream.h"
#include "vulkan/radv_shader.h"
#include "vulkan/radv_shader_args.h"
@@ -110,11 +111,12 @@ void aco_compile_shader(unsigned shader_count,
if (args->options->record_ir) {
char *data = NULL;
size_t size = 0;
- FILE *f = open_memstream(&data, &size);
- if (f) {
- aco_print_program(program.get(), f);
- fputc(0, f);
- fclose(f);
+ u_memstream mem;
+ if (u_memstream_open(&mem, &data, &size)) {
+ FILE *const memf = u_memstream_get(&mem);
+ aco_print_program(program.get(), memf);
+ fputc(0, memf);
+ u_memstream_close(&mem);
}
llvm_ir = std::string(data, data + size);