mirror of
https://github.com/azahar-emu/azahar.git
synced 2025-04-28 13:47:59 +03:00
GPU: Add more fine grained profiling for vertex shader and rasterization
This commit is contained in:
parent
cb2b2071a8
commit
def5913d19
2 changed files with 10 additions and 0 deletions
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "common/common_types.h"
|
||||
#include "common/math_util.h"
|
||||
#include "common/profiler.h"
|
||||
|
||||
#include "core/hw/gpu.h"
|
||||
#include "debug_utils/debug_utils.h"
|
||||
|
@ -186,6 +187,8 @@ static int SignedArea (const Math::Vec2<Fix12P4>& vtx1,
|
|||
return Math::Cross(vec1, vec2).z;
|
||||
};
|
||||
|
||||
static Common::Profiling::TimingCategory rasterization_category("Rasterization");
|
||||
|
||||
/**
|
||||
* Helper function for ProcessTriangle with the "reversed" flag to allow for implementing
|
||||
* culling via recursion.
|
||||
|
@ -195,6 +198,8 @@ static void ProcessTriangleInternal(const VertexShader::OutputVertex& v0,
|
|||
const VertexShader::OutputVertex& v2,
|
||||
bool reversed = false)
|
||||
{
|
||||
Common::Profiling::ScopeTimer timer(rasterization_category);
|
||||
|
||||
// vertex positions in rasterizer coordinates
|
||||
static auto FloatToFix = [](float24 flt) {
|
||||
// TODO: Rounding here is necessary to prevent garbage pixels at
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue