Ping. This is the only pending patch to review from this series. Although it is independent enough and I could submit to master the rest of the series, I would prefer to push all the series, and move to shape a second batch without pending patches around.
Thanks in advance. On 08/03/18 09:19, Alejandro Piñeiro wrote: > Needed for ARB_gl_spirv. Right now those are the same that the intel > vulkan driver, but those are not shared. From the ARB_spirv_extensions > spec: > > "3. If a new GL extension is added that includes SPIR-V support via > a new SPIR-V extension does it's SPIR-V extension also get > enumerated by the SPIR_V_EXTENSIONS_ARB query?. > > RESOLVED. Yes. It's good to include it for consistency. Any SPIR-V > functionality supported beyond the SPIR-V version that is required > for the GL API version should be enumerated." > > Reading between lines, there is the possibility of specific GL > extensions enabling specific SPIR-V extensions (so capabilities). That > would mean that it is possible that OpenGL and Vulkan not having the > same capabilities supported, even for the same driver. So for now we > keep them separate. Perhaps in the future it is better to keep them > the same and synced. > > Note: we initialize SPIR-V capabilities at brwCreateContext instead of > the usual brw_initialize_context_constants because we want to do that > only for version >= 3.3. At brw_initialize_context_constans GL version > is still not computed. > > v2: > * Rebase update (SpirVCapabilities not a pointer anymore) > * Fill spirv capabilities for OpenGL >= 3.3 (Ian Romanick) > --- > src/mesa/drivers/dri/i965/brw_context.c | 20 ++++++++++++++++++++ > 1 file changed, 20 insertions(+) > > diff --git a/src/mesa/drivers/dri/i965/brw_context.c > b/src/mesa/drivers/dri/i965/brw_context.c > index fca5c8e3072..abd1592c0f5 100644 > --- a/src/mesa/drivers/dri/i965/brw_context.c > +++ b/src/mesa/drivers/dri/i965/brw_context.c > @@ -78,6 +78,7 @@ > > #include "common/gen_defines.h" > > +#include "compiler/spirv/nir_spirv.h" > /*************************************** > * Mesa's Driver Functions > ***************************************/ > @@ -343,6 +344,21 @@ brw_init_driver_functions(struct brw_context *brw, > brw_deserialize_program_binary; > } > > +static void > +brw_initialize_spirv_supported_capabilities(struct brw_context *brw) > +{ > + const struct gen_device_info *devinfo = &brw->screen->devinfo; > + struct gl_context *ctx = &brw->ctx; > + > + ctx->Const.SpirVCapabilities.float64 = devinfo->gen >= 8; > + ctx->Const.SpirVCapabilities.int64 = devinfo->gen >= 8; > + ctx->Const.SpirVCapabilities.tessellation = true; > + ctx->Const.SpirVCapabilities.draw_parameters = true; > + ctx->Const.SpirVCapabilities.image_write_without_format = true; > + ctx->Const.SpirVCapabilities.multiview = true; > + ctx->Const.SpirVCapabilities.variable_pointers = true; > +} > + > static void > brw_initialize_context_constants(struct brw_context *brw) > { > @@ -1063,6 +1079,10 @@ brwCreateContext(gl_api api, > _mesa_override_extensions(ctx); > _mesa_compute_version(ctx); > > + /* GL_ARB_gl_spirv */ > + if (ctx->Version >= 33) > + brw_initialize_spirv_supported_capabilities(brw); > + > _mesa_initialize_dispatch_tables(ctx); > _mesa_initialize_vbo_vtxfmt(ctx); > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev