Re: [Piglit] [PATCH] getteximage-formats: Disable dithering during glDrawPixels

2017-01-30 Thread Chad Versace
Pushed.
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] getteximage-formats: Disable dithering during glDrawPixels

2017-01-30 Thread Kenneth Graunke
On Monday, January 30, 2017 11:12:44 AM PST Chad Versace wrote:
> The test generates a mipmap by "copying" a client-array of pixels to
> miplevel 0 with glDrawPixels, then calling glGenerateMipmap. The test
> expects the rendered level 0 to match the client-array source. Dithering
> during glDrawPixels inteferes with that expectation.
> 
> Fixes on Intel Skylake:
>   spec.ext_framebuffer_object.getteximage-formats init-by-clear-and-render
>   spec.ext_framebuffer_object.getteximage-formats init-by-render
> 
> Regressed by Mesa:
>   commit c4b87f129eb036c9615df3adcc1cebd9df10fc84
>   Author: Chad Versace 
>   Subject: meta: Disable dithering during glGenerateMipmap
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99266
> Cc: Mark Janes 
> Cc: Kenneth Graunke 
> ---
>  tests/texturing/getteximage-formats.c | 25 +
>  1 file changed, 25 insertions(+)
> 
> diff --git a/tests/texturing/getteximage-formats.c 
> b/tests/texturing/getteximage-formats.c
> index 6f4fb029e..02d78d441 100644
> --- a/tests/texturing/getteximage-formats.c
> +++ b/tests/texturing/getteximage-formats.c
> @@ -110,8 +110,33 @@ make_texture_image(GLenum intFormat, GLubyte 
> upperRightTexel[4])
>  
>   glViewport(0, 0, TEX_SIZE, TEX_SIZE);
>  
> + /* Disable dithering during glDrawPixels to prevent
> +  * disagreement with glGenerateMipmap.  The spec requires
> +  * glDrawPixels to respect the dither state, but the spec
> +  * strongly implies that glGenerateMipmap should not dither.
> +  *
> +  * On dithering and glDrawPixels, see the OpenGL 4.5
> +  * Compatibility Specification, Section 18.1 Drawing Pixels,
> +  * p620:
> +  *
> +  *   Once pixels are transferred, DrawPixels performs final
> +  *   conversion on pixel values [...] which are processed in
> +  *   the same fashion as fragments generated by rasterization
> +  *   (see chapters 15 and 16).
> +  *
> +  * On dithering and glGenerateMipmap, see the Mesa commit
> +  * message in:
> +  *
> +  *   commit c4b87f129eb036c9615df3adcc1cebd9df10fc84
> +  *   Author: Chad Versace 
> +  *   Date:   Thu Dec 29 13:05:27 2016 -0800
> +  *   Subject: meta: Disable dithering during glGenerateMipmap
> +  */
> + glDisable(GL_DITHER);
>   glWindowPos2iARB(0, 0);
>   glDrawPixels(TEX_SIZE, TEX_SIZE, GL_RGBA, GL_UNSIGNED_BYTE, 
> tex);
> + glEnable(GL_DITHER);
> +
>   glGenerateMipmap(GL_TEXTURE_2D);
>  
>   glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, piglit_winsys_fbo);
> 

Thank you, Chad!

Reviewed-by: Kenneth Graunke 


signature.asc
Description: This is a digitally signed message part.
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


Re: [Piglit] [PATCH] getteximage-formats: Disable dithering during glDrawPixels

2017-01-30 Thread Mark Janes
Tested-by: Mark Janes 

Chad Versace  writes:

> The test generates a mipmap by "copying" a client-array of pixels to
> miplevel 0 with glDrawPixels, then calling glGenerateMipmap. The test
> expects the rendered level 0 to match the client-array source. Dithering
> during glDrawPixels inteferes with that expectation.
>
> Fixes on Intel Skylake:
>   spec.ext_framebuffer_object.getteximage-formats init-by-clear-and-render
>   spec.ext_framebuffer_object.getteximage-formats init-by-render
>
> Regressed by Mesa:
>   commit c4b87f129eb036c9615df3adcc1cebd9df10fc84
>   Author: Chad Versace 
>   Subject: meta: Disable dithering during glGenerateMipmap
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99266
> Cc: Mark Janes 
> Cc: Kenneth Graunke 
> ---
>  tests/texturing/getteximage-formats.c | 25 +
>  1 file changed, 25 insertions(+)
>
> diff --git a/tests/texturing/getteximage-formats.c 
> b/tests/texturing/getteximage-formats.c
> index 6f4fb029e..02d78d441 100644
> --- a/tests/texturing/getteximage-formats.c
> +++ b/tests/texturing/getteximage-formats.c
> @@ -110,8 +110,33 @@ make_texture_image(GLenum intFormat, GLubyte 
> upperRightTexel[4])
>  
>   glViewport(0, 0, TEX_SIZE, TEX_SIZE);
>  
> + /* Disable dithering during glDrawPixels to prevent
> +  * disagreement with glGenerateMipmap.  The spec requires
> +  * glDrawPixels to respect the dither state, but the spec
> +  * strongly implies that glGenerateMipmap should not dither.
> +  *
> +  * On dithering and glDrawPixels, see the OpenGL 4.5
> +  * Compatibility Specification, Section 18.1 Drawing Pixels,
> +  * p620:
> +  *
> +  *   Once pixels are transferred, DrawPixels performs final
> +  *   conversion on pixel values [...] which are processed in
> +  *   the same fashion as fragments generated by rasterization
> +  *   (see chapters 15 and 16).
> +  *
> +  * On dithering and glGenerateMipmap, see the Mesa commit
> +  * message in:
> +  *
> +  *   commit c4b87f129eb036c9615df3adcc1cebd9df10fc84
> +  *   Author: Chad Versace 
> +  *   Date:   Thu Dec 29 13:05:27 2016 -0800
> +  *   Subject: meta: Disable dithering during glGenerateMipmap
> +  */
> + glDisable(GL_DITHER);
>   glWindowPos2iARB(0, 0);
>   glDrawPixels(TEX_SIZE, TEX_SIZE, GL_RGBA, GL_UNSIGNED_BYTE, 
> tex);
> + glEnable(GL_DITHER);
> +
>   glGenerateMipmap(GL_TEXTURE_2D);
>  
>   glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, piglit_winsys_fbo);
> -- 
> 2.11.0
___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit


[Piglit] [PATCH] getteximage-formats: Disable dithering during glDrawPixels

2017-01-30 Thread Chad Versace
The test generates a mipmap by "copying" a client-array of pixels to
miplevel 0 with glDrawPixels, then calling glGenerateMipmap. The test
expects the rendered level 0 to match the client-array source. Dithering
during glDrawPixels inteferes with that expectation.

Fixes on Intel Skylake:
  spec.ext_framebuffer_object.getteximage-formats init-by-clear-and-render
  spec.ext_framebuffer_object.getteximage-formats init-by-render

Regressed by Mesa:
  commit c4b87f129eb036c9615df3adcc1cebd9df10fc84
  Author: Chad Versace 
  Subject: meta: Disable dithering during glGenerateMipmap

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99266
Cc: Mark Janes 
Cc: Kenneth Graunke 
---
 tests/texturing/getteximage-formats.c | 25 +
 1 file changed, 25 insertions(+)

diff --git a/tests/texturing/getteximage-formats.c 
b/tests/texturing/getteximage-formats.c
index 6f4fb029e..02d78d441 100644
--- a/tests/texturing/getteximage-formats.c
+++ b/tests/texturing/getteximage-formats.c
@@ -110,8 +110,33 @@ make_texture_image(GLenum intFormat, GLubyte 
upperRightTexel[4])
 
glViewport(0, 0, TEX_SIZE, TEX_SIZE);
 
+   /* Disable dithering during glDrawPixels to prevent
+* disagreement with glGenerateMipmap.  The spec requires
+* glDrawPixels to respect the dither state, but the spec
+* strongly implies that glGenerateMipmap should not dither.
+*
+* On dithering and glDrawPixels, see the OpenGL 4.5
+* Compatibility Specification, Section 18.1 Drawing Pixels,
+* p620:
+*
+*   Once pixels are transferred, DrawPixels performs final
+*   conversion on pixel values [...] which are processed in
+*   the same fashion as fragments generated by rasterization
+*   (see chapters 15 and 16).
+*
+* On dithering and glGenerateMipmap, see the Mesa commit
+* message in:
+*
+*   commit c4b87f129eb036c9615df3adcc1cebd9df10fc84
+*   Author: Chad Versace 
+*   Date:   Thu Dec 29 13:05:27 2016 -0800
+*   Subject: meta: Disable dithering during glGenerateMipmap
+*/
+   glDisable(GL_DITHER);
glWindowPos2iARB(0, 0);
glDrawPixels(TEX_SIZE, TEX_SIZE, GL_RGBA, GL_UNSIGNED_BYTE, 
tex);
+   glEnable(GL_DITHER);
+
glGenerateMipmap(GL_TEXTURE_2D);
 
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, piglit_winsys_fbo);
-- 
2.11.0

___
Piglit mailing list
Piglit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/piglit