Reviewed-by: Marek Olšák <marek.ol...@amd.com> For Gallium, a new PIPE_CAP or new get_xxx_param function will be needed.
Marek On Mon, Jun 22, 2015 at 8:41 PM, Ian Romanick <i...@freedesktop.org> wrote: > From: Ian Romanick <ian.d.roman...@intel.com> > > Commit b765119c changed the default value of all the counter bits to > 64. However, older hardware only has 32 counter bits. > > This has only been build-tested. We don't have any tests that verify > the advertised value against implementation behavior, so I don't know > what additional testing could be done. > > NOTE: It appears that many Gallium drivers (at least r300 and i915g) > have the same problem, but I don't see a way for the state-tracker to > determine the counter size. > > Signed-off-by: Ian Romanick <ian.d.roman...@intel.com> > Cc: Marek Olšák <marek.ol...@amd.com> > Cc: Alex Deucher <alexander.deuc...@amd.com> > --- > .../drivers/dri/radeon/radeon_common_context.c | 23 > ++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c > b/src/mesa/drivers/dri/radeon/radeon_common_context.c > index 9699dcb..3d0ceda 100644 > --- a/src/mesa/drivers/dri/radeon/radeon_common_context.c > +++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c > @@ -194,6 +194,29 @@ GLboolean radeonInitContext(radeonContextPtr radeon, > > radeon_init_dma(radeon); > > + /* _mesa_initialize_context calls _mesa_init_queryobj which > + * initializes all of the counter sizes to 64. The counters on r100 > + * and r200 are only 32-bits for occlusion queries. Those are the > + * only counters, so set the other sizes to zero. > + */ > + radeon->glCtx.Const.QueryCounterBits.SamplesPassed = 32; > + > + radeon->glCtx.Const.QueryCounterBits.TimeElapsed = 0; > + radeon->glCtx.Const.QueryCounterBits.Timestamp = 0; > + radeon->glCtx.Const.QueryCounterBits.PrimitivesGenerated = 0; > + radeon->glCtx.Const.QueryCounterBits.PrimitivesWritten = 0; > + radeon->glCtx.Const.QueryCounterBits.VerticesSubmitted = 0; > + radeon->glCtx.Const.QueryCounterBits.PrimitivesSubmitted = 0; > + radeon->glCtx.Const.QueryCounterBits.VsInvocations = 0; > + radeon->glCtx.Const.QueryCounterBits.TessPatches = 0; > + radeon->glCtx.Const.QueryCounterBits.TessInvocations = 0; > + radeon->glCtx.Const.QueryCounterBits.GsInvocations = 0; > + radeon->glCtx.Const.QueryCounterBits.GsPrimitives = 0; > + radeon->glCtx.Const.QueryCounterBits.FsInvocations = 0; > + radeon->glCtx.Const.QueryCounterBits.ComputeInvocations = 0; > + radeon->glCtx.Const.QueryCounterBits.ClInPrimitives = 0; > + radeon->glCtx.Const.QueryCounterBits.ClOutPrimitives = 0; > + > return GL_TRUE; > } > > -- > 2.1.0 > > _______________________________________________ > 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