On 21/07/17 19:44, Samuel Pitoiset wrote:
On 07/21/2017 11:19 AM, Timothy Arceri wrote:
I wasn't too worried about this because more than just no_error gets in-lined away, for example the dsa conditions and also the dim == 3. The resulting output shouldn't be overly large. What do you think?

Usually, when a helper function marked as ALWAYS_INLINE has to be inlined more than one time, we declare two more helpers (XXX_error() and XXX_no_error()), this is also why I wrote this patch.

Sure I'm just saying that in this instance it's not so bad, the code getting inlined will be rather small and in most cases will end up unique to the caller.

However we probably should just keep things consistent as you say, I'm sure its not gaining us much so:

Reviewed-by: Timothy Arceri <tarc...@itsqueeze.com>



On 21/07/17 18:43, Samuel Pitoiset wrote:
To avoid inlining compressed_tex_sub_image() a bunch of times.

Signed-off-by: Samuel Pitoiset <samuel.pitoi...@gmail.com>
---
src/mesa/main/teximage.c | 101 ++++++++++++++++++++++++++++++-----------------
  1 file changed, 65 insertions(+), 36 deletions(-)

diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 38feb3fea4..c8aa2803e7 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -4997,6 +4997,31 @@ compressed_tex_sub_image(unsigned dim, GLenum target, GLuint texture,
     }
  }
+static void
+compressed_tex_sub_image_error(unsigned dim, GLenum target, GLuint texture, + GLint level, GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, GLsizei height, + GLsizei depth, GLenum format, GLsizei imageSize,
+                               const GLvoid *data, bool dsa,
+                               const char *caller)
+{
+ compressed_tex_sub_image(dim, target, texture, level, xoffset, yoffset, + zoffset, width, height, depth, format, imageSize,
+                            data, dsa, false, caller);
+}
+
+static void
+compressed_tex_sub_image_no_error(unsigned dim, GLenum target, GLuint texture, + GLint level, GLint xoffset, GLint yoffset, + GLint zoffset, GLsizei width, GLsizei height, + GLsizei depth, GLenum format, GLsizei imageSize,
+                                  const GLvoid *data, bool dsa,
+                                  const char *caller)
+{
+ compressed_tex_sub_image(dim, target, texture, level, xoffset, yoffset, + zoffset, width, height, depth, format, imageSize,
+                            data, dsa, true, caller);
+}
  void GLAPIENTRY
  _mesa_CompressedTexSubImage1D_no_error(GLenum target, GLint level,
@@ -5004,9 +5029,9 @@ _mesa_CompressedTexSubImage1D_no_error(GLenum target, GLint level, GLenum format, GLsizei imageSize,
                                         const GLvoid *data)
  {
-   compressed_tex_sub_image(1, target, 0, level, xoffset, 0, 0, width,
-                            1, 1, format, imageSize, data, false, true,
-                            "glCompressedTexSubImage1D");
+ compressed_tex_sub_image_no_error(1, target, 0, level, xoffset, 0, 0, width, + 1, 1, format, imageSize, data, false,
+                                     "glCompressedTexSubImage1D");
  }
@@ -5015,9 +5040,9 @@ _mesa_CompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset,
                                GLsizei width, GLenum format,
                                GLsizei imageSize, const GLvoid *data)
  {
- compressed_tex_sub_image(1, target, 0, level, xoffset, 0, 0, width, 1, 1,
-                            format, imageSize, data, false, false,
-                            "glCompressedTexSubImage1D");
+ compressed_tex_sub_image_error(1, target, 0, level, xoffset, 0, 0, width, 1,
+                                  1, format, imageSize, data, false,
+                                  "glCompressedTexSubImage1D");
  }
@@ -5027,9 +5052,9 @@ _mesa_CompressedTextureSubImage1D_no_error(GLuint texture, GLint level, GLenum format, GLsizei imageSize,
                                             const GLvoid *data)
  {
- compressed_tex_sub_image(1, 0, texture, level, xoffset, 0, 0, width, 1, 1,
-                            format, imageSize, data, true, true,
-                            "glCompressedTextureSubImage1D");
+ compressed_tex_sub_image_no_error(1, 0, texture, level, xoffset, 0, 0, width, + 1, 1, format, imageSize, data, true,
+                                     "glCompressedTextureSubImage1D");
  }
@@ -5038,9 +5063,9 @@ _mesa_CompressedTextureSubImage1D(GLuint texture, GLint level, GLint xoffset,
                                    GLsizei width, GLenum format,
GLsizei imageSize, const GLvoid *data)
  {
- compressed_tex_sub_image(1, 0, texture, level, xoffset, 0, 0, width, 1, 1,
-                            format, imageSize, data, true, false,
-                            "glCompressedTextureSubImage1D");
+ compressed_tex_sub_image_error(1, 0, texture, level, xoffset, 0, 0, width,
+                                  1, 1, format, imageSize, data, true,
+                                  "glCompressedTextureSubImage1D");
  }
  void GLAPIENTRY
@@ -5050,9 +5075,9 @@ _mesa_CompressedTexSubImage2D_no_error(GLenum target, GLint level, GLenum format, GLsizei imageSize,
                                         const GLvoid *data)
  {
- compressed_tex_sub_image(2, target, 0, level, xoffset, yoffset, 0, width, - height, 1, format, imageSize, data, false, true,
-                            "glCompressedTexSubImage2D");
+ compressed_tex_sub_image_no_error(2, target, 0, level, xoffset, yoffset, 0, + width, height, 1, format, imageSize, data, + false, "glCompressedTexSubImage2D");
  }
@@ -5062,9 +5087,9 @@ _mesa_CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset,
                                GLenum format, GLsizei imageSize,
                                const GLvoid *data)
  {
- compressed_tex_sub_image(2, target, 0, level, xoffset, yoffset, 0, width, - height, 1, format, imageSize, data, false, false,
-                            "glCompressedTexSubImage2D");
+ compressed_tex_sub_image_error(2, target, 0, level, xoffset, yoffset, 0, + width, height, 1, format, imageSize, data,
+                                  false, "glCompressedTexSubImage2D");
  }
@@ -5075,9 +5100,9 @@ _mesa_CompressedTextureSubImage2D_no_error(GLuint texture, GLint level, GLenum format, GLsizei imageSize,
                                             const GLvoid *data)
  {
- compressed_tex_sub_image(2, 0, texture, level, xoffset, yoffset, 0, width, - height, 1, format, imageSize, data, true, true,
-                            "glCompressedTextureSubImage2D");
+ compressed_tex_sub_image_no_error(2, 0, texture, level, xoffset, yoffset, 0, + width, height, 1, format, imageSize, data, + true, "glCompressedTextureSubImage2D");
  }
@@ -5088,9 +5113,9 @@ _mesa_CompressedTextureSubImage2D(GLuint texture, GLint level, GLint xoffset,
                                    GLenum format, GLsizei imageSize,
                                    const GLvoid *data)
  {
- compressed_tex_sub_image(2, 0, texture, level, xoffset, yoffset, 0, width, - height, 1, format, imageSize, data, true, false,
-                            "glCompressedTextureSubImage2D");
+ compressed_tex_sub_image_error(2, 0, texture, level, xoffset, yoffset, 0, + width, height, 1, format, imageSize, data, + true, "glCompressedTextureSubImage2D");
  }
  void GLAPIENTRY
@@ -5101,9 +5126,10 @@ _mesa_CompressedTexSubImage3D_no_error(GLenum target, GLint level, GLenum format, GLsizei imageSize,
                                         const GLvoid *data)
  {
- compressed_tex_sub_image(3, target, 0, level, xoffset, yoffset, zoffset, - width, height, depth, format, imageSize, data,
-                            false, true, "glCompressedTexSubImage3D");
+ compressed_tex_sub_image_no_error(3, target, 0, level, xoffset, yoffset, + zoffset, width, height, depth, format,
+                                     imageSize, data, false,
+                                     "glCompressedTexSubImage3D");
  }
  void GLAPIENTRY
@@ -5112,9 +5138,10 @@ _mesa_CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLsizei height, GLsizei depth, GLenum format,
                                GLsizei imageSize, const GLvoid *data)
  {
- compressed_tex_sub_image(3, target, 0, level, xoffset, yoffset, zoffset, - width, height, depth, format, imageSize, data,
-                            false, false, "glCompressedTexSubImage3D");
+ compressed_tex_sub_image_error(3, target, 0, level, xoffset, yoffset, + zoffset, width, height, depth, format,
+                                  imageSize, data, false,
+                                  "glCompressedTexSubImage3D");
  }
  void GLAPIENTRY
@@ -5125,9 +5152,10 @@ _mesa_CompressedTextureSubImage3D_no_error(GLuint texture, GLint level, GLenum format, GLsizei imageSize,
                                             const GLvoid *data)
  {
- compressed_tex_sub_image(3, 0, texture, level, xoffset, yoffset, zoffset, - width, height, depth, format, imageSize, data, - true, true, "glCompressedTextureSubImage3D"); + compressed_tex_sub_image_no_error(3, 0, texture, level, xoffset, yoffset, + zoffset, width, height, depth, format,
+                                     imageSize, data, true,
+                                     "glCompressedTextureSubImage3D");
  }
  void GLAPIENTRY
@@ -5137,9 +5165,10 @@ _mesa_CompressedTextureSubImage3D(GLuint texture, GLint level, GLint xoffset,
                                    GLenum format, GLsizei imageSize,
                                    const GLvoid *data)
  {
- compressed_tex_sub_image(3, 0, texture, level, xoffset, yoffset, zoffset, - width, height, depth, format, imageSize, data, - true, false, "glCompressedTextureSubImage3D"); + compressed_tex_sub_image_error(3, 0, texture, level, xoffset, yoffset, + zoffset, width, height, depth, format,
+                                  imageSize, data, true,
+                                  "glCompressedTextureSubImage3D");
  }
  static mesa_format

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to