Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
I sent a piglit patch for this on 8/24. I missed that Tapani sent a R-b, so I'll push it now. On 09/01/2016 07:49 AM, Ilia Mirkin wrote: > On Thu, Sep 1, 2016 at 2:23 AM, Michel Dänzerwrote: >> >> This change broke these piglit tests with radeonsi: >> >> spec@glsl-es-3.10@built-in constants >> spec@oes_geometry_shader@built-in constants >> >> All the shaders fail compilation like this: >> >> Failed to compile shader gl_MaxAtomicCounterBindings: 0:6(8): error: >> #version 150 layout qualifier `points' used >> 0:7(8): error: #version 150 layout qualifier `points' used >> 0:7(31): error: #version 150 max_vertices qualifier specified > > Actually the test was already broken (wrt this feature). It forgets to > put in a OES_geometry_shader enable. Similarly it sticks > OES_tessellation_shader enables into each shader stage, which is > apparently illegal. > >> Also, FWIW, the change enabled the tests >> >> spec@oes_geometry_shader@sso_validation@user-defined-gs-input-(not-)in-block >> >> but they fail: >> >> Mesa: User error: GL_INVALID_OPERATION in glValidateProgramPipeline failed >> to validate the pipeline >> Probe color at (0,0) >> Expected: 0.00 1.00 0.00 1.00 >> Observed: 0.00 0.00 0.00 1.00 >> Test failure on line 70 >> PIGLIT: {"result": "fail" } > > I believe that's a disagreement between piglit and mesa, but I'm not > sure. Ian would probably know better. > > -ilia > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Thu, Sep 1, 2016 at 2:23 AM, Michel Dänzerwrote: > > This change broke these piglit tests with radeonsi: > > spec@glsl-es-3.10@built-in constants > spec@oes_geometry_shader@built-in constants > > All the shaders fail compilation like this: > > Failed to compile shader gl_MaxAtomicCounterBindings: 0:6(8): error: #version > 150 layout qualifier `points' used > 0:7(8): error: #version 150 layout qualifier `points' used > 0:7(31): error: #version 150 max_vertices qualifier specified Actually the test was already broken (wrt this feature). It forgets to put in a OES_geometry_shader enable. Similarly it sticks OES_tessellation_shader enables into each shader stage, which is apparently illegal. > Also, FWIW, the change enabled the tests > > spec@oes_geometry_shader@sso_validation@user-defined-gs-input-(not-)in-block > > but they fail: > > Mesa: User error: GL_INVALID_OPERATION in glValidateProgramPipeline failed to > validate the pipeline > Probe color at (0,0) > Expected: 0.00 1.00 0.00 1.00 > Observed: 0.00 0.00 0.00 1.00 > Test failure on line 70 > PIGLIT: {"result": "fail" } I believe that's a disagreement between piglit and mesa, but I'm not sure. Ian would probably know better. -ilia ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
This change broke these piglit tests with radeonsi: spec@glsl-es-3.10@built-in constants spec@oes_geometry_shader@built-in constants All the shaders fail compilation like this: Failed to compile shader gl_MaxAtomicCounterBindings: 0:6(8): error: #version 150 layout qualifier `points' used 0:7(8): error: #version 150 layout qualifier `points' used 0:7(31): error: #version 150 max_vertices qualifier specified Also, FWIW, the change enabled the tests spec@oes_geometry_shader@sso_validation@user-defined-gs-input-(not-)in-block but they fail: Mesa: User error: GL_INVALID_OPERATION in glValidateProgramPipeline failed to validate the pipeline Probe color at (0,0) Expected: 0.00 1.00 0.00 1.00 Observed: 0.00 0.00 0.00 1.00 Test failure on line 70 PIGLIT: {"result": "fail" } -- Earthling Michel Dänzer | http://www.amd.com Libre software enthusiast | Mesa and X developer ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Wed, Aug 31, 2016 at 4:46 PM, Marek Olšákwrote: > On Wed, Aug 31, 2016 at 1:33 AM, Ilia Mirkin wrote: >> On Mon, Aug 29, 2016 at 11:49 AM, Marek Olšák wrote: >>> On Mon, Aug 29, 2016 at 5:41 PM, Ilia Mirkin wrote: On Mon, Aug 29, 2016 at 11:35 AM, Marek Olšák wrote: > On Sat, Aug 27, 2016 at 11:53 PM, Ilia Mirkin > wrote: >> Signed-off-by: Ilia Mirkin >> --- >> docs/features.txt | 4 ++-- >> docs/relnotes/12.1.0.html | 4 ++-- >> src/mesa/state_tracker/st_extensions.c | 14 ++ >> 3 files changed, 18 insertions(+), 4 deletions(-) >> >> diff --git a/docs/features.txt b/docs/features.txt >> index 26e8ff7..4c755c6 100644 >> --- a/docs/features.txt >> +++ b/docs/features.txt >> @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: >>GL_OES_copy_image DONE (all >> drivers) >>GL_OES_draw_buffers_indexed DONE (all >> drivers that support GL_ARB_draw_buffers_blend) >>GL_OES_draw_elements_base_vertex DONE (all >> drivers) >> - GL_OES_geometry_shaderDONE >> (i965/gen8+) >> + GL_OES_geometry_shaderDONE >> (i965/gen8+, nvc0, radeonsi) >>GL_OES_gpu_shader5DONE (all >> drivers that support GL_ARB_gpu_shader5) >>GL_OES_primitive_bounding_box not started >>GL_OES_sample_shading DONE (i965, >> nvc0, r600, radeonsi) >> @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: >>GL_OES_tessellation_shaderstarted (Ken) >>GL_OES_texture_border_clamp DONE (all >> drivers) >>GL_OES_texture_buffer DONE (i965, >> nvc0, radeonsi) >> - GL_OES_texture_cube_map_array DONE >> (i965/gen8+) >> + GL_OES_texture_cube_map_array DONE >> (i965/gen8+, nvc0, radeonsi) >>GL_OES_texture_stencil8 DONE (all >> drivers that support GL_ARB_texture_stencil8) >>GL_OES_texture_storage_multisample_2d_array DONE (all >> drivers that support GL_ARB_texture_multisample) >> >> diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html >> index d22d14b..f77ef91 100644 >> --- a/docs/relnotes/12.1.0.html >> +++ b/docs/relnotes/12.1.0.html >> @@ -57,8 +57,8 @@ Note: some of the new features are only available with >> certain drivers. >> GL_KHR_blend_equation_advanced on i965 >> GL_KHR_texture_compression_astc_sliced_3d on i965 >> GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, >> llvmpipe >> -GL_OES_geometry_shader on i965/gen8+ >> -GL_OES_texture_cube_map_array on i965/gen8+ >> +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi >> +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi >> >> >> Bug fixes >> diff --git a/src/mesa/state_tracker/st_extensions.c >> b/src/mesa/state_tracker/st_extensions.c >> index f86a5a3..c7ec10c 100644 >> --- a/src/mesa/state_tracker/st_extensions.c >> +++ b/src/mesa/state_tracker/st_extensions.c >> @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, >>extensions->ARB_tessellation_shader = GL_TRUE; >> } >> >> + /* Ideally this should also check that invocations are supported. In >> +* practice, all of the hw that supports ES 3.1 also supports >> multiple >> +* invocations. >> +*/ >> + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, >> +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { >> + extensions->OES_geometry_shader = GL_TRUE; >> + } > > This should also check ARB_gpu_shader5, which adds support for > multiple GS invocations. Yeah, I just thought it was a little heavy to check for gs5 when all we wanted were multiple invocations. And I didn't really want to go through and add a new cap. I guess the safe thing is to add a gs5 dep and then when some hw comes along that wants OES_geom but not ARB_gs5, we can worry about it then. >>> >>> Yeah that sounds good. >> >> How's >> >> https://github.com/imirkin/mesa/commit/6f9c56765849b4feaca129368e9ab5746567d908.patch >> > > Reviewed-by: Marek Olšák > > Note that r600g can also do cubemap arrays and multiple GS invocations. But it can't do GLES 3.1 (yet). -ilia ___ mesa-dev mailing list
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Wed, Aug 31, 2016 at 1:33 AM, Ilia Mirkinwrote: > On Mon, Aug 29, 2016 at 11:49 AM, Marek Olšák wrote: >> On Mon, Aug 29, 2016 at 5:41 PM, Ilia Mirkin wrote: >>> On Mon, Aug 29, 2016 at 11:35 AM, Marek Olšák wrote: On Sat, Aug 27, 2016 at 11:53 PM, Ilia Mirkin wrote: > Signed-off-by: Ilia Mirkin > --- > docs/features.txt | 4 ++-- > docs/relnotes/12.1.0.html | 4 ++-- > src/mesa/state_tracker/st_extensions.c | 14 ++ > 3 files changed, 18 insertions(+), 4 deletions(-) > > diff --git a/docs/features.txt b/docs/features.txt > index 26e8ff7..4c755c6 100644 > --- a/docs/features.txt > +++ b/docs/features.txt > @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: >GL_OES_copy_image DONE (all > drivers) >GL_OES_draw_buffers_indexed DONE (all > drivers that support GL_ARB_draw_buffers_blend) >GL_OES_draw_elements_base_vertex DONE (all > drivers) > - GL_OES_geometry_shaderDONE (i965/gen8+) > + GL_OES_geometry_shaderDONE > (i965/gen8+, nvc0, radeonsi) >GL_OES_gpu_shader5DONE (all > drivers that support GL_ARB_gpu_shader5) >GL_OES_primitive_bounding_box not started >GL_OES_sample_shading DONE (i965, > nvc0, r600, radeonsi) > @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: >GL_OES_tessellation_shaderstarted (Ken) >GL_OES_texture_border_clamp DONE (all > drivers) >GL_OES_texture_buffer DONE (i965, > nvc0, radeonsi) > - GL_OES_texture_cube_map_array DONE (i965/gen8+) > + GL_OES_texture_cube_map_array DONE > (i965/gen8+, nvc0, radeonsi) >GL_OES_texture_stencil8 DONE (all > drivers that support GL_ARB_texture_stencil8) >GL_OES_texture_storage_multisample_2d_array DONE (all > drivers that support GL_ARB_texture_multisample) > > diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html > index d22d14b..f77ef91 100644 > --- a/docs/relnotes/12.1.0.html > +++ b/docs/relnotes/12.1.0.html > @@ -57,8 +57,8 @@ Note: some of the new features are only available with > certain drivers. > GL_KHR_blend_equation_advanced on i965 > GL_KHR_texture_compression_astc_sliced_3d on i965 > GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, > llvmpipe > -GL_OES_geometry_shader on i965/gen8+ > -GL_OES_texture_cube_map_array on i965/gen8+ > +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi > +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi > > > Bug fixes > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index f86a5a3..c7ec10c 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, >extensions->ARB_tessellation_shader = GL_TRUE; > } > > + /* Ideally this should also check that invocations are supported. In > +* practice, all of the hw that supports ES 3.1 also supports multiple > +* invocations. > +*/ > + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, > +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { > + extensions->OES_geometry_shader = GL_TRUE; > + } This should also check ARB_gpu_shader5, which adds support for multiple GS invocations. >>> >>> Yeah, I just thought it was a little heavy to check for gs5 when all >>> we wanted were multiple invocations. And I didn't really want to go >>> through and add a new cap. I guess the safe thing is to add a gs5 dep >>> and then when some hw comes along that wants OES_geom but not ARB_gs5, >>> we can worry about it then. >> >> Yeah that sounds good. > > How's > > https://github.com/imirkin/mesa/commit/6f9c56765849b4feaca129368e9ab5746567d908.patch > Reviewed-by: Marek Olšák Note that r600g can also do cubemap arrays and multiple GS invocations. Marek ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Mon, Aug 29, 2016 at 11:49 AM, Marek Olšákwrote: > On Mon, Aug 29, 2016 at 5:41 PM, Ilia Mirkin wrote: >> On Mon, Aug 29, 2016 at 11:35 AM, Marek Olšák wrote: >>> On Sat, Aug 27, 2016 at 11:53 PM, Ilia Mirkin wrote: Signed-off-by: Ilia Mirkin --- docs/features.txt | 4 ++-- docs/relnotes/12.1.0.html | 4 ++-- src/mesa/state_tracker/st_extensions.c | 14 ++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 26e8ff7..4c755c6 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: GL_OES_copy_image DONE (all drivers) GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend) GL_OES_draw_elements_base_vertex DONE (all drivers) - GL_OES_geometry_shaderDONE (i965/gen8+) + GL_OES_geometry_shaderDONE (i965/gen8+, nvc0, radeonsi) GL_OES_gpu_shader5DONE (all drivers that support GL_ARB_gpu_shader5) GL_OES_primitive_bounding_box not started GL_OES_sample_shading DONE (i965, nvc0, r600, radeonsi) @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: GL_OES_tessellation_shaderstarted (Ken) GL_OES_texture_border_clamp DONE (all drivers) GL_OES_texture_buffer DONE (i965, nvc0, radeonsi) - GL_OES_texture_cube_map_array DONE (i965/gen8+) + GL_OES_texture_cube_map_array DONE (i965/gen8+, nvc0, radeonsi) GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8) GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample) diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html index d22d14b..f77ef91 100644 --- a/docs/relnotes/12.1.0.html +++ b/docs/relnotes/12.1.0.html @@ -57,8 +57,8 @@ Note: some of the new features are only available with certain drivers. GL_KHR_blend_equation_advanced on i965 GL_KHR_texture_compression_astc_sliced_3d on i965 GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe -GL_OES_geometry_shader on i965/gen8+ -GL_OES_texture_cube_map_array on i965/gen8+ +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi Bug fixes diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index f86a5a3..c7ec10c 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, extensions->ARB_tessellation_shader = GL_TRUE; } + /* Ideally this should also check that invocations are supported. In +* practice, all of the hw that supports ES 3.1 also supports multiple +* invocations. +*/ + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { + extensions->OES_geometry_shader = GL_TRUE; + } >>> >>> This should also check ARB_gpu_shader5, which adds support for >>> multiple GS invocations. >> >> Yeah, I just thought it was a little heavy to check for gs5 when all >> we wanted were multiple invocations. And I didn't really want to go >> through and add a new cap. I guess the safe thing is to add a gs5 dep >> and then when some hw comes along that wants OES_geom but not ARB_gs5, >> we can worry about it then. > > Yeah that sounds good. How's https://github.com/imirkin/mesa/commit/6f9c56765849b4feaca129368e9ab5746567d908.patch ? ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Mon, Aug 29, 2016 at 5:41 PM, Ilia Mirkinwrote: > On Mon, Aug 29, 2016 at 11:35 AM, Marek Olšák wrote: >> On Sat, Aug 27, 2016 at 11:53 PM, Ilia Mirkin wrote: >>> Signed-off-by: Ilia Mirkin >>> --- >>> docs/features.txt | 4 ++-- >>> docs/relnotes/12.1.0.html | 4 ++-- >>> src/mesa/state_tracker/st_extensions.c | 14 ++ >>> 3 files changed, 18 insertions(+), 4 deletions(-) >>> >>> diff --git a/docs/features.txt b/docs/features.txt >>> index 26e8ff7..4c755c6 100644 >>> --- a/docs/features.txt >>> +++ b/docs/features.txt >>> @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: >>>GL_OES_copy_image DONE (all drivers) >>>GL_OES_draw_buffers_indexed DONE (all drivers >>> that support GL_ARB_draw_buffers_blend) >>>GL_OES_draw_elements_base_vertex DONE (all drivers) >>> - GL_OES_geometry_shaderDONE (i965/gen8+) >>> + GL_OES_geometry_shaderDONE (i965/gen8+, >>> nvc0, radeonsi) >>>GL_OES_gpu_shader5DONE (all drivers >>> that support GL_ARB_gpu_shader5) >>>GL_OES_primitive_bounding_box not started >>>GL_OES_sample_shading DONE (i965, nvc0, >>> r600, radeonsi) >>> @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: >>>GL_OES_tessellation_shaderstarted (Ken) >>>GL_OES_texture_border_clamp DONE (all drivers) >>>GL_OES_texture_buffer DONE (i965, nvc0, >>> radeonsi) >>> - GL_OES_texture_cube_map_array DONE (i965/gen8+) >>> + GL_OES_texture_cube_map_array DONE (i965/gen8+, >>> nvc0, radeonsi) >>>GL_OES_texture_stencil8 DONE (all drivers >>> that support GL_ARB_texture_stencil8) >>>GL_OES_texture_storage_multisample_2d_array DONE (all drivers >>> that support GL_ARB_texture_multisample) >>> >>> diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html >>> index d22d14b..f77ef91 100644 >>> --- a/docs/relnotes/12.1.0.html >>> +++ b/docs/relnotes/12.1.0.html >>> @@ -57,8 +57,8 @@ Note: some of the new features are only available with >>> certain drivers. >>> GL_KHR_blend_equation_advanced on i965 >>> GL_KHR_texture_compression_astc_sliced_3d on i965 >>> GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, >>> llvmpipe >>> -GL_OES_geometry_shader on i965/gen8+ >>> -GL_OES_texture_cube_map_array on i965/gen8+ >>> +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi >>> +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi >>> >>> >>> Bug fixes >>> diff --git a/src/mesa/state_tracker/st_extensions.c >>> b/src/mesa/state_tracker/st_extensions.c >>> index f86a5a3..c7ec10c 100644 >>> --- a/src/mesa/state_tracker/st_extensions.c >>> +++ b/src/mesa/state_tracker/st_extensions.c >>> @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, >>>extensions->ARB_tessellation_shader = GL_TRUE; >>> } >>> >>> + /* Ideally this should also check that invocations are supported. In >>> +* practice, all of the hw that supports ES 3.1 also supports multiple >>> +* invocations. >>> +*/ >>> + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, >>> +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { >>> + extensions->OES_geometry_shader = GL_TRUE; >>> + } >> >> This should also check ARB_gpu_shader5, which adds support for >> multiple GS invocations. > > Yeah, I just thought it was a little heavy to check for gs5 when all > we wanted were multiple invocations. And I didn't really want to go > through and add a new cap. I guess the safe thing is to add a gs5 dep > and then when some hw comes along that wants OES_geom but not ARB_gs5, > we can worry about it then. Yeah that sounds good. Marek ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Mon, Aug 29, 2016 at 11:35 AM, Marek Olšákwrote: > On Sat, Aug 27, 2016 at 11:53 PM, Ilia Mirkin wrote: >> Signed-off-by: Ilia Mirkin >> --- >> docs/features.txt | 4 ++-- >> docs/relnotes/12.1.0.html | 4 ++-- >> src/mesa/state_tracker/st_extensions.c | 14 ++ >> 3 files changed, 18 insertions(+), 4 deletions(-) >> >> diff --git a/docs/features.txt b/docs/features.txt >> index 26e8ff7..4c755c6 100644 >> --- a/docs/features.txt >> +++ b/docs/features.txt >> @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: >>GL_OES_copy_image DONE (all drivers) >>GL_OES_draw_buffers_indexed DONE (all drivers >> that support GL_ARB_draw_buffers_blend) >>GL_OES_draw_elements_base_vertex DONE (all drivers) >> - GL_OES_geometry_shaderDONE (i965/gen8+) >> + GL_OES_geometry_shaderDONE (i965/gen8+, >> nvc0, radeonsi) >>GL_OES_gpu_shader5DONE (all drivers >> that support GL_ARB_gpu_shader5) >>GL_OES_primitive_bounding_box not started >>GL_OES_sample_shading DONE (i965, nvc0, >> r600, radeonsi) >> @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: >>GL_OES_tessellation_shaderstarted (Ken) >>GL_OES_texture_border_clamp DONE (all drivers) >>GL_OES_texture_buffer DONE (i965, nvc0, >> radeonsi) >> - GL_OES_texture_cube_map_array DONE (i965/gen8+) >> + GL_OES_texture_cube_map_array DONE (i965/gen8+, >> nvc0, radeonsi) >>GL_OES_texture_stencil8 DONE (all drivers >> that support GL_ARB_texture_stencil8) >>GL_OES_texture_storage_multisample_2d_array DONE (all drivers >> that support GL_ARB_texture_multisample) >> >> diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html >> index d22d14b..f77ef91 100644 >> --- a/docs/relnotes/12.1.0.html >> +++ b/docs/relnotes/12.1.0.html >> @@ -57,8 +57,8 @@ Note: some of the new features are only available with >> certain drivers. >> GL_KHR_blend_equation_advanced on i965 >> GL_KHR_texture_compression_astc_sliced_3d on i965 >> GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe >> -GL_OES_geometry_shader on i965/gen8+ >> -GL_OES_texture_cube_map_array on i965/gen8+ >> +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi >> +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi >> >> >> Bug fixes >> diff --git a/src/mesa/state_tracker/st_extensions.c >> b/src/mesa/state_tracker/st_extensions.c >> index f86a5a3..c7ec10c 100644 >> --- a/src/mesa/state_tracker/st_extensions.c >> +++ b/src/mesa/state_tracker/st_extensions.c >> @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, >>extensions->ARB_tessellation_shader = GL_TRUE; >> } >> >> + /* Ideally this should also check that invocations are supported. In >> +* practice, all of the hw that supports ES 3.1 also supports multiple >> +* invocations. >> +*/ >> + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, >> +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { >> + extensions->OES_geometry_shader = GL_TRUE; >> + } > > This should also check ARB_gpu_shader5, which adds support for > multiple GS invocations. Yeah, I just thought it was a little heavy to check for gs5 when all we wanted were multiple invocations. And I didn't really want to go through and add a new cap. I guess the safe thing is to add a gs5 dep and then when some hw comes along that wants OES_geom but not ARB_gs5, we can worry about it then. -ilia ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
On Sat, Aug 27, 2016 at 11:53 PM, Ilia Mirkinwrote: > Signed-off-by: Ilia Mirkin > --- > docs/features.txt | 4 ++-- > docs/relnotes/12.1.0.html | 4 ++-- > src/mesa/state_tracker/st_extensions.c | 14 ++ > 3 files changed, 18 insertions(+), 4 deletions(-) > > diff --git a/docs/features.txt b/docs/features.txt > index 26e8ff7..4c755c6 100644 > --- a/docs/features.txt > +++ b/docs/features.txt > @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: >GL_OES_copy_image DONE (all drivers) >GL_OES_draw_buffers_indexed DONE (all drivers > that support GL_ARB_draw_buffers_blend) >GL_OES_draw_elements_base_vertex DONE (all drivers) > - GL_OES_geometry_shaderDONE (i965/gen8+) > + GL_OES_geometry_shaderDONE (i965/gen8+, > nvc0, radeonsi) >GL_OES_gpu_shader5DONE (all drivers > that support GL_ARB_gpu_shader5) >GL_OES_primitive_bounding_box not started >GL_OES_sample_shading DONE (i965, nvc0, > r600, radeonsi) > @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: >GL_OES_tessellation_shaderstarted (Ken) >GL_OES_texture_border_clamp DONE (all drivers) >GL_OES_texture_buffer DONE (i965, nvc0, > radeonsi) > - GL_OES_texture_cube_map_array DONE (i965/gen8+) > + GL_OES_texture_cube_map_array DONE (i965/gen8+, > nvc0, radeonsi) >GL_OES_texture_stencil8 DONE (all drivers > that support GL_ARB_texture_stencil8) >GL_OES_texture_storage_multisample_2d_array DONE (all drivers > that support GL_ARB_texture_multisample) > > diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html > index d22d14b..f77ef91 100644 > --- a/docs/relnotes/12.1.0.html > +++ b/docs/relnotes/12.1.0.html > @@ -57,8 +57,8 @@ Note: some of the new features are only available with > certain drivers. > GL_KHR_blend_equation_advanced on i965 > GL_KHR_texture_compression_astc_sliced_3d on i965 > GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe > -GL_OES_geometry_shader on i965/gen8+ > -GL_OES_texture_cube_map_array on i965/gen8+ > +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi > +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi > > > Bug fixes > diff --git a/src/mesa/state_tracker/st_extensions.c > b/src/mesa/state_tracker/st_extensions.c > index f86a5a3..c7ec10c 100644 > --- a/src/mesa/state_tracker/st_extensions.c > +++ b/src/mesa/state_tracker/st_extensions.c > @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, >extensions->ARB_tessellation_shader = GL_TRUE; > } > > + /* Ideally this should also check that invocations are supported. In > +* practice, all of the hw that supports ES 3.1 also supports multiple > +* invocations. > +*/ > + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, > +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { > + extensions->OES_geometry_shader = GL_TRUE; > + } This should also check ARB_gpu_shader5, which adds support for multiple GS invocations. Marek ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] st/mesa: expose OES_geometry_shader and OES_texture_cube_map_array
Signed-off-by: Ilia Mirkin--- docs/features.txt | 4 ++-- docs/relnotes/12.1.0.html | 4 ++-- src/mesa/state_tracker/st_extensions.c | 14 ++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/features.txt b/docs/features.txt index 26e8ff7..4c755c6 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -260,7 +260,7 @@ GLES3.2, GLSL ES 3.2: GL_OES_copy_image DONE (all drivers) GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend) GL_OES_draw_elements_base_vertex DONE (all drivers) - GL_OES_geometry_shaderDONE (i965/gen8+) + GL_OES_geometry_shaderDONE (i965/gen8+, nvc0, radeonsi) GL_OES_gpu_shader5DONE (all drivers that support GL_ARB_gpu_shader5) GL_OES_primitive_bounding_box not started GL_OES_sample_shading DONE (i965, nvc0, r600, radeonsi) @@ -271,7 +271,7 @@ GLES3.2, GLSL ES 3.2: GL_OES_tessellation_shaderstarted (Ken) GL_OES_texture_border_clamp DONE (all drivers) GL_OES_texture_buffer DONE (i965, nvc0, radeonsi) - GL_OES_texture_cube_map_array DONE (i965/gen8+) + GL_OES_texture_cube_map_array DONE (i965/gen8+, nvc0, radeonsi) GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8) GL_OES_texture_storage_multisample_2d_array DONE (all drivers that support GL_ARB_texture_multisample) diff --git a/docs/relnotes/12.1.0.html b/docs/relnotes/12.1.0.html index d22d14b..f77ef91 100644 --- a/docs/relnotes/12.1.0.html +++ b/docs/relnotes/12.1.0.html @@ -57,8 +57,8 @@ Note: some of the new features are only available with certain drivers. GL_KHR_blend_equation_advanced on i965 GL_KHR_texture_compression_astc_sliced_3d on i965 GL_OES_copy_image on nv50, nvc0, r600, radeonsi, softpipe, llvmpipe -GL_OES_geometry_shader on i965/gen8+ -GL_OES_texture_cube_map_array on i965/gen8+ +GL_OES_geometry_shader on i965/gen8+, nvc0, radeonsi +GL_OES_texture_cube_map_array on i965/gen8+, nvc0, radeonsi Bug fixes diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index f86a5a3..c7ec10c 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -946,6 +946,15 @@ void st_init_extensions(struct pipe_screen *screen, extensions->ARB_tessellation_shader = GL_TRUE; } + /* Ideally this should also check that invocations are supported. In +* practice, all of the hw that supports ES 3.1 also supports multiple +* invocations. +*/ + if (screen->get_shader_param(screen, PIPE_SHADER_GEOMETRY, +PIPE_SHADER_CAP_MAX_INSTRUCTIONS) > 0) { + extensions->OES_geometry_shader = GL_TRUE; + } + if (screen->fence_finish) { extensions->ARB_sync = GL_TRUE; } @@ -1210,4 +1219,9 @@ void st_init_extensions(struct pipe_screen *screen, extensions->ARB_texture_multisample && extensions->ARB_gpu_shader5 && extensions->EXT_shader_integer_mix; + + extensions->OES_texture_cube_map_array = + extensions->ARB_ES3_1_compatibility && + extensions->OES_geometry_shader && + extensions->ARB_texture_cube_map_array; } -- 2.7.3 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev