Mesa (master): aco: Use u_memstream instead of POSIX memstream

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Dec 1 11:23:20 UTC 2020


Module: Mesa
Branch: master
Commit: a2c981f8d0536793e20225521581f47c9e2889df
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2c981f8d0536793e20225521581f47c9e2889df

Author: James Park <jpark37 at lagfreegames.com>
Date:   Thu Nov 26 22:07:07 2020 -0800

aco: Use u_memstream instead of POSIX memstream

Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7785>

---

 src/amd/compiler/aco_interface.cpp | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/amd/compiler/aco_interface.cpp b/src/amd/compiler/aco_interface.cpp
index 55dfad13a7a..1518615e7f5 100644
--- a/src/amd/compiler/aco_interface.cpp
+++ b/src/amd/compiler/aco_interface.cpp
@@ -181,11 +181,12 @@ void aco_compile_shader(unsigned shader_count,
    if (get_disasm) {
       char *data = NULL;
       size_t disasm_size = 0;
-      FILE *f = open_memstream(&data, &disasm_size);
-      if (f) {
-         bool fail = aco::print_asm(program.get(), code, exec_size / 4u, f);
-         fputc(0, f);
-         fclose(f);
+      struct u_memstream mem;
+      if (u_memstream_open(&mem, &data, &disasm_size)) {
+         FILE *const memf = u_memstream_get(&mem);
+         bool fail = aco::print_asm(program.get(), code, exec_size / 4u, memf);
+         fputc(0, memf);
+         u_memstream_close(&mem);
 
          if (fail) {
             fprintf(stderr, "Failed to disassemble program:\n");



More information about the mesa-commit mailing list