Re: [Mesa-dev] [PATCH] st/wgl: check for NULL piAttribList in wglCreatePbufferARB()

2018-07-07 Thread Brian Paul
Thanks for investigating that one!

Reviewed-by: Brian Paul 


On Fri, Jul 6, 2018 at 5:09 PM, Charmaine Lee  wrote:

> Java2d opengl pipeline passes NULL piAttribList to
> wglCreatePbufferARB(). So skip parsing the attribute list
> if it is NULL.
> ---
>  src/gallium/state_trackers/wgl/stw_ext_pbuffer.c | 80
> 
>  1 file changed, 41 insertions(+), 39 deletions(-)
>
> diff --git a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
> b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
> index d709faa..02ccb76 100644
> --- a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
> +++ b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
> @@ -101,45 +101,47 @@ wglCreatePbufferARB(HDC hCurrentDC,
>return 0;
> }
>
> -   for (piAttrib = piAttribList; *piAttrib; piAttrib++) {
> -  switch (*piAttrib) {
> -  case WGL_PBUFFER_LARGEST_ARB:
> - piAttrib++;
> - useLargest = *piAttrib;
> - break;
> -   case WGL_TEXTURE_FORMAT_ARB:
> -  /* WGL_ARB_render_texture */
> -  piAttrib++;
> -  textureFormat = *piAttrib;
> -  if (textureFormat != WGL_TEXTURE_RGB_ARB &&
> - textureFormat != WGL_TEXTURE_RGBA_ARB &&
> - textureFormat != WGL_NO_TEXTURE_ARB) {
> - SetLastError(ERROR_INVALID_DATA);
> - return 0;
> -  }
> -  break;
> -   case WGL_TEXTURE_TARGET_ARB:
> -  /* WGL_ARB_render_texture */
> -  piAttrib++;
> -  textureTarget = *piAttrib;
> -  if (textureTarget != WGL_TEXTURE_CUBE_MAP_ARB &&
> -  textureTarget != WGL_TEXTURE_1D_ARB &&
> -  textureTarget != WGL_TEXTURE_2D_ARB &&
> -  textureTarget != WGL_NO_TEXTURE_ARB) {
> - SetLastError(ERROR_INVALID_DATA);
> - return 0;
> -  }
> -  break;
> -  case WGL_MIPMAP_TEXTURE_ARB:
> - /* WGL_ARB_render_texture */
> - piAttrib++;
> - textureMipmap = !!*piAttrib;
> - break;
> -  default:
> - SetLastError(ERROR_INVALID_DATA);
> - debug_printf("wgl: Unsupported attribute 0x%x in %s\n",
> -  *piAttrib, __func__);
> - return 0;
> +   if (piAttribList) {
> +  for (piAttrib = piAttribList; *piAttrib; piAttrib++) {
> + switch (*piAttrib) {
> + case WGL_PBUFFER_LARGEST_ARB:
> +piAttrib++;
> +useLargest = *piAttrib;
> +break;
> +  case WGL_TEXTURE_FORMAT_ARB:
> + /* WGL_ARB_render_texture */
> + piAttrib++;
> + textureFormat = *piAttrib;
> + if (textureFormat != WGL_TEXTURE_RGB_ARB &&
> +textureFormat != WGL_TEXTURE_RGBA_ARB &&
> +textureFormat != WGL_NO_TEXTURE_ARB) {
> +SetLastError(ERROR_INVALID_DATA);
> +return 0;
> + }
> + break;
> +  case WGL_TEXTURE_TARGET_ARB:
> + /* WGL_ARB_render_texture */
> + piAttrib++;
> + textureTarget = *piAttrib;
> + if (textureTarget != WGL_TEXTURE_CUBE_MAP_ARB &&
> + textureTarget != WGL_TEXTURE_1D_ARB &&
> + textureTarget != WGL_TEXTURE_2D_ARB &&
> + textureTarget != WGL_NO_TEXTURE_ARB) {
> +SetLastError(ERROR_INVALID_DATA);
> +return 0;
> + }
> + break;
> + case WGL_MIPMAP_TEXTURE_ARB:
> +/* WGL_ARB_render_texture */
> +piAttrib++;
> +textureMipmap = !!*piAttrib;
> +break;
> + default:
> +SetLastError(ERROR_INVALID_DATA);
> +debug_printf("wgl: Unsupported attribute 0x%x in %s\n",
> + *piAttrib, __func__);
> +return 0;
> + }
>}
> }
>
> --
> 1.9.1
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] st/wgl: check for NULL piAttribList in wglCreatePbufferARB()

2018-07-06 Thread Neha Bhende
Looks good to me.


Reviewed-by: Neha Bhende


Regards,

Neha


From: Charmaine Lee 
Sent: Friday, July 6, 2018 4:09:02 PM
To: mesa-dev@lists.freedesktop.org
Cc: Brian Paul; Neha Bhende; Charmaine Lee
Subject: [PATCH] st/wgl: check for NULL piAttribList in wglCreatePbufferARB()

Java2d opengl pipeline passes NULL piAttribList to
wglCreatePbufferARB(). So skip parsing the attribute list
if it is NULL.
---
 src/gallium/state_trackers/wgl/stw_ext_pbuffer.c | 80 
 1 file changed, 41 insertions(+), 39 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c 
b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
index d709faa..02ccb76 100644
--- a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
+++ b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
@@ -101,45 +101,47 @@ wglCreatePbufferARB(HDC hCurrentDC,
   return 0;
}

-   for (piAttrib = piAttribList; *piAttrib; piAttrib++) {
-  switch (*piAttrib) {
-  case WGL_PBUFFER_LARGEST_ARB:
- piAttrib++;
- useLargest = *piAttrib;
- break;
-   case WGL_TEXTURE_FORMAT_ARB:
-  /* WGL_ARB_render_texture */
-  piAttrib++;
-  textureFormat = *piAttrib;
-  if (textureFormat != WGL_TEXTURE_RGB_ARB &&
- textureFormat != WGL_TEXTURE_RGBA_ARB &&
- textureFormat != WGL_NO_TEXTURE_ARB) {
- SetLastError(ERROR_INVALID_DATA);
- return 0;
-  }
-  break;
-   case WGL_TEXTURE_TARGET_ARB:
-  /* WGL_ARB_render_texture */
-  piAttrib++;
-  textureTarget = *piAttrib;
-  if (textureTarget != WGL_TEXTURE_CUBE_MAP_ARB &&
-  textureTarget != WGL_TEXTURE_1D_ARB &&
-  textureTarget != WGL_TEXTURE_2D_ARB &&
-  textureTarget != WGL_NO_TEXTURE_ARB) {
- SetLastError(ERROR_INVALID_DATA);
- return 0;
-  }
-  break;
-  case WGL_MIPMAP_TEXTURE_ARB:
- /* WGL_ARB_render_texture */
- piAttrib++;
- textureMipmap = !!*piAttrib;
- break;
-  default:
- SetLastError(ERROR_INVALID_DATA);
- debug_printf("wgl: Unsupported attribute 0x%x in %s\n",
-  *piAttrib, __func__);
- return 0;
+   if (piAttribList) {
+  for (piAttrib = piAttribList; *piAttrib; piAttrib++) {
+ switch (*piAttrib) {
+ case WGL_PBUFFER_LARGEST_ARB:
+piAttrib++;
+useLargest = *piAttrib;
+break;
+  case WGL_TEXTURE_FORMAT_ARB:
+ /* WGL_ARB_render_texture */
+ piAttrib++;
+ textureFormat = *piAttrib;
+ if (textureFormat != WGL_TEXTURE_RGB_ARB &&
+textureFormat != WGL_TEXTURE_RGBA_ARB &&
+textureFormat != WGL_NO_TEXTURE_ARB) {
+SetLastError(ERROR_INVALID_DATA);
+return 0;
+ }
+ break;
+  case WGL_TEXTURE_TARGET_ARB:
+ /* WGL_ARB_render_texture */
+ piAttrib++;
+ textureTarget = *piAttrib;
+ if (textureTarget != WGL_TEXTURE_CUBE_MAP_ARB &&
+ textureTarget != WGL_TEXTURE_1D_ARB &&
+ textureTarget != WGL_TEXTURE_2D_ARB &&
+ textureTarget != WGL_NO_TEXTURE_ARB) {
+SetLastError(ERROR_INVALID_DATA);
+return 0;
+ }
+ break;
+ case WGL_MIPMAP_TEXTURE_ARB:
+/* WGL_ARB_render_texture */
+piAttrib++;
+textureMipmap = !!*piAttrib;
+break;
+ default:
+SetLastError(ERROR_INVALID_DATA);
+debug_printf("wgl: Unsupported attribute 0x%x in %s\n",
+ *piAttrib, __func__);
+return 0;
+ }
   }
}

--
1.9.1

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


[Mesa-dev] [PATCH] st/wgl: check for NULL piAttribList in wglCreatePbufferARB()

2018-07-06 Thread Charmaine Lee
Java2d opengl pipeline passes NULL piAttribList to
wglCreatePbufferARB(). So skip parsing the attribute list
if it is NULL.
---
 src/gallium/state_trackers/wgl/stw_ext_pbuffer.c | 80 
 1 file changed, 41 insertions(+), 39 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c 
b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
index d709faa..02ccb76 100644
--- a/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
+++ b/src/gallium/state_trackers/wgl/stw_ext_pbuffer.c
@@ -101,45 +101,47 @@ wglCreatePbufferARB(HDC hCurrentDC,
   return 0;
}
 
-   for (piAttrib = piAttribList; *piAttrib; piAttrib++) {
-  switch (*piAttrib) {
-  case WGL_PBUFFER_LARGEST_ARB:
- piAttrib++;
- useLargest = *piAttrib;
- break;
-   case WGL_TEXTURE_FORMAT_ARB:
-  /* WGL_ARB_render_texture */
-  piAttrib++;
-  textureFormat = *piAttrib;
-  if (textureFormat != WGL_TEXTURE_RGB_ARB &&
- textureFormat != WGL_TEXTURE_RGBA_ARB &&
- textureFormat != WGL_NO_TEXTURE_ARB) {
- SetLastError(ERROR_INVALID_DATA);
- return 0;
-  }
-  break;
-   case WGL_TEXTURE_TARGET_ARB:
-  /* WGL_ARB_render_texture */
-  piAttrib++;
-  textureTarget = *piAttrib;
-  if (textureTarget != WGL_TEXTURE_CUBE_MAP_ARB &&
-  textureTarget != WGL_TEXTURE_1D_ARB &&
-  textureTarget != WGL_TEXTURE_2D_ARB &&
-  textureTarget != WGL_NO_TEXTURE_ARB) {
- SetLastError(ERROR_INVALID_DATA);
- return 0;
-  }
-  break;
-  case WGL_MIPMAP_TEXTURE_ARB:
- /* WGL_ARB_render_texture */
- piAttrib++;
- textureMipmap = !!*piAttrib;
- break;
-  default:
- SetLastError(ERROR_INVALID_DATA);
- debug_printf("wgl: Unsupported attribute 0x%x in %s\n",
-  *piAttrib, __func__);
- return 0;
+   if (piAttribList) {
+  for (piAttrib = piAttribList; *piAttrib; piAttrib++) {
+ switch (*piAttrib) {
+ case WGL_PBUFFER_LARGEST_ARB:
+piAttrib++;
+useLargest = *piAttrib;
+break;
+  case WGL_TEXTURE_FORMAT_ARB:
+ /* WGL_ARB_render_texture */
+ piAttrib++;
+ textureFormat = *piAttrib;
+ if (textureFormat != WGL_TEXTURE_RGB_ARB &&
+textureFormat != WGL_TEXTURE_RGBA_ARB &&
+textureFormat != WGL_NO_TEXTURE_ARB) {
+SetLastError(ERROR_INVALID_DATA);
+return 0;
+ }
+ break;
+  case WGL_TEXTURE_TARGET_ARB:
+ /* WGL_ARB_render_texture */
+ piAttrib++;
+ textureTarget = *piAttrib;
+ if (textureTarget != WGL_TEXTURE_CUBE_MAP_ARB &&
+ textureTarget != WGL_TEXTURE_1D_ARB &&
+ textureTarget != WGL_TEXTURE_2D_ARB &&
+ textureTarget != WGL_NO_TEXTURE_ARB) {
+SetLastError(ERROR_INVALID_DATA);
+return 0;
+ }
+ break;
+ case WGL_MIPMAP_TEXTURE_ARB:
+/* WGL_ARB_render_texture */
+piAttrib++;
+textureMipmap = !!*piAttrib;
+break;
+ default:
+SetLastError(ERROR_INVALID_DATA);
+debug_printf("wgl: Unsupported attribute 0x%x in %s\n",
+ *piAttrib, __func__);
+return 0;
+ }
   }
}
 
-- 
1.9.1

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