Re: [Mesa-dev] [PATCH v6 0/8] Add and enable extension EXT_sRGB_write_control

2018-12-14 Thread Gert Wollny
Hi all, 

Since I like MRs I've pushed the new version to 
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/14

There is actually only one one-line change with respect to the series
as posted here, so using the MR also saves everyones band-width. 

So far it was tested on r600 with the GLES deqp 2,4,and 31 master
suites where no regressions were seen.

From the tests 

  dEQP-GLES31.functional.fbo.srgb_write_control.
  framebuffer_srgb_unsupported_enum 

switched to unsupported (as expected) and 

   dEQP-GLES31.functional.fbo.srgb_write_control.
framebuffer_srgb_enabled* 

pass (with MESA_GLES_VERSION_OVERRIDE=3.2). 

Best, 
Gert

Am Donnerstag, den 15.11.2018, 13:45 +0100 schrieb Gert Wollny:
> From: Gert Wollny 
> 
> Dear all, 
> 
> after the RFC and Ilias comments I reworked the series another
> time.  
> Changes with respect to the RFC are 
>   - renaming the new CAP 
>   - reordering of the patches that no double checking of 
> EXT_sRGB and EXT_framebuffer_sRGB is needed. 
> 
> thanks for reviewing, 
> Gert
> 
> Gert Wollny (8):
>   Gallium: Add new CAPS to indicate whether a driver can switch SRGB
> write
>   virgl: Set sRGB write control CAP based on host capabilities
>   mesa:main: Add flag for EXT_sRGB to gl_extensions
>   i965: Set flag for EXT_sRGB
>   mesa/st: rework support for sRGB framebuffer attachements
>   mesa/main: Use flag for EXT_sRGB instead of EXT_framebuffer_sRGB
> where
> possible
>   mesa/main/version: Lower the requirements for GLES 3.0
>   mesa/main: Expose EXT_sRGB_write_control
> 
>  src/gallium/auxiliary/util/u_screen.c|  3 ++
>  src/gallium/docs/source/screen.rst   |  3 ++
>  src/gallium/drivers/virgl/virgl_context.c| 10 ++
>  src/gallium/drivers/virgl/virgl_hw.h |  1 +
>  src/gallium/drivers/virgl/virgl_screen.c |  2 ++
>  src/gallium/include/pipe/p_defines.h |  1 +
>  src/mesa/drivers/dri/i965/intel_extensions.c |  1 +
>  src/mesa/main/enable.c   |  4 ---
>  src/mesa/main/extensions_table.h |  1 +
>  src/mesa/main/fbobject.c |  2 +-
>  src/mesa/main/formatquery.c  |  2 +-
>  src/mesa/main/framebuffer.c  |  2 +-
>  src/mesa/main/get_hash_params.py |  4 ++-
>  src/mesa/main/mtypes.h   |  1 +
>  src/mesa/main/teximage.c |  2 +-
>  src/mesa/main/version.c  |  4 +--
>  src/mesa/state_tracker/st_cb_fbo.c   |  4 +--
>  src/mesa/state_tracker/st_extensions.c   |  6 +++-
>  src/mesa/state_tracker/st_format.c   |  2 +-
>  src/mesa/state_tracker/st_manager.c  | 37 
> 
>  20 files changed, 63 insertions(+), 29 deletions(-)
> 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH v6 0/8] Add and enable extension EXT_sRGB_write_control

2018-12-14 Thread Gert Wollny
Am Donnerstag, den 13.12.2018, 22:20 +0100 schrieb Erik Faye-Lund:
> On Thu, 2018-11-15 at 13:45 +0100, Gert Wollny wrote:
> > From: Gert Wollny 
> > 
> > Dear all, 
> > 
> > after the RFC and Ilias comments I reworked the series another
> > time.  
> > Changes with respect to the RFC are 
> >   - renaming the new CAP 
> >   - reordering of the patches that no double checking of 
> > EXT_sRGB and EXT_framebuffer_sRGB is needed. 
> > 
> > thanks for reviewing, 
> > Gert
> > 
> > Gert Wollny (8):
> >   Gallium: Add new CAPS to indicate whether a driver can switch
> > SRGB
> > write
> >   virgl: Set sRGB write control CAP based on host capabilities
> >   mesa:main: Add flag for EXT_sRGB to gl_extensions
> >   i965: Set flag for EXT_sRGB
> >   mesa/st: rework support for sRGB framebuffer attachements
> >   mesa/main: Use flag for EXT_sRGB instead of EXT_framebuffer_sRGB
> > where
> > possible
> >   mesa/main/version: Lower the requirements for GLES 3.0
> >   mesa/main: Expose EXT_sRGB_write_control
> > 
> 
> Hmm. So you only add a driver cap for EXT_sRGB, you don't actually
> expose the extension, right? I can't see it added to
> extensions_table.h...  Is there a reason for that?
> 
There are various reasons: 

EXT_sRGB is considered to be an incomplete extension.

> I guess it's more work than you'd want, considering it requires stuff
> like disallowing glGenerateMipmap() with sRGB textures...
This, and that this actually contradicts the GLES 3.0 spec. For drivers
that only support GLES 2.0 one could think about actually implementing
and exposing this extension, but AFAICS these are only some quite old
drivers. 

Another issue is that support for some more enums for texture creation
would have to be added and here I'm also not sure whether this should
be restricted to GLES 2.0. 

My original implementation for EXT_sRGB_write_control was a bit
different, but then Ilia pointed out that this is actually equivalent
to EXT_framebuffer_sRGB for all supported hardware with the notable
exception of virgl, and that's where the idea came from of adding this
flag for EXT_sRGB as a vehicle to expose GLES 3.0 if a virgl GLES host
doesn't support EXT_sRGB_write_control which is a requirement to expose
the extension it in the guest but not needed for GLES 3.0.

Best, 
Gert



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


Re: [Mesa-dev] [PATCH v6 0/8] Add and enable extension EXT_sRGB_write_control

2018-12-13 Thread Erik Faye-Lund
On Thu, 2018-11-15 at 13:45 +0100, Gert Wollny wrote:
> From: Gert Wollny 
> 
> Dear all, 
> 
> after the RFC and Ilias comments I reworked the series another
> time.  
> Changes with respect to the RFC are 
>   - renaming the new CAP 
>   - reordering of the patches that no double checking of 
> EXT_sRGB and EXT_framebuffer_sRGB is needed. 
> 
> thanks for reviewing, 
> Gert
> 
> Gert Wollny (8):
>   Gallium: Add new CAPS to indicate whether a driver can switch SRGB
> write
>   virgl: Set sRGB write control CAP based on host capabilities
>   mesa:main: Add flag for EXT_sRGB to gl_extensions
>   i965: Set flag for EXT_sRGB
>   mesa/st: rework support for sRGB framebuffer attachements
>   mesa/main: Use flag for EXT_sRGB instead of EXT_framebuffer_sRGB
> where
> possible
>   mesa/main/version: Lower the requirements for GLES 3.0
>   mesa/main: Expose EXT_sRGB_write_control
> 

Hmm. So you only add a driver cap for EXT_sRGB, you don't actually
expose the extension, right? I can't see it added to
extensions_table.h...  Is there a reason for that?

I guess it's more work than you'd want, considering it requires stuff
like disallowing glGenerateMipmap() with sRGB textures...

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


[Mesa-dev] [PATCH v6 0/8] Add and enable extension EXT_sRGB_write_control

2018-11-15 Thread Gert Wollny
From: Gert Wollny 

Dear all, 

after the RFC and Ilias comments I reworked the series another time.  
Changes with respect to the RFC are 
  - renaming the new CAP 
  - reordering of the patches that no double checking of 
EXT_sRGB and EXT_framebuffer_sRGB is needed. 

thanks for reviewing, 
Gert

Gert Wollny (8):
  Gallium: Add new CAPS to indicate whether a driver can switch SRGB
write
  virgl: Set sRGB write control CAP based on host capabilities
  mesa:main: Add flag for EXT_sRGB to gl_extensions
  i965: Set flag for EXT_sRGB
  mesa/st: rework support for sRGB framebuffer attachements
  mesa/main: Use flag for EXT_sRGB instead of EXT_framebuffer_sRGB where
possible
  mesa/main/version: Lower the requirements for GLES 3.0
  mesa/main: Expose EXT_sRGB_write_control

 src/gallium/auxiliary/util/u_screen.c|  3 ++
 src/gallium/docs/source/screen.rst   |  3 ++
 src/gallium/drivers/virgl/virgl_context.c| 10 ++
 src/gallium/drivers/virgl/virgl_hw.h |  1 +
 src/gallium/drivers/virgl/virgl_screen.c |  2 ++
 src/gallium/include/pipe/p_defines.h |  1 +
 src/mesa/drivers/dri/i965/intel_extensions.c |  1 +
 src/mesa/main/enable.c   |  4 ---
 src/mesa/main/extensions_table.h |  1 +
 src/mesa/main/fbobject.c |  2 +-
 src/mesa/main/formatquery.c  |  2 +-
 src/mesa/main/framebuffer.c  |  2 +-
 src/mesa/main/get_hash_params.py |  4 ++-
 src/mesa/main/mtypes.h   |  1 +
 src/mesa/main/teximage.c |  2 +-
 src/mesa/main/version.c  |  4 +--
 src/mesa/state_tracker/st_cb_fbo.c   |  4 +--
 src/mesa/state_tracker/st_extensions.c   |  6 +++-
 src/mesa/state_tracker/st_format.c   |  2 +-
 src/mesa/state_tracker/st_manager.c  | 37 
 20 files changed, 63 insertions(+), 29 deletions(-)

-- 
2.18.1

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