Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On Tue, May 2, 2017 at 8:55 AM, Rafael Antognolli < rafael.antogno...@intel.com> wrote: > On Tue, May 02, 2017 at 08:44:05AM -0700, Jason Ekstrand wrote: > > On Tue, May 2, 2017 at 8:28 AM, Rafael Antognolli < > rafael.antogno...@intel.com> > > wrote: > > > > On Tue, May 02, 2017 at 07:26:53AM -0700, Jason Ekstrand wrote: > > > On Mon, May 1, 2017 at 6:43 PM, Rafael Antognolli < > > rafael.antogno...@intel.com> > > > wrote: > > > > > > We need to use some enums inside genX_state_upload.c, but > including > > the > > > whole header will cause several conflicts between things > defined in > > this > > > header and the genxml auto-generated headers. > > > > > > So create a separate header that is included both by > brw_eu_defines.h > > > and genX_state_upload.c. > > > > > > Signed-off-by: Rafael Antognolli> > > Acked-by: Reviewed-by: Kenneth Graunke > > > --- > > > src/intel/Makefile.sources | 1 +- > > > src/intel/compiler/brw_defines_common.h | 46 > > ++- > > > src/intel/compiler/brw_eu_defines.h | 22 + > > > 3 files changed, 48 insertions(+), 21 deletions(-) > > > create mode 100644 src/intel/compiler/brw_defines_common.h > > > > > > diff --git a/src/intel/Makefile.sources > b/src/intel/Makefile.sources > > > index e9a39a6..652f376 100644 > > > --- a/src/intel/Makefile.sources > > > +++ b/src/intel/Makefile.sources > > > @@ -27,6 +27,7 @@ COMPILER_FILES = \ > > > compiler/brw_compiler.h \ > > > compiler/brw_dead_control_flow.cpp \ > > > compiler/brw_dead_control_flow.h \ > > > + compiler/brw_defines_common.h \ > > > compiler/brw_disasm.c \ > > > compiler/brw_eu.c \ > > > compiler/brw_eu_compact.c \ > > > diff --git a/src/intel/compiler/brw_defines_common.h > b/src/intel/ > > compiler/ > > > brw_defines_common.h > > > new file mode 100644 > > > index 000..fdae125 > > > --- /dev/null > > > +++ b/src/intel/compiler/brw_defines_common.h > > > @@ -0,0 +1,46 @@ > > > +/* > > > + * Copyright © 2017 Intel Corporation > > > + * > > > + * Permission is hereby granted, free of charge, to any person > > obtaining a > > > + * copy of this software and associated documentation files > (the > > > "Software"), > > > + * to deal in the Software without restriction, including > without > > > limitation > > > + * the rights to use, copy, modify, merge, publish, > distribute, > > > sublicense, > > > + * and/or sell copies of the Software, and to permit persons > to whom > > the > > > + * Software is furnished to do so, subject to the following > > conditions: > > > + * > > > + * The above copyright notice and this permission notice > (including > > the > > > next > > > + * paragraph) shall be included in all copies or substantial > > portions of > > > the > > > + * Software. > > > + * > > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY > KIND, > > EXPRESS > > > OR > > > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > > > MERCHANTABILITY, > > > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN > NO > > EVENT > > > SHALL > > > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, > DAMAGES > > OR > > > OTHER > > > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR > OTHERWISE, > > ARISING > > > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE > OR > > OTHER > > > DEALINGS > > > + * IN THE SOFTWARE. > > > + */ > > > + > > > +#ifndef BRW_DEFINES_COMMON_H > > > +#endif // BRW_DEFINES_COMMON_H > > > + > > > +enum brw_pixel_shader_computed_depth_mode { > > > + BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ > > > + BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee > about > > value > > > */ > > > + BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= > source > > depth * > > > / > > > + BRW_PSCDEPTH_ON_LE = 3, /* PS guarantees output depth <= > source > > depth * > > > / > > > > > > > > > These are provided by the pack header at least on gen8. If > they're not > > > available elsewhere, we should just add them. > > > > Hmm... good point. They are values to "Pixel Shader Computed Depth > Mode" > > in 3DSTATE_PS_EXTRA, which is only available in
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On Tue, May 02, 2017 at 08:44:05AM -0700, Jason Ekstrand wrote: > On Tue, May 2, 2017 at 8:28 AM, Rafael Antognolli >> wrote: > > On Tue, May 02, 2017 at 07:26:53AM -0700, Jason Ekstrand wrote: > > On Mon, May 1, 2017 at 6:43 PM, Rafael Antognolli < > rafael.antogno...@intel.com> > > wrote: > > > > We need to use some enums inside genX_state_upload.c, but including > the > > whole header will cause several conflicts between things defined in > this > > header and the genxml auto-generated headers. > > > > So create a separate header that is included both by > brw_eu_defines.h > > and genX_state_upload.c. > > > > Signed-off-by: Rafael Antognolli > > Acked-by: Reviewed-by: Kenneth Graunke > > --- > > src/intel/Makefile.sources | 1 +- > > src/intel/compiler/brw_defines_common.h | 46 > ++- > > src/intel/compiler/brw_eu_defines.h | 22 + > > 3 files changed, 48 insertions(+), 21 deletions(-) > > create mode 100644 src/intel/compiler/brw_defines_common.h > > > > diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > > index e9a39a6..652f376 100644 > > --- a/src/intel/Makefile.sources > > +++ b/src/intel/Makefile.sources > > @@ -27,6 +27,7 @@ COMPILER_FILES = \ > > compiler/brw_compiler.h \ > > compiler/brw_dead_control_flow.cpp \ > > compiler/brw_dead_control_flow.h \ > > + compiler/brw_defines_common.h \ > > compiler/brw_disasm.c \ > > compiler/brw_eu.c \ > > compiler/brw_eu_compact.c \ > > diff --git a/src/intel/compiler/brw_defines_common.h b/src/intel/ > compiler/ > > brw_defines_common.h > > new file mode 100644 > > index 000..fdae125 > > --- /dev/null > > +++ b/src/intel/compiler/brw_defines_common.h > > @@ -0,0 +1,46 @@ > > +/* > > + * Copyright © 2017 Intel Corporation > > + * > > + * Permission is hereby granted, free of charge, to any person > obtaining a > > + * copy of this software and associated documentation files (the > > "Software"), > > + * to deal in the Software without restriction, including without > > limitation > > + * the rights to use, copy, modify, merge, publish, distribute, > > sublicense, > > + * and/or sell copies of the Software, and to permit persons to > whom > the > > + * Software is furnished to do so, subject to the following > conditions: > > + * > > + * The above copyright notice and this permission notice (including > the > > next > > + * paragraph) shall be included in all copies or substantial > portions of > > the > > + * Software. > > + * > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > EXPRESS > > OR > > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > > MERCHANTABILITY, > > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO > EVENT > > SHALL > > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, > DAMAGES > OR > > OTHER > > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > ARISING > > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > OTHER > > DEALINGS > > + * IN THE SOFTWARE. > > + */ > > + > > +#ifndef BRW_DEFINES_COMMON_H > > +#endif // BRW_DEFINES_COMMON_H > > + > > +enum brw_pixel_shader_computed_depth_mode { > > + BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ > > + BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee about > value > > */ > > + BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= source > depth * > > / > > + BRW_PSCDEPTH_ON_LE = 3, /* PS guarantees output depth <= source > depth * > > / > > > > > > These are provided by the pack header at least on gen8. If they're not > > available elsewhere, we should just add them. > > Hmm... good point. They are values to "Pixel Shader Computed Depth Mode" > in 3DSTATE_PS_EXTRA, which is only available in gen7+, so where would be > a good place for gen6? > > > 3DSTATE_WM::PixelShaderComputedDepthMode is a boolean so it doesn't have > actual > enum values. That said, do we need the enum values for gen6? We need writes_depth on gen6 too. So, I can just compare it to 0: bool writes_depth = wm_prog_data->computed_depth_mode != 0; Is that
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On Tue, May 2, 2017 at 8:28 AM, Rafael Antognolli < rafael.antogno...@intel.com> wrote: > On Tue, May 02, 2017 at 07:26:53AM -0700, Jason Ekstrand wrote: > > On Mon, May 1, 2017 at 6:43 PM, Rafael Antognolli < > rafael.antogno...@intel.com> > > wrote: > > > > We need to use some enums inside genX_state_upload.c, but including > the > > whole header will cause several conflicts between things defined in > this > > header and the genxml auto-generated headers. > > > > So create a separate header that is included both by brw_eu_defines.h > > and genX_state_upload.c. > > > > Signed-off-by: Rafael Antognolli> > Acked-by: Reviewed-by: Kenneth Graunke > > --- > > src/intel/Makefile.sources | 1 +- > > src/intel/compiler/brw_defines_common.h | 46 > ++- > > src/intel/compiler/brw_eu_defines.h | 22 + > > 3 files changed, 48 insertions(+), 21 deletions(-) > > create mode 100644 src/intel/compiler/brw_defines_common.h > > > > diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > > index e9a39a6..652f376 100644 > > --- a/src/intel/Makefile.sources > > +++ b/src/intel/Makefile.sources > > @@ -27,6 +27,7 @@ COMPILER_FILES = \ > > compiler/brw_compiler.h \ > > compiler/brw_dead_control_flow.cpp \ > > compiler/brw_dead_control_flow.h \ > > + compiler/brw_defines_common.h \ > > compiler/brw_disasm.c \ > > compiler/brw_eu.c \ > > compiler/brw_eu_compact.c \ > > diff --git a/src/intel/compiler/brw_defines_common.h > b/src/intel/compiler/ > > brw_defines_common.h > > new file mode 100644 > > index 000..fdae125 > > --- /dev/null > > +++ b/src/intel/compiler/brw_defines_common.h > > @@ -0,0 +1,46 @@ > > +/* > > + * Copyright © 2017 Intel Corporation > > + * > > + * Permission is hereby granted, free of charge, to any person > obtaining a > > + * copy of this software and associated documentation files (the > > "Software"), > > + * to deal in the Software without restriction, including without > > limitation > > + * the rights to use, copy, modify, merge, publish, distribute, > > sublicense, > > + * and/or sell copies of the Software, and to permit persons to > whom the > > + * Software is furnished to do so, subject to the following > conditions: > > + * > > + * The above copyright notice and this permission notice (including > the > > next > > + * paragraph) shall be included in all copies or substantial > portions of > > the > > + * Software. > > + * > > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > EXPRESS > > OR > > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > > MERCHANTABILITY, > > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO > EVENT > > SHALL > > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, > DAMAGES OR > > OTHER > > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > ARISING > > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR > OTHER > > DEALINGS > > + * IN THE SOFTWARE. > > + */ > > + > > +#ifndef BRW_DEFINES_COMMON_H > > +#endif // BRW_DEFINES_COMMON_H > > + > > +enum brw_pixel_shader_computed_depth_mode { > > + BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ > > + BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee about > value > > */ > > + BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= source > depth * > > / > > + BRW_PSCDEPTH_ON_LE = 3, /* PS guarantees output depth <= source > depth * > > / > > > > > > These are provided by the pack header at least on gen8. If they're not > > available elsewhere, we should just add them. > > Hmm... good point. They are values to "Pixel Shader Computed Depth Mode" > in 3DSTATE_PS_EXTRA, which is only available in gen7+, so where would be > a good place for gen6? > 3DSTATE_WM::PixelShaderComputedDepthMode is a boolean so it doesn't have actual enum values. That said, do we need the enum values for gen6? > > +}; > > + > > +enum brw_barycentric_mode { > > + BRW_BARYCENTRIC_PERSPECTIVE_PIXEL = 0, > > + BRW_BARYCENTRIC_PERSPECTIVE_CENTROID= 1, > > + BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE = 2, > > + BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL= 3, > > + BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID = 4, > > + BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE = 5, > > > > > > These are also in the pack header. > > OK. > > > > > + BRW_BARYCENTRIC_MODE_COUNT = 6 > > +}; > > +#define BRW_BARYCENTRIC_NONPERSPECTIVE_BITS \ > > + ((1 << BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL) | \ > > +
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On Tue, May 02, 2017 at 07:26:53AM -0700, Jason Ekstrand wrote: > On Mon, May 1, 2017 at 6:43 PM, Rafael Antognolli >> wrote: > > We need to use some enums inside genX_state_upload.c, but including the > whole header will cause several conflicts between things defined in this > header and the genxml auto-generated headers. > > So create a separate header that is included both by brw_eu_defines.h > and genX_state_upload.c. > > Signed-off-by: Rafael Antognolli > Acked-by: Reviewed-by: Kenneth Graunke > --- > src/intel/Makefile.sources | 1 +- > src/intel/compiler/brw_defines_common.h | 46 ++- > src/intel/compiler/brw_eu_defines.h | 22 + > 3 files changed, 48 insertions(+), 21 deletions(-) > create mode 100644 src/intel/compiler/brw_defines_common.h > > diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > index e9a39a6..652f376 100644 > --- a/src/intel/Makefile.sources > +++ b/src/intel/Makefile.sources > @@ -27,6 +27,7 @@ COMPILER_FILES = \ > compiler/brw_compiler.h \ > compiler/brw_dead_control_flow.cpp \ > compiler/brw_dead_control_flow.h \ > + compiler/brw_defines_common.h \ > compiler/brw_disasm.c \ > compiler/brw_eu.c \ > compiler/brw_eu_compact.c \ > diff --git a/src/intel/compiler/brw_defines_common.h b/src/intel/compiler/ > brw_defines_common.h > new file mode 100644 > index 000..fdae125 > --- /dev/null > +++ b/src/intel/compiler/brw_defines_common.h > @@ -0,0 +1,46 @@ > +/* > + * Copyright © 2017 Intel Corporation > + * > + * Permission is hereby granted, free of charge, to any person obtaining > a > + * copy of this software and associated documentation files (the > "Software"), > + * to deal in the Software without restriction, including without > limitation > + * the rights to use, copy, modify, merge, publish, distribute, > sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice (including the > next > + * paragraph) shall be included in all copies or substantial portions of > the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > EXPRESS > OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT > SHALL > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > OTHER > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, > ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > DEALINGS > + * IN THE SOFTWARE. > + */ > + > +#ifndef BRW_DEFINES_COMMON_H > +#endif // BRW_DEFINES_COMMON_H > + > +enum brw_pixel_shader_computed_depth_mode { > + BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ > + BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee about value > */ > + BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= source depth > * > / > + BRW_PSCDEPTH_ON_LE = 3, /* PS guarantees output depth <= source depth > * > / > > > These are provided by the pack header at least on gen8. If they're not > available elsewhere, we should just add them. Hmm... good point. They are values to "Pixel Shader Computed Depth Mode" in 3DSTATE_PS_EXTRA, which is only available in gen7+, so where would be a good place for gen6? > +}; > + > +enum brw_barycentric_mode { > + BRW_BARYCENTRIC_PERSPECTIVE_PIXEL = 0, > + BRW_BARYCENTRIC_PERSPECTIVE_CENTROID= 1, > + BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE = 2, > + BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL= 3, > + BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID = 4, > + BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE = 5, > > > These are also in the pack header. OK. > > + BRW_BARYCENTRIC_MODE_COUNT = 6 > +}; > +#define BRW_BARYCENTRIC_NONPERSPECTIVE_BITS \ > + ((1 << BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL) | \ > +(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID) | \ > +(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE)) > > I think I can just define in genX_state_upload.c something like: #define BARYCENTRYC_NONPERSPECTIVE_BITS \ BIM_PERSPECTIVE_PIXEL | \ BIM_PERSPECTIVE_CENTROID | \ BIM_PERSPECTIVE_SAMPLE And then I don't have to include that file. > > diff --git a/src/intel/compiler/brw_eu_defines.h b/src/intel/compiler/ > brw_eu_defines.h >
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On Mon, May 1, 2017 at 6:43 PM, Rafael Antognolli < rafael.antogno...@intel.com> wrote: > We need to use some enums inside genX_state_upload.c, but including the > whole header will cause several conflicts between things defined in this > header and the genxml auto-generated headers. > > So create a separate header that is included both by brw_eu_defines.h > and genX_state_upload.c. > > Signed-off-by: Rafael Antognolli> Acked-by: Reviewed-by: Kenneth Graunke > --- > src/intel/Makefile.sources | 1 +- > src/intel/compiler/brw_defines_common.h | 46 ++- > src/intel/compiler/brw_eu_defines.h | 22 + > 3 files changed, 48 insertions(+), 21 deletions(-) > create mode 100644 src/intel/compiler/brw_defines_common.h > > diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > index e9a39a6..652f376 100644 > --- a/src/intel/Makefile.sources > +++ b/src/intel/Makefile.sources > @@ -27,6 +27,7 @@ COMPILER_FILES = \ > compiler/brw_compiler.h \ > compiler/brw_dead_control_flow.cpp \ > compiler/brw_dead_control_flow.h \ > + compiler/brw_defines_common.h \ > compiler/brw_disasm.c \ > compiler/brw_eu.c \ > compiler/brw_eu_compact.c \ > diff --git a/src/intel/compiler/brw_defines_common.h > b/src/intel/compiler/brw_defines_common.h > new file mode 100644 > index 000..fdae125 > --- /dev/null > +++ b/src/intel/compiler/brw_defines_common.h > @@ -0,0 +1,46 @@ > +/* > + * Copyright © 2017 Intel Corporation > + * > + * Permission is hereby granted, free of charge, to any person obtaining a > + * copy of this software and associated documentation files (the > "Software"), > + * to deal in the Software without restriction, including without > limitation > + * the rights to use, copy, modify, merge, publish, distribute, > sublicense, > + * and/or sell copies of the Software, and to permit persons to whom the > + * Software is furnished to do so, subject to the following conditions: > + * > + * The above copyright notice and this permission notice (including the > next > + * paragraph) shall be included in all copies or substantial portions of > the > + * Software. > + * > + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, > EXPRESS OR > + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF > MERCHANTABILITY, > + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT > SHALL > + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR > OTHER > + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER > DEALINGS > + * IN THE SOFTWARE. > + */ > + > +#ifndef BRW_DEFINES_COMMON_H > +#endif // BRW_DEFINES_COMMON_H > + > +enum brw_pixel_shader_computed_depth_mode { > + BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ > + BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee about value > */ > + BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= source depth > */ > + BRW_PSCDEPTH_ON_LE = 3, /* PS guarantees output depth <= source depth > */ > These are provided by the pack header at least on gen8. If they're not available elsewhere, we should just add them. > +}; > + > +enum brw_barycentric_mode { > + BRW_BARYCENTRIC_PERSPECTIVE_PIXEL = 0, > + BRW_BARYCENTRIC_PERSPECTIVE_CENTROID= 1, > + BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE = 2, > + BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL= 3, > + BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID = 4, > + BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE = 5, > These are also in the pack header. > + BRW_BARYCENTRIC_MODE_COUNT = 6 > +}; > +#define BRW_BARYCENTRIC_NONPERSPECTIVE_BITS \ > + ((1 << BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL) | \ > +(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID) | \ > +(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE)) > These are not > diff --git a/src/intel/compiler/brw_eu_defines.h > b/src/intel/compiler/brw_eu_defines.h > index 13a70f6..51f9cbc 100644 > --- a/src/intel/compiler/brw_eu_defines.h > +++ b/src/intel/compiler/brw_eu_defines.h > @@ -33,6 +33,7 @@ > #define BRW_EU_DEFINES_H > > #include "util/macros.h" > +#include "brw_defines_common.h" > > /* The following hunk, up-to "Execution Unit" is used by both the > * intel/compiler and i965 codebase. */ > @@ -72,27 +73,6 @@ > #define _3DPRIM_TRIFAN_NOSTIPPLE 0x16 > #define _3DPRIM_PATCHLIST(n) ({ assert(n > 0 && n <= 32); 0x20 + (n - 1); > }) > > -enum brw_barycentric_mode { > - BRW_BARYCENTRIC_PERSPECTIVE_PIXEL = 0, > - BRW_BARYCENTRIC_PERSPECTIVE_CENTROID= 1, > - BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE = 2, > - BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL= 3, > - BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID = 4, > - BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE = 5, > - BRW_BARYCENTRIC_MODE_COUNT = 6 > -}; >
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On Tue, May 02, 2017 at 09:38:53AM +0100, Emil Velikov wrote: > On 2 May 2017 at 09:32, Emil Velikovwrote: > > Hi Rafael, > > > > On 2 May 2017 at 02:43, Rafael Antognolli > > wrote: > >> We need to use some enums inside genX_state_upload.c, but including the > >> whole header will cause several conflicts between things defined in this > >> header and the genxml auto-generated headers. > >> > >> So create a separate header that is included both by brw_eu_defines.h > >> and genX_state_upload.c. > >> > >> Signed-off-by: Rafael Antognolli > >> Acked-by: Reviewed-by: Kenneth Graunke > >> --- > >> src/intel/Makefile.sources | 1 +- > >> src/intel/compiler/brw_defines_common.h | 46 ++- > >> src/intel/compiler/brw_eu_defines.h | 22 + > >> 3 files changed, 48 insertions(+), 21 deletions(-) > >> create mode 100644 src/intel/compiler/brw_defines_common.h > >> > >> diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > >> index e9a39a6..652f376 100644 > >> --- a/src/intel/Makefile.sources > >> +++ b/src/intel/Makefile.sources > >> @@ -27,6 +27,7 @@ COMPILER_FILES = \ > >> compiler/brw_compiler.h \ > >> compiler/brw_dead_control_flow.cpp \ > >> compiler/brw_dead_control_flow.h \ > >> + compiler/brw_defines_common.h \ > > Amazing, thank you! > > > >> compiler/brw_disasm.c \ > >> compiler/brw_eu.c \ > >> compiler/brw_eu_compact.c \ > >> diff --git a/src/intel/compiler/brw_defines_common.h > >> b/src/intel/compiler/brw_defines_common.h > >> new file mode 100644 > >> index 000..fdae125 > >> --- /dev/null > >> +++ b/src/intel/compiler/brw_defines_common.h > > > >> + > >> +#ifndef BRW_DEFINES_COMMON_H > > You want a "#define BRW_DEFINES_COMMON_H" here > > > >> +#endif // BRW_DEFINES_COMMON_H > >> + > > And this line should be at the end of the file. > > > Forgot to mention: the above is trivial, so I don't bother resending > the series just for that. Ugh, my bad. Thank you. Rafael ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
On 2 May 2017 at 09:32, Emil Velikovwrote: > Hi Rafael, > > On 2 May 2017 at 02:43, Rafael Antognolli wrote: >> We need to use some enums inside genX_state_upload.c, but including the >> whole header will cause several conflicts between things defined in this >> header and the genxml auto-generated headers. >> >> So create a separate header that is included both by brw_eu_defines.h >> and genX_state_upload.c. >> >> Signed-off-by: Rafael Antognolli >> Acked-by: Reviewed-by: Kenneth Graunke >> --- >> src/intel/Makefile.sources | 1 +- >> src/intel/compiler/brw_defines_common.h | 46 ++- >> src/intel/compiler/brw_eu_defines.h | 22 + >> 3 files changed, 48 insertions(+), 21 deletions(-) >> create mode 100644 src/intel/compiler/brw_defines_common.h >> >> diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources >> index e9a39a6..652f376 100644 >> --- a/src/intel/Makefile.sources >> +++ b/src/intel/Makefile.sources >> @@ -27,6 +27,7 @@ COMPILER_FILES = \ >> compiler/brw_compiler.h \ >> compiler/brw_dead_control_flow.cpp \ >> compiler/brw_dead_control_flow.h \ >> + compiler/brw_defines_common.h \ > Amazing, thank you! > >> compiler/brw_disasm.c \ >> compiler/brw_eu.c \ >> compiler/brw_eu_compact.c \ >> diff --git a/src/intel/compiler/brw_defines_common.h >> b/src/intel/compiler/brw_defines_common.h >> new file mode 100644 >> index 000..fdae125 >> --- /dev/null >> +++ b/src/intel/compiler/brw_defines_common.h > >> + >> +#ifndef BRW_DEFINES_COMMON_H > You want a "#define BRW_DEFINES_COMMON_H" here > >> +#endif // BRW_DEFINES_COMMON_H >> + > And this line should be at the end of the file. > Forgot to mention: the above is trivial, so I don't bother resending the series just for that. -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
Hi Rafael, On 2 May 2017 at 02:43, Rafael Antognolliwrote: > We need to use some enums inside genX_state_upload.c, but including the > whole header will cause several conflicts between things defined in this > header and the genxml auto-generated headers. > > So create a separate header that is included both by brw_eu_defines.h > and genX_state_upload.c. > > Signed-off-by: Rafael Antognolli > Acked-by: Reviewed-by: Kenneth Graunke > --- > src/intel/Makefile.sources | 1 +- > src/intel/compiler/brw_defines_common.h | 46 ++- > src/intel/compiler/brw_eu_defines.h | 22 + > 3 files changed, 48 insertions(+), 21 deletions(-) > create mode 100644 src/intel/compiler/brw_defines_common.h > > diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources > index e9a39a6..652f376 100644 > --- a/src/intel/Makefile.sources > +++ b/src/intel/Makefile.sources > @@ -27,6 +27,7 @@ COMPILER_FILES = \ > compiler/brw_compiler.h \ > compiler/brw_dead_control_flow.cpp \ > compiler/brw_dead_control_flow.h \ > + compiler/brw_defines_common.h \ Amazing, thank you! > compiler/brw_disasm.c \ > compiler/brw_eu.c \ > compiler/brw_eu_compact.c \ > diff --git a/src/intel/compiler/brw_defines_common.h > b/src/intel/compiler/brw_defines_common.h > new file mode 100644 > index 000..fdae125 > --- /dev/null > +++ b/src/intel/compiler/brw_defines_common.h > + > +#ifndef BRW_DEFINES_COMMON_H You want a "#define BRW_DEFINES_COMMON_H" here > +#endif // BRW_DEFINES_COMMON_H > + And this line should be at the end of the file. -Emil ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH v03 12/38] i965: Split out enum from brw_eu_defines.h
We need to use some enums inside genX_state_upload.c, but including the whole header will cause several conflicts between things defined in this header and the genxml auto-generated headers. So create a separate header that is included both by brw_eu_defines.h and genX_state_upload.c. Signed-off-by: Rafael AntognolliAcked-by: Reviewed-by: Kenneth Graunke --- src/intel/Makefile.sources | 1 +- src/intel/compiler/brw_defines_common.h | 46 ++- src/intel/compiler/brw_eu_defines.h | 22 + 3 files changed, 48 insertions(+), 21 deletions(-) create mode 100644 src/intel/compiler/brw_defines_common.h diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources index e9a39a6..652f376 100644 --- a/src/intel/Makefile.sources +++ b/src/intel/Makefile.sources @@ -27,6 +27,7 @@ COMPILER_FILES = \ compiler/brw_compiler.h \ compiler/brw_dead_control_flow.cpp \ compiler/brw_dead_control_flow.h \ + compiler/brw_defines_common.h \ compiler/brw_disasm.c \ compiler/brw_eu.c \ compiler/brw_eu_compact.c \ diff --git a/src/intel/compiler/brw_defines_common.h b/src/intel/compiler/brw_defines_common.h new file mode 100644 index 000..fdae125 --- /dev/null +++ b/src/intel/compiler/brw_defines_common.h @@ -0,0 +1,46 @@ +/* + * Copyright © 2017 Intel Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#ifndef BRW_DEFINES_COMMON_H +#endif // BRW_DEFINES_COMMON_H + +enum brw_pixel_shader_computed_depth_mode { + BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ + BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee about value */ + BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= source depth */ + BRW_PSCDEPTH_ON_LE = 3, /* PS guarantees output depth <= source depth */ +}; + +enum brw_barycentric_mode { + BRW_BARYCENTRIC_PERSPECTIVE_PIXEL = 0, + BRW_BARYCENTRIC_PERSPECTIVE_CENTROID= 1, + BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE = 2, + BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL= 3, + BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID = 4, + BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE = 5, + BRW_BARYCENTRIC_MODE_COUNT = 6 +}; +#define BRW_BARYCENTRIC_NONPERSPECTIVE_BITS \ + ((1 << BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL) | \ +(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID) | \ +(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE)) diff --git a/src/intel/compiler/brw_eu_defines.h b/src/intel/compiler/brw_eu_defines.h index 13a70f6..51f9cbc 100644 --- a/src/intel/compiler/brw_eu_defines.h +++ b/src/intel/compiler/brw_eu_defines.h @@ -33,6 +33,7 @@ #define BRW_EU_DEFINES_H #include "util/macros.h" +#include "brw_defines_common.h" /* The following hunk, up-to "Execution Unit" is used by both the * intel/compiler and i965 codebase. */ @@ -72,27 +73,6 @@ #define _3DPRIM_TRIFAN_NOSTIPPLE 0x16 #define _3DPRIM_PATCHLIST(n) ({ assert(n > 0 && n <= 32); 0x20 + (n - 1); }) -enum brw_barycentric_mode { - BRW_BARYCENTRIC_PERSPECTIVE_PIXEL = 0, - BRW_BARYCENTRIC_PERSPECTIVE_CENTROID= 1, - BRW_BARYCENTRIC_PERSPECTIVE_SAMPLE = 2, - BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL= 3, - BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID = 4, - BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE = 5, - BRW_BARYCENTRIC_MODE_COUNT = 6 -}; -#define BRW_BARYCENTRIC_NONPERSPECTIVE_BITS \ - ((1 << BRW_BARYCENTRIC_NONPERSPECTIVE_PIXEL) | \ -(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_CENTROID) | \ -(1 << BRW_BARYCENTRIC_NONPERSPECTIVE_SAMPLE)) - -enum brw_pixel_shader_computed_depth_mode { - BRW_PSCDEPTH_OFF = 0, /* PS does not compute depth */ - BRW_PSCDEPTH_ON= 1, /* PS computes depth; no guarantee about value */ - BRW_PSCDEPTH_ON_GE = 2, /* PS guarantees output depth >= source depth */ - BRW_PSCDEPTH_ON_LE = 3, /* PS