glsl: use util_snprintf()

Instead of plain snprintf(). To fix the MSVC 2013 build.

Fixes: 6ff0c6f4eb ("gallium: move ddebug, noop, rbug, trace to auxiliary to improve build times")
Cc: Marek Olšák <marek.olsak@amd.com>
Cc: Brian Paul <brianp@vmware.com>
Cc: Roland Scheidegger <sroland@vmware.com>
Signed-off-by: Andres Gomez <agomez@igalia.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Andres Gomez
2018-08-01 13:22:00 +03:00
parent 8fcdb71d8c
commit 9d220fa950
6 changed files with 34 additions and 27 deletions

View File

@@ -29,6 +29,7 @@
#include "glsl_parser_extras.h" #include "glsl_parser_extras.h"
#include "main/macros.h" #include "main/macros.h"
#include "util/hash_table.h" #include "util/hash_table.h"
#include "util/u_string.h"
class ir_builder_print_visitor : public ir_hierarchical_visitor { class ir_builder_print_visitor : public ir_hierarchical_visitor {
public: public:
@@ -705,9 +706,9 @@ ir_builder_print_visitor::visit_leave(ir_call *ir)
const struct hash_entry *const he = const struct hash_entry *const he =
_mesa_hash_table_search(index_map, ir->return_deref); _mesa_hash_table_search(index_map, ir->return_deref);
snprintf(return_deref_string, sizeof(return_deref_string), util_snprintf(return_deref_string, sizeof(return_deref_string),
"operand(r%04X).val", "operand(r%04X).val",
(unsigned)(uintptr_t) he->data); (unsigned)(uintptr_t) he->data);
} else { } else {
strcpy(return_deref_string, "NULL"); strcpy(return_deref_string, "NULL");
} }

View File

@@ -27,6 +27,7 @@
#include "glsl_parser_extras.h" #include "glsl_parser_extras.h"
#include "main/macros.h" #include "main/macros.h"
#include "util/hash_table.h" #include "util/hash_table.h"
#include "util/u_string.h"
static void print_type(FILE *f, const glsl_type *t); static void print_type(FILE *f, const glsl_type *t);
@@ -167,31 +168,32 @@ void ir_print_visitor::visit(ir_variable *ir)
char binding[32] = {0}; char binding[32] = {0};
if (ir->data.binding) if (ir->data.binding)
snprintf(binding, sizeof(binding), "binding=%i ", ir->data.binding); util_snprintf(binding, sizeof(binding), "binding=%i ", ir->data.binding);
char loc[32] = {0}; char loc[32] = {0};
if (ir->data.location != -1) if (ir->data.location != -1)
snprintf(loc, sizeof(loc), "location=%i ", ir->data.location); util_snprintf(loc, sizeof(loc), "location=%i ", ir->data.location);
char component[32] = {0}; char component[32] = {0};
if (ir->data.explicit_component || ir->data.location_frac != 0) if (ir->data.explicit_component || ir->data.location_frac != 0)
snprintf(component, sizeof(component), "component=%i ", ir->data.location_frac); util_snprintf(component, sizeof(component), "component=%i ",
ir->data.location_frac);
char stream[32] = {0}; char stream[32] = {0};
if (ir->data.stream & (1u << 31)) { if (ir->data.stream & (1u << 31)) {
if (ir->data.stream & ~(1u << 31)) { if (ir->data.stream & ~(1u << 31)) {
snprintf(stream, sizeof(stream), "stream(%u,%u,%u,%u) ", util_snprintf(stream, sizeof(stream), "stream(%u,%u,%u,%u) ",
ir->data.stream & 3, (ir->data.stream >> 2) & 3, ir->data.stream & 3, (ir->data.stream >> 2) & 3,
(ir->data.stream >> 4) & 3, (ir->data.stream >> 6) & 3); (ir->data.stream >> 4) & 3, (ir->data.stream >> 6) & 3);
} }
} else if (ir->data.stream) { } else if (ir->data.stream) {
snprintf(stream, sizeof(stream), "stream%u ", ir->data.stream); util_snprintf(stream, sizeof(stream), "stream%u ", ir->data.stream);
} }
char image_format[32] = {0}; char image_format[32] = {0};
if (ir->data.image_format) { if (ir->data.image_format) {
snprintf(image_format, sizeof(image_format), "format=%x ", util_snprintf(image_format, sizeof(image_format), "format=%x ",
ir->data.image_format); ir->data.image_format);
} }
const char *const cent = (ir->data.centroid) ? "centroid " : ""; const char *const cent = (ir->data.centroid) ? "centroid " : "";

View File

@@ -32,6 +32,7 @@
#include "main/macros.h" #include "main/macros.h"
#include "main/mtypes.h" #include "main/mtypes.h"
#include "util/hash_table.h" #include "util/hash_table.h"
#include "util/u_string.h"
namespace { namespace {
@@ -233,7 +234,7 @@ public:
if (var->data.explicit_location && if (var->data.explicit_location &&
var->data.location >= VARYING_SLOT_VAR0) { var->data.location >= VARYING_SLOT_VAR0) {
char location_str[11]; char location_str[11];
snprintf(location_str, 11, "%d", var->data.location); util_snprintf(location_str, 11, "%d", var->data.location);
const struct hash_entry *entry = const struct hash_entry *entry =
_mesa_hash_table_search(ht, location_str); _mesa_hash_table_search(ht, location_str);
@@ -259,7 +260,7 @@ public:
* unsigned location value which is overkill but future proof. * unsigned location value which is overkill but future proof.
*/ */
char location_str[11]; char location_str[11];
snprintf(location_str, 11, "%d", var->data.location); util_snprintf(location_str, 11, "%d", var->data.location);
_mesa_hash_table_insert(ht, ralloc_strdup(mem_ctx, location_str), var); _mesa_hash_table_insert(ht, ralloc_strdup(mem_ctx, location_str), var);
} else { } else {
_mesa_hash_table_insert(ht, _mesa_hash_table_insert(ht,

View File

@@ -83,6 +83,7 @@
#include "ir_uniform.h" #include "ir_uniform.h"
#include "builtin_functions.h" #include "builtin_functions.h"
#include "shader_cache.h" #include "shader_cache.h"
#include "util/u_string.h"
#include "main/imports.h" #include "main/imports.h"
#include "main/shaderobj.h" #include "main/shaderobj.h"
@@ -4119,8 +4120,8 @@ is_top_level_shader_storage_block_member(const char* name,
return false; return false;
} }
snprintf(full_instanced_name, name_length, "%s.%s", util_snprintf(full_instanced_name, name_length, "%s.%s",
interface_name, field_name); interface_name, field_name);
/* Check if its top-level shader storage block member of an /* Check if its top-level shader storage block member of an
* instanced interface block, or of a unnamed interface block. * instanced interface block, or of a unnamed interface block.

View File

@@ -53,6 +53,7 @@
#include "compiler/glsl_types.h" #include "compiler/glsl_types.h"
#include "link_varyings.h" #include "link_varyings.h"
#include "main/mtypes.h" #include "main/mtypes.h"
#include "util/u_string.h"
namespace { namespace {
@@ -322,14 +323,14 @@ public:
if (!(external_color_usage & (1 << i))) { if (!(external_color_usage & (1 << i))) {
if (info->color[i]) { if (info->color[i]) {
snprintf(name, 32, "gl_%s_FrontColor%i_dummy", mode_str, i); util_snprintf(name, 32, "gl_%s_FrontColor%i_dummy", mode_str, i);
this->new_color[i] = this->new_color[i] =
new (ctx) ir_variable(glsl_type::vec4_type, name, new (ctx) ir_variable(glsl_type::vec4_type, name,
ir_var_temporary); ir_var_temporary);
} }
if (info->backcolor[i]) { if (info->backcolor[i]) {
snprintf(name, 32, "gl_%s_BackColor%i_dummy", mode_str, i); util_snprintf(name, 32, "gl_%s_BackColor%i_dummy", mode_str, i);
this->new_backcolor[i] = this->new_backcolor[i] =
new (ctx) ir_variable(glsl_type::vec4_type, name, new (ctx) ir_variable(glsl_type::vec4_type, name,
ir_var_temporary); ir_var_temporary);
@@ -341,7 +342,7 @@ public:
info->fog) { info->fog) {
char name[32]; char name[32];
snprintf(name, 32, "gl_%s_FogFragCoord_dummy", mode_str); util_snprintf(name, 32, "gl_%s_FogFragCoord_dummy", mode_str);
this->new_fog = new (ctx) ir_variable(glsl_type::float_type, name, this->new_fog = new (ctx) ir_variable(glsl_type::float_type, name,
ir_var_temporary); ir_var_temporary);
} }
@@ -365,13 +366,13 @@ public:
if (!(external_usage & (1 << i))) { if (!(external_usage & (1 << i))) {
/* This varying is unused in the next stage. Declare /* This varying is unused in the next stage. Declare
* a temporary instead of an output. */ * a temporary instead of an output. */
snprintf(name, 32, "gl_%s_%s%i_dummy", mode_str, var_name, i); util_snprintf(name, 32, "gl_%s_%s%i_dummy", mode_str, var_name, i);
new_var[i] = new_var[i] =
new (ctx) ir_variable(glsl_type::vec4_type, name, new (ctx) ir_variable(glsl_type::vec4_type, name,
ir_var_temporary); ir_var_temporary);
} }
else { else {
snprintf(name, 32, "gl_%s_%s%i", mode_str, var_name, i); util_snprintf(name, 32, "gl_%s_%s%i", mode_str, var_name, i);
new_var[i] = new_var[i] =
new(ctx) ir_variable(glsl_type::vec4_type, name, new(ctx) ir_variable(glsl_type::vec4_type, name,
this->info->mode); this->info->mode);

View File

@@ -26,6 +26,7 @@
#include "compiler/glsl/glsl_parser_extras.h" #include "compiler/glsl/glsl_parser_extras.h"
#include "glsl_types.h" #include "glsl_types.h"
#include "util/hash_table.h" #include "util/hash_table.h"
#include "util/u_string.h"
mtx_t glsl_type::hash_mutex = _MTX_INITIALIZER_NP; mtx_t glsl_type::hash_mutex = _MTX_INITIALIZER_NP;
@@ -459,7 +460,7 @@ glsl_type::glsl_type(const glsl_type *array, unsigned length) :
char *const n = (char *) ralloc_size(this->mem_ctx, name_length); char *const n = (char *) ralloc_size(this->mem_ctx, name_length);
if (length == 0) if (length == 0)
snprintf(n, name_length, "%s[]", array->name); util_snprintf(n, name_length, "%s[]", array->name);
else { else {
/* insert outermost dimensions in the correct spot /* insert outermost dimensions in the correct spot
* otherwise the dimension order will be backwards * otherwise the dimension order will be backwards
@@ -467,11 +468,11 @@ glsl_type::glsl_type(const glsl_type *array, unsigned length) :
const char *pos = strchr(array->name, '['); const char *pos = strchr(array->name, '[');
if (pos) { if (pos) {
int idx = pos - array->name; int idx = pos - array->name;
snprintf(n, idx+1, "%s", array->name); util_snprintf(n, idx+1, "%s", array->name);
snprintf(n + idx, name_length - idx, "[%u]%s", util_snprintf(n + idx, name_length - idx, "[%u]%s",
length, array->name + idx); length, array->name + idx);
} else { } else {
snprintf(n, name_length, "%s[%u]", array->name, length); util_snprintf(n, name_length, "%s[%u]", array->name, length);
} }
} }
@@ -853,7 +854,7 @@ glsl_type::get_array_instance(const glsl_type *base, unsigned array_size)
* named 'foo'. * named 'foo'.
*/ */
char key[128]; char key[128];
snprintf(key, sizeof(key), "%p[%u]", (void *) base, array_size); util_snprintf(key, sizeof(key), "%p[%u]", (void *) base, array_size);
mtx_lock(&glsl_type::hash_mutex); mtx_lock(&glsl_type::hash_mutex);