[Bf-blender-cvs] [1c4203ae726] tmp-gpu-context-isolation: GPU: Convert gpu_shader_interface.c to C++

Clément Foucault noreply at git.blender.org
Fri Jul 31 18:58:25 CEST 2020


Commit: 1c4203ae726f799f91f2f1e4ed2167ec4781336e
Author: Clément Foucault
Date:   Thu Jul 30 23:49:13 2020 +0200
Branches: tmp-gpu-context-isolation
https://developer.blender.org/rB1c4203ae726f799f91f2f1e4ed2167ec4781336e

GPU: Convert gpu_shader_interface.c to C++

===================================================================

M	source/blender/gpu/CMakeLists.txt
R093	source/blender/gpu/intern/gpu_shader_interface.c	source/blender/gpu/intern/gpu_shader_interface.cc

===================================================================

diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index 98a885f88e1..a8e0af6797b 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -77,7 +77,7 @@ set(SRC
   intern/gpu_select_sample_query.c
   intern/gpu_shader.cc
   intern/gpu_shader_builtin.c
-  intern/gpu_shader_interface.c
+  intern/gpu_shader_interface.cc
   intern/gpu_state.cc
   intern/gpu_texture.cc
   intern/gpu_uniformbuffer.cc
diff --git a/source/blender/gpu/intern/gpu_shader_interface.c b/source/blender/gpu/intern/gpu_shader_interface.cc
similarity index 93%
rename from source/blender/gpu/intern/gpu_shader_interface.c
rename to source/blender/gpu/intern/gpu_shader_interface.cc
index 9d9f98c6bb0..b37c8176a16 100644
--- a/source/blender/gpu/intern/gpu_shader_interface.c
+++ b/source/blender/gpu/intern/gpu_shader_interface.cc
@@ -273,7 +273,7 @@ GPUShaderInterface *GPU_shaderinterface_create(int32_t program)
   /* Bit set to true if uniform comes from a uniform block. */
   BLI_bitmap *uniforms_from_blocks = BLI_BITMAP_NEW(active_uniform_len, __func__);
   /* Set uniforms from block for exclusion. */
-  GLint *ubo_uni_ids = MEM_mallocN(sizeof(GLint) * max_ubo_uni_len, __func__);
+  GLint *ubo_uni_ids = (GLint *)MEM_mallocN(sizeof(GLint) * max_ubo_uni_len, __func__);
   for (int i = 0; i < ubo_len; i++) {
     GLint ubo_uni_len;
     glGetActiveUniformBlockiv(program, i, GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS, &ubo_uni_len);
@@ -291,16 +291,18 @@ GPUShaderInterface *GPU_shaderinterface_create(int32_t program)
   int input_tot_len = attr_len + ubo_len + uniform_len;
   size_t interface_size = sizeof(GPUShaderInterface) + sizeof(GPUShaderInput) * input_tot_len;
 
-  GPUShaderInterface *shaderface = MEM_callocN(interface_size, "GPUShaderInterface");
+  GPUShaderInterface *shaderface = (GPUShaderInterface *)MEM_callocN(interface_size,
+                                                                     "GPUShaderInterface");
   shaderface->attribute_len = attr_len;
   shaderface->ubo_len = ubo_len;
   shaderface->uniform_len = uniform_len;
-  shaderface->name_buffer = MEM_mallocN(name_buffer_len, "name_buffer");
+  shaderface->name_buffer = (char *)MEM_mallocN(name_buffer_len, "name_buffer");
   GPUShaderInput *inputs = shaderface->inputs;
 
   /* Temp buffer. */
   int input_tmp_len = max_iii(attr_len, ubo_len, uniform_len);
-  GPUShaderInput *inputs_tmp = MEM_mallocN(sizeof(GPUShaderInput) * input_tmp_len, "name_buffer");
+  GPUShaderInput *inputs_tmp = (GPUShaderInput *)MEM_mallocN(
+      sizeof(GPUShaderInput) * input_tmp_len, "name_buffer");
 
   /* Attributes */
   shaderface->enabled_attr_mask = 0;
@@ -366,27 +368,29 @@ GPUShaderInterface *GPU_shaderinterface_create(int32_t program)
   sort_input_list(inputs, inputs_tmp, shaderface->uniform_len);
 
   /* Builtin Uniforms */
-  for (GPUUniformBuiltin u = 0; u < GPU_NUM_UNIFORMS; u++) {
+  for (int32_t u_int = 0; u_int < GPU_NUM_UNIFORMS; u_int++) {
+    GPUUniformBuiltin u = static_cast<GPUUniformBuiltin>(u_int);
     shaderface->builtins[u] = glGetUniformLocation(program, BuiltinUniform_name(u));
   }
 
   /* Builtin Uniforms Blocks */
-  for (GPUUniformBlockBuiltin u = 0; u < GPU_NUM_UNIFORM_BLOCKS; u++) {
+  for (int32_t u_int = 0; u_int < GPU_NUM_UNIFORM_BLOCKS; u_int++) {
+    GPUUniformBlockBuiltin u = static_cast<GPUUniformBlockBuiltin>(u_int);
     const GPUShaderInput *block = GPU_shaderinterface_ubo(shaderface, BuiltinUniformBlock_name(u));
     shaderface->builtin_blocks[u] = (block != NULL) ? block->binding : -1;
   }
 
   /* Batches ref buffer */
   shaderface->batches_len = GPU_SHADERINTERFACE_REF_ALLOC_COUNT;
-  shaderface->batches = MEM_callocN(shaderface->batches_len * sizeof(GPUBatch *),
-                                    "GPUShaderInterface batches");
+  shaderface->batches = (GPUBatch **)MEM_callocN(shaderface->batches_len * sizeof(GPUBatch *),
+                                                 "GPUShaderInterface batches");
 
   MEM_freeN(uniforms_from_blocks);
   MEM_freeN(inputs_tmp);
 
   /* Resize name buffer to save some memory. */
   if (name_buffer_offset < name_buffer_len) {
-    shaderface->name_buffer = MEM_reallocN(shaderface->name_buffer, name_buffer_offset);
+    shaderface->name_buffer = (char *)MEM_reallocN(shaderface->name_buffer, name_buffer_offset);
   }
 
 #if DEBUG_SHADER_INTERFACE
@@ -501,8 +505,8 @@ void GPU_shaderinterface_add_batch_ref(GPUShaderInterface *shaderface, GPUBatch
     /* Not enough place, realloc the array. */
     i = shaderface->batches_len;
     shaderface->batches_len += GPU_SHADERINTERFACE_REF_ALLOC_COUNT;
-    shaderface->batches = MEM_recallocN(shaderface->batches,
-                                        sizeof(GPUBatch *) * shaderface->batches_len);
+    shaderface->batches = (GPUBatch **)MEM_recallocN(shaderface->batches,
+                                                     sizeof(GPUBatch *) * shaderface->batches_len);
   }
   shaderface->batches[i] = batch;
 }



More information about the Bf-blender-cvs mailing list