Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
virgl-es
mesa
Commits
98f3ff8f
Commit
98f3ff8f
authored
Aug 20, 2010
by
Keith Whitwell
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
llvmpipe: more rasterization counters
parent
5a45e53d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
29 additions
and
6 deletions
+29
-6
src/gallium/drivers/llvmpipe/lp_perf.c
src/gallium/drivers/llvmpipe/lp_perf.c
+15
-6
src/gallium/drivers/llvmpipe/lp_perf.h
src/gallium/drivers/llvmpipe/lp_perf.h
+7
-0
src/gallium/drivers/llvmpipe/lp_rast_tri_tmp.h
src/gallium/drivers/llvmpipe/lp_rast_tri_tmp.h
+7
-0
No files found.
src/gallium/drivers/llvmpipe/lp_perf.c
View file @
98f3ff8f
...
...
@@ -46,7 +46,7 @@ lp_print_counters(void)
{
if
(
LP_DEBUG
&
DEBUG_COUNTERS
)
{
unsigned
total_64
,
total_16
,
total_4
;
float
p1
,
p2
,
p3
,
p
4
;
float
p1
,
p2
,
p3
,
p
5
,
p6
;
debug_printf
(
"llvmpipe: nr_triangles: %9u
\n
"
,
lp_count
.
nr_tris
);
debug_printf
(
"llvmpipe: nr_culled_triangles: %9u
\n
"
,
lp_count
.
nr_culled_tris
);
...
...
@@ -58,11 +58,15 @@ lp_print_counters(void)
p1
=
100
.
0
*
(
float
)
lp_count
.
nr_empty_64
/
(
float
)
total_64
;
p2
=
100
.
0
*
(
float
)
lp_count
.
nr_fully_covered_64
/
(
float
)
total_64
;
p3
=
100
.
0
*
(
float
)
lp_count
.
nr_partially_covered_64
/
(
float
)
total_64
;
p4
=
100
.
0
*
(
float
)
lp_count
.
nr_shade_opaque_64
/
(
float
)
total_64
;
p5
=
100
.
0
*
(
float
)
lp_count
.
nr_shade_opaque_64
/
(
float
)
total_64
;
p6
=
100
.
0
*
(
float
)
lp_count
.
nr_shade_64
/
(
float
)
total_64
;
debug_printf
(
"llvmpipe: nr_64x64: %9u
\n
"
,
total_64
);
debug_printf
(
"llvmpipe: nr_fully_covered_64x64: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_fully_covered_64
,
p2
,
total_64
);
debug_printf
(
"llvmpipe: nr_shade_opaque_64x64: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_shade_opaque_64
,
p4
,
total_64
);
debug_printf
(
"llvmpipe: nr_shade_opaque_64x64: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_shade_opaque_64
,
p5
,
total_64
);
debug_printf
(
"llvmpipe: nr_pure_shade_opaque: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_pure_shade_opaque_64
,
0
.
0
,
lp_count
.
nr_shade_opaque_64
);
debug_printf
(
"llvmpipe: nr_shade_64x64: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_shade_64
,
p6
,
total_64
);
debug_printf
(
"llvmpipe: nr_pure_shade: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_pure_shade_64
,
0
.
0
,
lp_count
.
nr_shade_64
);
debug_printf
(
"llvmpipe: nr_partially_covered_64x64: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_partially_covered_64
,
p3
,
total_64
);
debug_printf
(
"llvmpipe: nr_empty_64x64: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_empty_64
,
p1
,
total_64
);
...
...
@@ -79,12 +83,17 @@ lp_print_counters(void)
debug_printf
(
"llvmpipe: nr_partially_covered_16x16: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_partially_covered_16
,
p3
,
total_16
);
debug_printf
(
"llvmpipe: nr_empty_16x16: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_empty_16
,
p1
,
total_16
);
total_4
=
(
lp_count
.
nr_empty_4
+
lp_count
.
nr_non_empty_4
);
total_4
=
(
lp_count
.
nr_empty_4
+
lp_count
.
nr_fully_covered_4
+
lp_count
.
nr_partially_covered_4
);
p1
=
100
.
0
*
(
float
)
lp_count
.
nr_empty_4
/
(
float
)
total_4
;
p2
=
100
.
0
*
(
float
)
lp_count
.
nr_non_empty_4
/
(
float
)
total_4
;
p2
=
100
.
0
*
(
float
)
lp_count
.
nr_fully_covered_4
/
(
float
)
total_4
;
p3
=
100
.
0
*
(
float
)
lp_count
.
nr_partially_covered_4
/
(
float
)
total_4
;
debug_printf
(
"llvmpipe: nr_4x4: %9u
\n
"
,
total_4
);
debug_printf
(
"llvmpipe: nr_tri_4x4: %9u
\n
"
,
total_4
);
debug_printf
(
"llvmpipe: nr_fully_covered_4x4: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_fully_covered_4
,
p2
,
total_4
);
debug_printf
(
"llvmpipe: nr_partially_covered_4x4: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_partially_covered_4
,
p3
,
total_4
);
debug_printf
(
"llvmpipe: nr_empty_4x4: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_empty_4
,
p1
,
total_4
);
debug_printf
(
"llvmpipe: nr_non_empty_4x4: %9u (%3.0f%% of %u)
\n
"
,
lp_count
.
nr_non_empty_4
,
p2
,
total_4
);
...
...
src/gallium/drivers/llvmpipe/lp_perf.h
View file @
98f3ff8f
...
...
@@ -44,11 +44,16 @@ struct lp_counters
unsigned
nr_empty_64
;
unsigned
nr_fully_covered_64
;
unsigned
nr_partially_covered_64
;
unsigned
nr_pure_shade_opaque_64
;
unsigned
nr_pure_shade_64
;
unsigned
nr_shade_64
;
unsigned
nr_shade_opaque_64
;
unsigned
nr_empty_16
;
unsigned
nr_fully_covered_16
;
unsigned
nr_partially_covered_16
;
unsigned
nr_empty_4
;
unsigned
nr_fully_covered_4
;
unsigned
nr_partially_covered_4
;
unsigned
nr_non_empty_4
;
unsigned
nr_llvm_compiles
;
int64_t
llvm_compile_time
;
/**< total, in microseconds */
...
...
@@ -66,9 +71,11 @@ extern struct lp_counters lp_count;
#ifdef DEBUG
#define LP_COUNT(counter) lp_count.counter++
#define LP_COUNT_ADD(counter, incr) lp_count.counter += (incr)
#define LP_COUNT_GET(counter) (lp_count.counter)
#else
#define LP_COUNT(counter)
#define LP_COUNT_ADD(counter, incr) (void) incr
#define LP_COUNT_GET(counter) 0
#endif
...
...
src/gallium/drivers/llvmpipe/lp_rast_tri_tmp.h
View file @
98f3ff8f
...
...
@@ -102,6 +102,8 @@ TAG(do_block_16)(struct lp_rasterizer_task *task,
assert
((
partial_mask
&
inmask
)
==
0
);
LP_COUNT_ADD
(
nr_empty_4
,
util_bitcount
(
0xffff
&
~
(
partial_mask
|
inmask
)));
/* Iterate over partials:
*/
while
(
partial_mask
)
{
...
...
@@ -114,6 +116,8 @@ TAG(do_block_16)(struct lp_rasterizer_task *task,
partial_mask
&=
~
(
1
<<
i
);
LP_COUNT
(
nr_partially_covered_4
);
for
(
j
=
0
;
j
<
NR_PLANES
;
j
++
)
cx
[
j
]
=
(
c
[
j
]
-
plane
[
j
].
dcdx
*
ix
...
...
@@ -133,6 +137,7 @@ TAG(do_block_16)(struct lp_rasterizer_task *task,
inmask
&=
~
(
1
<<
i
);
LP_COUNT
(
nr_fully_covered_4
);
block_full_4
(
task
,
tri
,
px
,
py
);
}
}
...
...
@@ -190,6 +195,8 @@ TAG(lp_rast_triangle)(struct lp_rasterizer_task *task,
assert
((
partial_mask
&
inmask
)
==
0
);
LP_COUNT_ADD
(
nr_empty_16
,
util_bitcount
(
0xffff
&
~
(
partial_mask
|
inmask
)));
/* Iterate over partials:
*/
while
(
partial_mask
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment