Mesa (main): st/mesa: change st_atom_array.c to cpp

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Nov 3 23:50:04 UTC 2021


Module: Mesa
Branch: main
Commit: 5b8b34825fef16689684b4d3498990505df84005
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b8b34825fef16689684b4d3498990505df84005

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Oct 23 22:53:30 2021 -0400

st/mesa: change st_atom_array.c to cpp

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13512>

---

 src/mesa/main/arrayobj.h                                      |  8 ++++++++
 src/mesa/meson.build                                          |  2 +-
 src/mesa/state_tracker/st_atom.h                              |  8 ++++++++
 src/mesa/state_tracker/{st_atom_array.c => st_atom_array.cpp} | 10 +++++-----
 4 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h
index 59e2e0c2666..0c116b02d24 100644
--- a/src/mesa/main/arrayobj.h
+++ b/src/mesa/main/arrayobj.h
@@ -32,6 +32,10 @@
 #include "glformats.h"
 #include "vbo/vbo.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct gl_context;
 
 /**
@@ -378,4 +382,8 @@ void GLAPIENTRY _mesa_VertexArrayElementBuffer(GLuint vaobj, GLuint buffer);
 
 void GLAPIENTRY _mesa_GetVertexArrayiv(GLuint vaobj, GLenum pname, GLint *param);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* ARRAYOBJ_H */
diff --git a/src/mesa/meson.build b/src/mesa/meson.build
index 2f29012c901..7d945a7712c 100644
--- a/src/mesa/meson.build
+++ b/src/mesa/meson.build
@@ -472,7 +472,7 @@ files_libmesa_classic = files(
 files_libmesa_gallium = files(
   'state_tracker/st_atifs_to_nir.c',
   'state_tracker/st_atifs_to_nir.h',
-  'state_tracker/st_atom_array.c',
+  'state_tracker/st_atom_array.cpp',
   'state_tracker/st_atom_atomicbuf.c',
   'state_tracker/st_atom_blend.c',
   'state_tracker/st_atom.c',
diff --git a/src/mesa/state_tracker/st_atom.h b/src/mesa/state_tracker/st_atom.h
index bf2e80bbd8a..0c53a229a1a 100644
--- a/src/mesa/state_tracker/st_atom.h
+++ b/src/mesa/state_tracker/st_atom.h
@@ -36,6 +36,10 @@
 
 #include "main/glheader.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 struct st_context;
 struct st_vertex_program;
 struct st_common_variant;
@@ -181,4 +185,8 @@ enum {
 #define ST_ALL_STATES_MASK (ST_PIPELINE_RENDER_STATE_MASK | \
                             ST_PIPELINE_COMPUTE_STATE_MASK)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif
diff --git a/src/mesa/state_tracker/st_atom_array.c b/src/mesa/state_tracker/st_atom_array.cpp
similarity index 97%
rename from src/mesa/state_tracker/st_atom_array.c
rename to src/mesa/state_tracker/st_atom_array.cpp
index 8b5fd101890..3a8a991a7aa 100644
--- a/src/mesa/state_tracker/st_atom_array.c
+++ b/src/mesa/state_tracker/st_atom_array.cpp
@@ -94,7 +94,7 @@ setup_arrays(struct st_context *st,
 
    if (vao->IsDynamic) {
       while (mask) {
-         const gl_vert_attrib attr = u_bit_scan(&mask);
+         const gl_vert_attrib attr = (gl_vert_attrib)u_bit_scan(&mask);
          const struct gl_array_attributes *const attrib =
             _mesa_draw_array_attrib(vao, attr);
          const struct gl_vertex_buffer_binding *const binding =
@@ -126,7 +126,7 @@ setup_arrays(struct st_context *st,
 
    while (mask) {
       /* The attribute index to start pulling a binding */
-      const gl_vert_attrib i = ffs(mask) - 1;
+      const gl_vert_attrib i = (gl_vert_attrib)(ffs(mask) - 1);
       const struct gl_vertex_buffer_binding *const binding
          = _mesa_draw_buffer_binding(vao, i);
       const unsigned bufidx = (*num_vbuffers)++;
@@ -154,7 +154,7 @@ setup_arrays(struct st_context *st,
       assert(attrmask);
       /* Walk attributes belonging to the binding */
       do {
-         const gl_vert_attrib attr = u_bit_scan(&attrmask);
+         const gl_vert_attrib attr = (gl_vert_attrib)u_bit_scan(&attrmask);
          const struct gl_array_attributes *const attrib
             = _mesa_draw_array_attrib(vao, attr);
          const GLuint off = _mesa_draw_attributes_relative_offset(attrib);
@@ -210,7 +210,7 @@ st_setup_current(struct st_context *st,
       unsigned max_alignment = 1;
 
       do {
-         const gl_vert_attrib attr = u_bit_scan(&curmask);
+         const gl_vert_attrib attr = (gl_vert_attrib)u_bit_scan(&curmask);
          const struct gl_array_attributes *const attrib
             = _mesa_draw_current_attrib(ctx, attr);
          const unsigned size = attrib->Format._ElementSize;
@@ -265,7 +265,7 @@ st_setup_current_user(struct st_context *st,
    GLbitfield curmask = inputs_read & _mesa_draw_current_bits(ctx);
    /* For each attribute, make an own user buffer binding. */
    while (curmask) {
-      const gl_vert_attrib attr = u_bit_scan(&curmask);
+      const gl_vert_attrib attr = (gl_vert_attrib)u_bit_scan(&curmask);
       const struct gl_array_attributes *const attrib
          = _mesa_draw_current_attrib(ctx, attr);
       const unsigned bufidx = (*num_vbuffers)++;



More information about the mesa-commit mailing list