On Tue, Dec 4, 2018 at 12:26 PM Karol Herbst <kher...@redhat.com> wrote:
> From: Rob Clark <robdcl...@gmail.com> > > vtn supports these, so don't squalk if user is happy with enabling > these. > > Signed-off-by: Karol Herbst <kher...@redhat.com> > --- > src/compiler/shader_info.h | 3 +++ > src/compiler/spirv/spirv_to_nir.c | 17 ++++++++++++++--- > src/compiler/spirv/vtn_variables.c | 6 ++++-- > 3 files changed, 21 insertions(+), 5 deletions(-) > > diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h > index 65bc0588d67..5286cf8fc5f 100644 > --- a/src/compiler/shader_info.h > +++ b/src/compiler/shader_info.h > @@ -62,6 +62,9 @@ struct spirv_supported_capabilities { > bool post_depth_coverage; > bool transform_feedback; > bool geometry_streams; > + bool address; > + bool kernel; > + bool int8; > I really hate the fact that this list isn't sorted in any meaningful way. I just sent out a patch to sort it. With that fixed and these put in the right order, the first three patches are Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> > }; > > typedef struct shader_info { > diff --git a/src/compiler/spirv/spirv_to_nir.c > b/src/compiler/spirv/spirv_to_nir.c > index 2c2dbe12a3c..e41a7e960ce 100644 > --- a/src/compiler/spirv/spirv_to_nir.c > +++ b/src/compiler/spirv/spirv_to_nir.c > @@ -783,8 +783,10 @@ struct_member_decoration_cb(struct vtn_builder *b, > case SpvDecorationFPRoundingMode: > case SpvDecorationFPFastMathMode: > case SpvDecorationAlignment: > - vtn_warn("Decoration only allowed for CL-style kernels: %s", > - spirv_decoration_to_string(dec->decoration)); > + if (b->shader->info.stage != MESA_SHADER_KERNEL) { > + vtn_warn("Decoration only allowed for CL-style kernels: %s", > + spirv_decoration_to_string(dec->decoration)); > + } > break; > > case SpvDecorationHlslSemanticGOOGLE: > @@ -3420,7 +3422,6 @@ vtn_handle_preamble_instruction(struct vtn_builder > *b, SpvOp opcode, > case SpvCapabilityFloat16: > case SpvCapabilityInt64Atomics: > case SpvCapabilityStorageImageMultisample: > - case SpvCapabilityInt8: > case SpvCapabilitySparseResidency: > case SpvCapabilityMinLod: > vtn_warn("Unsupported SPIR-V capability: %s", > @@ -3449,8 +3450,18 @@ vtn_handle_preamble_instruction(struct vtn_builder > *b, SpvOp opcode, > spv_check_supported(geometry_streams, cap); > break; > > + case SpvCapabilityInt8: > + spv_check_supported(int8, cap); > + break; > + > case SpvCapabilityAddresses: > + spv_check_supported(address, cap); > + break; > + > case SpvCapabilityKernel: > + spv_check_supported(kernel, cap); > + break; > + > case SpvCapabilityImageBasic: > case SpvCapabilityImageReadWrite: > case SpvCapabilityImageMipmap: > diff --git a/src/compiler/spirv/vtn_variables.c > b/src/compiler/spirv/vtn_variables.c > index 55721fc36e3..fe44e71800d 100644 > --- a/src/compiler/spirv/vtn_variables.c > +++ b/src/compiler/spirv/vtn_variables.c > @@ -1381,8 +1381,10 @@ apply_var_decoration(struct vtn_builder *b, > case SpvDecorationFPRoundingMode: > case SpvDecorationFPFastMathMode: > case SpvDecorationAlignment: > - vtn_warn("Decoration only allowed for CL-style kernels: %s", > - spirv_decoration_to_string(dec->decoration)); > + if (b->shader->info.stage != MESA_SHADER_KERNEL) { > + vtn_warn("Decoration only allowed for CL-style kernels: %s", > + spirv_decoration_to_string(dec->decoration)); > + } > break; > > case SpvDecorationHlslSemanticGOOGLE: > -- > 2.19.2 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev