mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 08:30:10 +01:00
radeon: Advertise correct GL_QUERY_COUNTER_BITS/GL_SAMPLES_PASSED value
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. Marek says, "For Gallium, a new PIPE_CAP or
new get_xxx_param function will be needed."
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
b2c6ba0c4b
commit
9f261dc18d
1 changed files with 23 additions and 0 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue