summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Rowley <[email protected]>2017-02-16 14:48:28 -0800
committerTim Rowley <[email protected]>2017-03-20 18:04:53 -0500
commitab04221bf1064fbd95702c4eb8f197c20962d692 (patch)
tree4885988f9d917e8ebe89a0a747f7759377f0f332
parentb228d2db188b4320c4f5ddbd13be32f8c0c6fa02 (diff)
swr: [rasterizer archrast] Fix performance issue with archrast stats
Performance is now 50x faster with archrast now that we're properly filtering out all of the rdtsc begin/end. Reviewed-by: Bruce Cherniak <[email protected]>
-rw-r--r--src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp b/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp
index 5bb1c7b337c..5216c1b5e24 100644
--- a/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp
+++ b/src/gallium/drivers/swr/rasterizer/archrast/archrast.cpp
@@ -88,10 +88,10 @@ namespace ArchRast
EventHandlerStatsFile(uint32_t id) : EventHandlerFile(id) {}
// These are events that we're not interested in saving in stats event files.
- virtual void Handle(Start& event) {}
- virtual void Handle(End& event) {}
+ virtual void Handle(Start event) {}
+ virtual void Handle(End event) {}
- virtual void Handle(EarlyDepthStencilInfoSingleSample& event)
+ virtual void Handle(EarlyDepthStencilInfoSingleSample event)
{
//earlyZ test compute
DSSingleSample.earlyZTestPassCount += _mm_popcnt_u32(event.data.depthPassMask);
@@ -112,7 +112,7 @@ namespace ArchRast
DSOmZ.earlyStencilTestCount += DSSingleSample.earlyStencilTestCount;
}
- virtual void Handle(EarlyDepthStencilInfoSampleRate& event)
+ virtual void Handle(EarlyDepthStencilInfoSampleRate event)
{
//earlyZ test compute
DSSampleRate.earlyZTestPassCount += _mm_popcnt_u32(event.data.depthPassMask);
@@ -133,7 +133,7 @@ namespace ArchRast
DSOmZ.earlyStencilTestCount += DSSampleRate.earlyStencilTestCount;
}
- virtual void Handle(EarlyDepthStencilInfoNullPS& event)
+ virtual void Handle(EarlyDepthStencilInfoNullPS event)
{
//earlyZ test compute
DSNullPS.earlyZTestPassCount += _mm_popcnt_u32(event.data.depthPassMask);
@@ -154,7 +154,7 @@ namespace ArchRast
DSOmZ.earlyStencilTestCount += DSNullPS.earlyStencilTestCount;
}
- virtual void Handle(LateDepthStencilInfoSingleSample& event)
+ virtual void Handle(LateDepthStencilInfoSingleSample event)
{
//lateZ test compute
DSSingleSample.lateZTestPassCount += _mm_popcnt_u32(event.data.depthPassMask);
@@ -175,7 +175,7 @@ namespace ArchRast
DSOmZ.lateStencilTestCount += DSSingleSample.lateStencilTestCount;
}
- virtual void Handle(LateDepthStencilInfoSampleRate& event)
+ virtual void Handle(LateDepthStencilInfoSampleRate event)
{
//lateZ test compute
DSSampleRate.lateZTestPassCount += _mm_popcnt_u32(event.data.depthPassMask);
@@ -196,7 +196,7 @@ namespace ArchRast
DSOmZ.lateStencilTestCount += DSSampleRate.lateStencilTestCount;
}
- virtual void Handle(LateDepthStencilInfoNullPS& event)
+ virtual void Handle(LateDepthStencilInfoNullPS event)
{
//lateZ test compute
DSNullPS.lateZTestPassCount += _mm_popcnt_u32(event.data.depthPassMask);
@@ -217,7 +217,7 @@ namespace ArchRast
DSOmZ.lateStencilTestCount += DSNullPS.lateStencilTestCount;
}
- virtual void Handle(EarlyDepthInfoPixelRate& event)
+ virtual void Handle(EarlyDepthInfoPixelRate event)
{
//earlyZ test compute
DSPixelRate.earlyZTestCount += _mm_popcnt_u32(event.data.activeLanes);
@@ -231,7 +231,7 @@ namespace ArchRast
}
- virtual void Handle(LateDepthInfoPixelRate& event)
+ virtual void Handle(LateDepthInfoPixelRate event)
{
//lateZ test compute
DSPixelRate.lateZTestCount += _mm_popcnt_u32(event.data.activeLanes);
@@ -246,7 +246,7 @@ namespace ArchRast
}
- virtual void Handle(BackendDrawEndEvent& event)
+ virtual void Handle(BackendDrawEndEvent event)
{
//singleSample
EventHandlerFile::Handle(EarlyZSingleSample(event.data.drawId, DSSingleSample.earlyZTestPassCount, DSSingleSample.earlyZTestFailCount, DSSingleSample.earlyZTestCount));
@@ -283,7 +283,7 @@ namespace ArchRast
DSOmZ = {};
}
- virtual void Handle(FrontendDrawEndEvent& event)
+ virtual void Handle(FrontendDrawEndEvent event)
{
//Clipper
EventHandlerFile::Handle(VertsClipped(event.data.drawId, CS.clippedVerts));
@@ -302,19 +302,19 @@ namespace ArchRast
GS = {};
}
- virtual void Handle(GSPrimInfo& event)
+ virtual void Handle(GSPrimInfo event)
{
GS.inputPrimCount += event.data.inputPrimCount;
GS.primGeneratedCount += event.data.primGeneratedCount;
GS.vertsInput += event.data.vertsInput;
}
- virtual void Handle(ClipVertexCount& event)
+ virtual void Handle(ClipVertexCount event)
{
CS.clippedVerts += (_mm_popcnt_u32(event.data.primMask) * event.data.vertsPerPrim);
}
- virtual void Handle(TessPrimCount& event)
+ virtual void Handle(TessPrimCount event)
{
TS.inputPrims += event.data.primCount;
}