On Wed, Sep 16, 2015 at 7:34 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > On Wed, Sep 16, 2015 at 7:30 PM, Rob Clark <robdcl...@gmail.com> wrote: >> On Sun, Sep 13, 2015 at 11:51 AM, Rob Clark <robdcl...@gmail.com> wrote: >>> From: Rob Clark <robcl...@freedesktop.org> >>> >>> Used internally in freedreno/ir3 to calc stream-out position. Seems >>> like a generic enough way to implement stream-out (using str instrs), >>> plus it avoids compiler warnings by sneaking in a non-enum value in >>> switch statements. >>> >>> Signed-off-by: Rob Clark <robcl...@freedesktop.org> >> >> Anyone got any strong opinions about this? At least a Meh'd-by? I'd >> like to push the freedreno/ir3 conversion to >> varying_slot_/frag_result_/etc, but need a way to handle my internal >> vtxcnt sysval, but don't want to step on any toes.. >> >> I could alternatively do something like SYSTEM_VALUE_DRIVERn which >> gets re-#defined in freedreno/ir3? > > It's definitely a bit weird to define these driver-specific things > that generic things know nothing about. I think it made a lot more > sense when it was completely driver-private with a TGSI semantic. Any > reason you can't just do that here? Start defining private ones > starting at SYSTEM_VALUE_MAX?
mostly because gcc gives a warning about non enum values in an enum switch statement.. it wasn't an issue w/ tgsi semantic's since everything was #define BR, -R >> >> BR, >> -R >> >>> --- >>> src/glsl/shader_enums.h | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/src/glsl/shader_enums.h b/src/glsl/shader_enums.h >>> index d054b87..fb4bcd0 100644 >>> --- a/src/glsl/shader_enums.h >>> +++ b/src/glsl/shader_enums.h >>> @@ -402,6 +402,12 @@ typedef enum >>> SYSTEM_VALUE_TESS_LEVEL_INNER, /**< TES input */ >>> /*@}*/ >>> >>> + /** >>> + * Driver internal vertex-count, used (for example) for drivers to >>> + * calculate stride for stream-out outputs. Not externally visible. >>> + */ >>> + SYSTEM_VALUE_VERTEX_CNT, >>> + >>> SYSTEM_VALUE_MAX /**< Number of values */ >>> } gl_system_value; >>> >>> -- >>> 2.4.3 >>> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev