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

Author: Michel Dänzer <[email protected]>
Date:   Wed Feb  8 16:48:43 2023 +0100

glsl/standalone: Fix up _mesa_reference_shader_program_data signature

Drop the unused ctx parameter, to match the main Mesa code.

Fixes ODR violation flagged by -Wodr with LTO enabled:

../src/mesa/main/shaderobj.h:74:1: error: ‘_mesa_reference_shader_program_data’ 
violates the C++ One Definition Rule [-Werror=odr]
   74 | _mesa_reference_shader_program_data(struct gl_shader_program_data **ptr,
      | ^
../src/compiler/glsl/standalone_scaffolding.cpp:76:1: note: type mismatch in 
parameter 1
   76 | _mesa_reference_shader_program_data(struct gl_context *ctx,
      | ^
../src/compiler/glsl/standalone_scaffolding.cpp:76:1: note: 
‘_mesa_reference_shader_program_data’ was previously declared here
../src/compiler/glsl/standalone_scaffolding.cpp:76:1: note: code may be 
misoptimized unless ‘-fno-strict-aliasing’ is used

Fixes: 717a720e9c95 ("mesa: drop unused context parameter to shader program 
data reference.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21215>

---

 src/compiler/glsl/standalone_scaffolding.cpp | 4 +---
 src/compiler/glsl/standalone_scaffolding.h   | 3 +--
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/compiler/glsl/standalone_scaffolding.cpp 
b/src/compiler/glsl/standalone_scaffolding.cpp
index f875e2e08bf..1d84d674f99 100644
--- a/src/compiler/glsl/standalone_scaffolding.cpp
+++ b/src/compiler/glsl/standalone_scaffolding.cpp
@@ -73,11 +73,9 @@ _mesa_problem(struct gl_context *ctx, const char *fmt, ...)
 }
 
 void
-_mesa_reference_shader_program_data(struct gl_context *ctx,
-                                    struct gl_shader_program_data **ptr,
+_mesa_reference_shader_program_data(struct gl_shader_program_data **ptr,
                                     struct gl_shader_program_data *data)
 {
-   (void) ctx;
    *ptr = data;
 }
 
diff --git a/src/compiler/glsl/standalone_scaffolding.h 
b/src/compiler/glsl/standalone_scaffolding.h
index d7d1a9ea7ff..083d56fe29d 100644
--- a/src/compiler/glsl/standalone_scaffolding.h
+++ b/src/compiler/glsl/standalone_scaffolding.h
@@ -41,8 +41,7 @@ extern "C" void
 _mesa_problem(struct gl_context *ctx, const char *fmtString, ... );
 
 extern "C" void
-_mesa_reference_shader_program_data(struct gl_context *ctx,
-                                    struct gl_shader_program_data **ptr,
+_mesa_reference_shader_program_data(struct gl_shader_program_data **ptr,
                                     struct gl_shader_program_data *data);
 
 extern "C" void

Reply via email to