A few points to note here: (a) We're obviously faking MSAA support here -- not actually supporting the 4x MSAA that GL 3.0 requires (although the HW does support that) (b) We're only exposing 4 MRT's -- that is a HW limit. I guess one could do something with a second per-tile runthrough for the additional MRTs. This might complicate matters for e.g. transform feedback and atomics. (c) It appears that gl_ClipVertex is still broken (but that's a GL2 feature) -- should be emulatable same way gl_ClipDistance is.
Outside of those points we do end up with a mostly conformant GL implementation. There are a few minor additional items, like the polygon offset not enableable based on polygon mode, and probably a few others. I think in spite of that it's reasonable to enable GL3/3.1 for freedreno/a3xx. -ilia On Sun, Nov 8, 2015 at 12:29 AM, Ilia Mirkin <imir...@alum.mit.edu> wrote: > Signed-off-by: Ilia Mirkin <imir...@alum.mit.edu> > --- > src/gallium/drivers/freedreno/freedreno_screen.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c > b/src/gallium/drivers/freedreno/freedreno_screen.c > index 8529f86..9d2cd31 100644 > --- a/src/gallium/drivers/freedreno/freedreno_screen.c > +++ b/src/gallium/drivers/freedreno/freedreno_screen.c > @@ -177,6 +177,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_TEXTURE_HALF_FLOAT_LINEAR: > case PIPE_CAP_CONDITIONAL_RENDER: > case PIPE_CAP_CONDITIONAL_RENDER_INVERTED: > + case PIPE_CAP_FAKE_SW_MSAA: > return is_a3xx(screen) || is_a4xx(screen); > > case PIPE_CAP_TEXTURE_BUFFER_OFFSET_ALIGNMENT: > @@ -206,7 +207,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_GLSL_FEATURE_LEVEL: > if (glsl120) > return 120; > - return is_ir3(screen) ? 130 : 120; > + return is_ir3(screen) ? 140 : 120; > > /* Unsupported features. */ > case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT: > @@ -221,7 +222,6 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum > pipe_cap param) > case PIPE_CAP_TGSI_VS_LAYER_VIEWPORT: > case PIPE_CAP_MAX_TEXTURE_GATHER_COMPONENTS: > case PIPE_CAP_TEXTURE_GATHER_SM5: > - case PIPE_CAP_FAKE_SW_MSAA: > case PIPE_CAP_TEXTURE_QUERY_LOD: > case PIPE_CAP_SAMPLE_SHADING: > case PIPE_CAP_TEXTURE_GATHER_OFFSETS: > -- > 2.4.10 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev