mesa|mapi: replace _mesa_[v]snprintf with [v]snprintf
authorDylan Baker <dylan@pnwbakers.com>
Mon, 9 Dec 2019 18:54:16 +0000 (10:54 -0800)
committerDylan Baker <dylan@pnwbakers.com>
Tue, 21 Apr 2020 18:09:03 +0000 (11:09 -0700)
MSVC 2015 and newer has perfectly valid snprintf and vsnprintf
implementations, let's just use those.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3024>

18 files changed:
src/mapi/glapi/gen/gl_enums.py
src/mesa/drivers/common/meta.c
src/mesa/main/debug.c
src/mesa/main/dlist.c
src/mesa/main/errors.c
src/mesa/main/macros.h
src/mesa/main/pbo.c
src/mesa/main/shaderapi.c
src/mesa/main/teximage.c
src/mesa/main/uniform_query.cpp
src/mesa/main/version.c
src/mesa/program/prog_instruction.c
src/mesa/program/prog_print.c
src/mesa/program/program_parse.y
src/mesa/tnl/t_rebase.c
src/mesa/vbo/vbo_private.h
src/util/imports.c
src/util/imports.h

index 539878136421444982bf9d68372c3a5b7b5b511c..255b1adfbeddb6ad813205f8eb36e4dd94220eac 100644 (file)
@@ -50,6 +50,7 @@ class PrintGlEnums(gl_XML.gl_print_base):
 
 
     def printRealHeader(self):
+        print('#include <stdio.h>')
         print('#include "main/glheader.h"')
         print('#include "main/enums.h"')
         print('#include "util/imports.h"')
@@ -103,7 +104,7 @@ _mesa_enum_to_string(int nr)
    }
    else {
       /* this is not re-entrant safe, no big deal here */
-      _mesa_snprintf(token_tmp, sizeof(token_tmp) - 1, "0x%x", nr);
+      snprintf(token_tmp, sizeof(token_tmp) - 1, "0x%x", nr);
       token_tmp[sizeof(token_tmp) - 1] = '\\0';
       return token_tmp;
    }
index ea096d585fde8941039200fdffe8711d612b0431..0ea6d5efadb55476f511d30f02c2619926c99602 100644 (file)
@@ -2095,7 +2095,7 @@ init_draw_stencil_pixels(struct gl_context *ctx)
       texTarget = "RECT";
    else
       texTarget = "2D";
-   _mesa_snprintf(program2, sizeof(program2), program, texTarget);
+   snprintf(program2, sizeof(program2), program, texTarget);
 
    _mesa_GenProgramsARB(1, &drawpix->StencilFP);
    _mesa_BindProgramARB(GL_FRAGMENT_PROGRAM_ARB, drawpix->StencilFP);
@@ -2129,7 +2129,7 @@ init_draw_depth_pixels(struct gl_context *ctx)
       texTarget = "RECT";
    else
       texTarget = "2D";
-   _mesa_snprintf(program2, sizeof(program2), program, texTarget);
+   snprintf(program2, sizeof(program2), program, texTarget);
 
    _mesa_GenProgramsARB(1, &drawpix->DepthFP);
    _mesa_BindProgramARB(GL_FRAGMENT_PROGRAM_ARB, drawpix->DepthFP);
index 66ee2841b0314c178897ea55449ca7723ab23f32..a646d4426efc9a5df8c6e67304d99db829255577 100644 (file)
@@ -284,7 +284,7 @@ write_texture_image(struct gl_texture_object *texObj,
                                  GL_RGBA, GL_UNSIGNED_BYTE, buffer, img);
 
       /* make filename */
-      _mesa_snprintf(s, sizeof(s), "/tmp/tex%u.l%u.f%u.ppm", texObj->Name, level, face);
+      snprintf(s, sizeof(s), "/tmp/tex%u.l%u.f%u.ppm", texObj->Name, level, face);
 
       printf("  Writing image level %u to %s\n", level, s);
       write_ppm(s, buffer, img->Width, img->Height, 4, 0, 1, 2, GL_FALSE);
@@ -330,8 +330,8 @@ _mesa_write_renderbuffer_image(const struct gl_renderbuffer *rb)
                           format, type, &ctx->DefaultPacking, buffer);
 
    /* make filename */
-   _mesa_snprintf(s, sizeof(s), "/tmp/renderbuffer%u.ppm", rb->Name);
-   _mesa_snprintf(s, sizeof(s), "C:\\renderbuffer%u.ppm", rb->Name);
+   snprintf(s, sizeof(s), "/tmp/renderbuffer%u.ppm", rb->Name);
+   snprintf(s, sizeof(s), "C:\\renderbuffer%u.ppm", rb->Name);
 
    printf("  Writing renderbuffer image to %s\n", s);
 
index 89d2e8a12a065cce807ad515731d08ee8784b182..bd2ce8f505322865362af4470f43c5b77ff66041 100644 (file)
@@ -13548,7 +13548,7 @@ execute_list(struct gl_context *ctx, GLuint list)
          default:
             {
                char msg[1000];
-               _mesa_snprintf(msg, sizeof(msg), "Error in execute_list: opcode=%d",
+               snprintf(msg, sizeof(msg), "Error in execute_list: opcode=%d",
                              (int) opcode);
                _mesa_problem(ctx, "%s", msg);
             }
index 7c8cb3886d97811370252c60fad2d23bb5b24015..b3487efb5225955050b4601b944f2d917b6ac7aa 100644 (file)
@@ -86,7 +86,7 @@ output_if_debug(const char *prefixString, const char *outputString,
        * visible, so communicate with the debugger instead */ 
       {
          char buf[4096];
-         _mesa_snprintf(buf, sizeof(buf), "%s: %s%s", prefixString, outputString, newline ? "\n" : "");
+         snprintf(buf, sizeof(buf), "%s: %s%s", prefixString, outputString, newline ? "\n" : "");
          OutputDebugStringA(buf);
       }
 #endif
@@ -116,7 +116,7 @@ flush_delayed_errors( struct gl_context *ctx )
    char s[MAX_DEBUG_MESSAGE_LENGTH];
 
    if (ctx->ErrorDebugCount) {
-      _mesa_snprintf(s, MAX_DEBUG_MESSAGE_LENGTH, "%d similar %s errors",
+      snprintf(s, MAX_DEBUG_MESSAGE_LENGTH, "%d similar %s errors",
                      ctx->ErrorDebugCount,
                      _mesa_enum_to_string(ctx->ErrorValue));
 
@@ -140,7 +140,7 @@ _mesa_warning( struct gl_context *ctx, const char *fmtString, ... )
    char str[MAX_DEBUG_MESSAGE_LENGTH];
    va_list args;
    va_start( args, fmtString );
-   (void) _mesa_vsnprintf( str, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args );
+   (void) vsnprintf( str, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args );
    va_end( args );
 
    if (ctx)
@@ -170,7 +170,7 @@ _mesa_problem( const struct gl_context *ctx, const char *fmtString, ... )
       numCalls++;
 
       va_start( args, fmtString );
-      _mesa_vsnprintf( str, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args );
+      vsnprintf( str, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args );
       va_end( args );
       fprintf(stderr, "Mesa " PACKAGE_VERSION " implementation error: %s\n",
               str);
@@ -230,7 +230,7 @@ _mesa_gl_vdebugf(struct gl_context *ctx,
 
    _mesa_debug_get_id(id);
 
-   len = _mesa_vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
+   len = vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
    if (len >= MAX_DEBUG_MESSAGE_LENGTH)
       /* message was truncated */
       len = MAX_DEBUG_MESSAGE_LENGTH - 1;
@@ -325,7 +325,7 @@ _mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... )
       va_list args;
 
       va_start(args, fmtString);
-      len = _mesa_vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
+      len = vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
       va_end(args);
 
       if (len >= MAX_DEBUG_MESSAGE_LENGTH) {
@@ -336,7 +336,7 @@ _mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... )
          return;
       }
 
-      len = _mesa_snprintf(s2, MAX_DEBUG_MESSAGE_LENGTH, "%s in %s",
+      len = snprintf(s2, MAX_DEBUG_MESSAGE_LENGTH, "%s in %s",
                            _mesa_enum_to_string(error), s);
       if (len >= MAX_DEBUG_MESSAGE_LENGTH) {
          /* Same as above. */
@@ -382,7 +382,7 @@ _mesa_debug( const struct gl_context *ctx, const char *fmtString, ... )
    char s[MAX_DEBUG_MESSAGE_LENGTH];
    va_list args;
    va_start(args, fmtString);
-   _mesa_vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
+   vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
    va_end(args);
    output_if_debug("Mesa", s, GL_FALSE);
 #endif /* DEBUG */
@@ -397,7 +397,7 @@ _mesa_log(const char *fmtString, ...)
    char s[MAX_DEBUG_MESSAGE_LENGTH];
    va_list args;
    va_start(args, fmtString);
-   _mesa_vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
+   vsnprintf(s, MAX_DEBUG_MESSAGE_LENGTH, fmtString, args);
    va_end(args);
    output_if_debug("", s, GL_FALSE);
 }
index a4c5ec67a4a1d9a81627aa5082809ea13145f2ba..3e1227328e154a932041b58c8ef1230a93a92dd6 100644 (file)
@@ -787,4 +787,13 @@ DIFFERENT_SIGNS(GLfloat x, GLfloat y)
 /* Stringify */
 #define STRINGIFY(x) #x
 
+/*
+ * For GL_ARB_vertex_buffer_object we need to treat vertex array pointers
+ * as offsets into buffer stores.  Since the vertex array pointer and
+ * buffer store pointer are both pointers and we need to add them, we use
+ * this macro.
+ * Both pointers/offsets are expressed in bytes.
+ */
+#define ADD_POINTERS(A, B)  ( (GLubyte *) (A) + (uintptr_t) (B) )
+
 #endif
index 8ab782f3a338897bc39eba16741617ba705a6fd3..7cb463d93fc989944936ae28cc5f16f464c85a38 100644 (file)
@@ -36,8 +36,8 @@
 #include "bufferobj.h"
 #include "glformats.h"
 #include "image.h"
-#include "util/imports.h"
 #include "mtypes.h"
+#include "macros.h"
 #include "pbo.h"
 
 
index 0aa05475247202e78975f461796f302a3644e66c..19d7a3ab44003261b2bc601481fec61f093cbded 100644 (file)
@@ -63,6 +63,7 @@
 #include "util/crc32.h"
 #include "util/os_file.h"
 #include "util/simple_list.h"
+#include "util/u_string.h"
 
 /**
  * Return mask of GLSL_x flags by examining the MESA_GLSL env var.
index 986ee61491577366699cd4fdf2f4912aa1a318a0..ea93ac2f3b20ef7cca7c32166659e3a833844a96 100644 (file)
@@ -1892,7 +1892,7 @@ texture_error_check( struct gl_context *ctx,
     * requires GL_OES_texture_float) are filtered elsewhere.
     */
    char bufCallerName[20];
-   _mesa_snprintf(bufCallerName, 20, "glTexImage%dD", dimensions);
+   snprintf(bufCallerName, 20, "glTexImage%dD", dimensions);
    if (_mesa_is_gles(ctx) &&
        texture_format_error_check_gles(ctx, format, type,
                                        internalFormat, bufCallerName)) {
@@ -1921,7 +1921,7 @@ texture_error_check( struct gl_context *ctx,
       if (type != GL_UNSIGNED_SHORT_8_8_MESA &&
           type != GL_UNSIGNED_SHORT_8_8_REV_MESA) {
          char message[100];
-         _mesa_snprintf(message, sizeof(message),
+         snprintf(message, sizeof(message),
                         "glTexImage%dD(format/type YCBCR mismatch)",
                         dimensions);
          _mesa_error(ctx, GL_INVALID_ENUM, "%s", message);
@@ -1938,7 +1938,7 @@ texture_error_check( struct gl_context *ctx,
       }
       if (border != 0) {
          char message[100];
-         _mesa_snprintf(message, sizeof(message),
+         snprintf(message, sizeof(message),
                         "glTexImage%dD(format=GL_YCBCR_MESA and border=%d)",
                         dimensions, border);
          _mesa_error(ctx, GL_INVALID_VALUE, "%s", message);
index de594fcc3d7a435c8847aec98a8f8b7d6027c389..db2f173dd2f7ab17b0588dde98cbd8d9570f2ad5 100644 (file)
@@ -1594,7 +1594,7 @@ _mesa_sampler_uniforms_are_valid(const struct gl_shader_program *shProg,
       return true;
 
    if (!shProg->SamplersValidated) {
-      _mesa_snprintf(errMsg, errMsgLength,
+      snprintf(errMsg, errMsgLength,
                      "active samplers with a different type "
                      "refer to the same texture image unit");
       return false;
index cacf22e7950fd2c6a1ee78fbdd059dce08395ad1..0cb0aabb8966f290687560cf0c69a38c1af58301 100644 (file)
@@ -120,7 +120,7 @@ create_version_string(struct gl_context *ctx, const char *prefix)
 
    ctx->VersionString = malloc(max);
    if (ctx->VersionString) {
-      _mesa_snprintf(ctx->VersionString, max,
+      snprintf(ctx->VersionString, max,
                     "%s%u.%u%s Mesa " PACKAGE_VERSION MESA_GIT_SHA1,
                     prefix,
                     ctx->Version / 10, ctx->Version % 10,
index a999fd516a1fb26dc305b93dd42fa4f9c28decd8..4673dd59a245b52ece2b3a965b0e81c59762be35 100644 (file)
@@ -250,7 +250,7 @@ _mesa_opcode_string(enum prog_opcode opcode)
       return InstInfo[opcode].Name;
    else {
       static char s[20];
-      _mesa_snprintf(s, sizeof(s), "OP%u", opcode);
+      snprintf(s, sizeof(s), "OP%u", opcode);
       return s;
    }
 }
index c34e6cf308a091b0ff6f566d6e45013ed0b2093b..0b280828341370f14a6182835d893913217f15a4 100644 (file)
@@ -83,7 +83,7 @@ _mesa_register_file_name(gl_register_file f)
    default:
       {
          static char s[20];
-         _mesa_snprintf(s, sizeof(s), "FILE%u", f);
+         snprintf(s, sizeof(s), "FILE%u", f);
          return s;
       }
    }
@@ -988,7 +988,7 @@ _mesa_write_shader_to_file(const struct gl_shader *shader)
       break;
    }
 
-   _mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
+   snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
    f = fopen(filename, "w");
    if (!f) {
       fprintf(stderr, "Unable to open %s for writing\n", filename);
@@ -1031,7 +1031,7 @@ _mesa_append_uniforms_to_file(const struct gl_program *prog)
    else
       type = "vert";
 
-   _mesa_snprintf(filename, sizeof(filename), "shader.%s", type);
+   snprintf(filename, sizeof(filename), "shader.%s", type);
    f = fopen(filename, "a"); /* append */
    if (!f) {
       fprintf(stderr, "Unable to open %s for appending\n", filename);
index 5e79bf7fcd47c6751d03406857720c890c2f136b..53489410253bd50280bfaba4cd6614f41903060a 100644 (file)
@@ -890,7 +890,7 @@ addrRegPosOffset: INTEGER
        {
           if (($1 < 0) || ($1 > (state->limits->MaxAddressOffset - 1))) {
               char s[100];
-              _mesa_snprintf(s, sizeof(s),
+              snprintf(s, sizeof(s),
                              "relative address offset too large (%d)", $1);
              yyerror(& @1, state, s);
              YYERROR;
@@ -904,7 +904,7 @@ addrRegNegOffset: INTEGER
        {
           if (($1 < 0) || ($1 > state->limits->MaxAddressOffset)) {
               char s[100];
-              _mesa_snprintf(s, sizeof(s),
+              snprintf(s, sizeof(s),
                              "relative address offset too large (%d)", $1);
              yyerror(& @1, state, s);
              YYERROR;
@@ -1121,7 +1121,7 @@ optArraySize:
         {
           if (($1 < 1) || ((unsigned) $1 > state->limits->MaxParameters)) {
               char msg[100];
-              _mesa_snprintf(msg, sizeof(msg),
+              snprintf(msg, sizeof(msg),
                              "invalid parameter array size (size=%d max=%u)",
                              $1, state->limits->MaxParameters);
              yyerror(& @1, state, msg);
@@ -2034,7 +2034,7 @@ ALIAS_statement: ALIAS IDENTIFIER '=' USED_IDENTIFIER
 
           if (exist != NULL) {
              char m[1000];
-             _mesa_snprintf(m, sizeof(m), "redeclared identifier: %s", $2);
+             snprintf(m, sizeof(m), "redeclared identifier: %s", $2);
              free($2);
              yyerror(& @2, state, m);
              YYERROR;
index 3d5a1a1c4c86b7c70dc6185359f6b71a409e763a..6f600e390681a12282e4f49cdd7d6955ac0b0f76 100644 (file)
@@ -50,7 +50,7 @@
 #include "main/bufferobj.h"
 #include "main/errors.h"
 #include "main/glheader.h"
-#include "util/imports.h"
+#include "main/macros.h"
 #include "main/mtypes.h"
 #include "vbo/vbo.h"
 
index 9f169fd7675b59978dd73ee2af652e12f60ed6fd..a70ba0a032c1d932eef7f62da147b52b8b08f536 100644 (file)
@@ -36,6 +36,7 @@
 #include "vbo/vbo_exec.h"
 #include "vbo/vbo_save.h"
 #include "main/varray.h"
+#include "main/macros.h"
 
 
 struct _glapi_table;
index 2744ee988d37282f3ce12311fdf68caa61b23a9a..776e86efb7a81e8069e163a5ac87e5700531b72f 100644 (file)
@@ -1,7 +1,7 @@
 /**
  * \file imports.c
  * Standard C library function wrappers.
- * 
+ *
  * Imports are services which the device driver or window system or
  * operating system provides to the core renderer.  The core renderer (Mesa)
  * will call these functions in order to do memory allocation, simple I/O,
 #elif defined(__IBMC__) || defined(__IBMCPP__)
 extern int vsnprintf(char *str, size_t count, const char *fmt, va_list arg);
 #endif
-
-
-/** Needed due to #ifdef's, above. */
-int
-_mesa_vsnprintf(char *str, size_t size, const char *fmt, va_list args)
-{
-   return vsnprintf( str, size, fmt, args);
-}
-
-/** Wrapper around vsnprintf() */
-int
-_mesa_snprintf( char *str, size_t size, const char *fmt, ... )
-{
-   int r;
-   va_list args;
-   va_start( args, fmt );  
-   r = vsnprintf( str, size, fmt, args );
-   va_end( args );
-   return r;
-}
-
-
index 4d7405dbf5559475e65354bf3b24352e598ba026..345e9114aa3d5ff37ed6092c12ece110e62d2528 100644 (file)
 extern "C" {
 #endif
 
-/*
- * For GL_ARB_vertex_buffer_object we need to treat vertex array pointers
- * as offsets into buffer stores.  Since the vertex array pointer and
- * buffer store pointer are both pointers and we need to add them, we use
- * this macro.
- * Both pointers/offsets are expressed in bytes.
- */
-#define ADD_POINTERS(A, B)  ( (uint8_t *) (A) + (uintptr_t) (B) )
-
 
 /**
  * Sometimes we treat floats as ints.  On x86 systems, moving a float
@@ -68,21 +59,6 @@ extern "C" {
 typedef union { float f; int i; unsigned u; } fi_type;
 
 
-
-/*@}*/
-
-
-/**********************************************************************
- * Functions
- */
-
-extern int
-_mesa_snprintf( char *str, size_t size, const char *fmt, ... ) PRINTFLIKE(3, 4);
-
-extern int
-_mesa_vsnprintf(char *str, size_t size, const char *fmt, va_list arg);
-
-
 #ifdef __cplusplus
 }
 #endif